{ "version": 3, "sources": ["../../../../../apps/frappe/frappe/public/js/frappe/form/controls/int.js", "../../../../../apps/frappe/node_modules/awesomplete/awesomplete.js", "../../../../../apps/frappe/node_modules/quill/dist/quill.js", "../../../../../apps/frappe/node_modules/quill-image-resize/image-resize.min.js", "../../../../../apps/frappe/node_modules/quill-magic-url/dist/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/Barcode.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE39/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/auto.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/CODE128/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/ITF/constants.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/ITF/ITF.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/ITF/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/MSI.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/checksums.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/MSI/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/codabar/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/barcodes/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/help/merge.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/help/linearizeEncodings.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/help/fixOptions.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/help/optionsFromStrings.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/options/defaults.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/help/getOptionsFromElement.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/renderers/shared.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/renderers/canvas.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/renderers/svg.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/renderers/object.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/renderers/index.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/exceptions/exceptions.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/help/getRenderProperties.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/exceptions/ErrorHandler.js", "../../../../../apps/frappe/node_modules/jsbarcode/bin/JsBarcode.js", "../../../../../apps/frappe/node_modules/localforage/dist/localforage.js", "../../../../../apps/frappe/node_modules/moment/moment.js", "../../../../../apps/frappe/node_modules/moment-timezone/builds/moment-timezone-with-data-10-year-range.min.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/datepicker.min.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.cs.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.da.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.de.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.en.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.es.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.fi.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.fr.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.hu.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.nl.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.pl.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.pt-BR.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.pt.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.ro.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.sk.js", "../../../../../apps/frappe/node_modules/air-datepicker/dist/js/i18n/datepicker.zh.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/datepicker_i18n.js", "../../../../../apps/frappe/frappe/public/js/frappe/ui/capture.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/base_control.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/base_input.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/data.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/control.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/float.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/currency.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/date.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/time.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/datetime.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/date_range.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/select.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/link.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/dynamic_link.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/text.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/code.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/text_editor.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/comment.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/quill-mention/quill.mention.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/quill-mention/constants/keys.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/quill-mention/blots/mention.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/check.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/image.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/attach.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/attach_image.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/grid_row_form.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/grid_row.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/grid_pagination.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/grid.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/table.js", "../../../../../apps/frappe/frappe/public/js/frappe/color_picker/utils.js", "../../../../../apps/frappe/frappe/public/js/frappe/color_picker/color_picker.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/color.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/signature.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/password.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/button.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/html.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/markdown_editor.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/html_editor.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/heading.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/autocomplete.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/barcode.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/geolocation.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/multiselect.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/multicheck.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/table_multiselect.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/multiselect_pills.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/multiselect_list.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/rating.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/duration.js", "../../../../../apps/frappe/frappe/public/js/frappe/icon_picker/icon_picker.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/icon.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/phone.js", "../../../../../apps/frappe/frappe/public/js/frappe/phone_picker/phone_picker.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/controls/json.js", "../../../../../apps/frappe/frappe/public/js/frappe/dom.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/formatters.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/section.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/tab.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/column.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/layout.js", "../../../../../apps/frappe/frappe/public/js/frappe/ui/field_group.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/link_selector.js", "../../../../../apps/frappe/frappe/public/js/frappe/form/multi_select_dialog.js", "../../../../../apps/frappe/frappe/public/js/frappe/ui/dialog.js", "../../../../../apps/frappe/frappe/public/js/lib/moment.js", "../../../../../apps/frappe/frappe/public/js/frappe/ui/alt_keyboard_shortcuts.js", "../../../../../apps/frappe/frappe/public/js/frappe/ui/keyboard.js", "../../../../../apps/frappe/frappe/public/js/frappe/utils/datetime.js", "../../../../../apps/frappe/frappe/public/js/frappe/web_form/web_form_list.js", "../../../../../apps/frappe/frappe/public/js/frappe/event_emitter.js", "../../../../../apps/frappe/frappe/public/js/frappe/web_form/web_form.js", "../../../../../apps/frappe/frappe/public/js/frappe/web_form/webform_script.js", "../../../../../apps/frappe/frappe/public/js/bootstrap-4-web.bundle.js"], "sourcesContent": ["frappe.ui.form.ControlInt = class ControlInt extends frappe.ui.form.ControlData {\n\tstatic trigger_change_on_input_event = false;\n\tstatic input_mode = \"numeric\";\n\tmake() {\n\t\tsuper.make();\n\t}\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.$input.on(\"focus\", () => {\n\t\t\tdocument.activeElement?.select?.();\n\t\t\treturn false;\n\t\t});\n\t}\n\tvalidate(value) {\n\t\treturn this.parse(value);\n\t}\n\teval_expression(value) {\n\t\tif (typeof value === \"string\") {\n\t\t\tconst parsed_components = value.match(/[^\\d.,]+|[\\d.,]+/g);\n\t\t\tvar parsed_value = value;\n\t\t\tif (parsed_components !== null) {\n\t\t\t\tparsed_value = parsed_components\n\t\t\t\t\t.map((v) => {\n\t\t\t\t\t\treturn isNaN(parseFloat(v)) ? v : flt(v);\n\t\t\t\t\t})\n\t\t\t\t\t.join(\"\");\n\t\t\t}\n\t\t\tif (parsed_value.match(/^[0-9+\\-/*.() ]+$/)) {\n\t\t\t\t// If it is a string containing operators\n\t\t\t\ttry {\n\t\t\t\t\treturn eval(parsed_value);\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// bad expression\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\tparse(value) {\n\t\treturn cint(this.eval_expression(value), null);\n\t}\n};\n\nfrappe.ui.form.ControlLongInt = frappe.ui.form.ControlInt;\n", "/**\n * Simple, lightweight, usable local autocomplete library for modern browsers\n * Because there weren\u2019t enough autocomplete scripts in the world? Because I\u2019m completely insane and have NIH syndrome? Probably both. :P\n * @author Lea Verou http://leaverou.github.io/awesomplete\n * MIT license\n */\n\n(function () {\n\nvar _ = function (input, o) {\n\tvar me = this;\n\n // Keep track of number of instances for unique IDs\n _.count = (_.count || 0) + 1;\n this.count = _.count;\n\n\t// Setup\n\n\tthis.isOpened = false;\n\n\tthis.input = $(input);\n\tthis.input.setAttribute(\"autocomplete\", \"off\");\n\tthis.input.setAttribute(\"aria-expanded\", \"false\");\n\tthis.input.setAttribute(\"aria-owns\", \"awesomplete_list_\" + this.count);\n\tthis.input.setAttribute(\"role\", \"combobox\");\n\n\t// store constructor options in case we need to distinguish\n\t// between default and customized behavior later on\n\tthis.options = o = o || {};\n\n\tconfigure(this, {\n\t\tminChars: 2,\n\t\tmaxItems: 10,\n\t\tautoFirst: false,\n\t\tdata: _.DATA,\n\t\tfilter: _.FILTER_CONTAINS,\n\t\tsort: o.sort === false ? false : _.SORT_BYLENGTH,\n\t\tcontainer: _.CONTAINER,\n\t\titem: _.ITEM,\n\t\treplace: _.REPLACE,\n\t\ttabSelect: false\n\t}, o);\n\n\tthis.index = -1;\n\n\t// Create necessary elements\n\n\tthis.container = this.container(input);\n\n\tthis.ul = $.create(\"ul\", {\n\t\thidden: \"hidden\",\n role: \"listbox\",\n id: \"awesomplete_list_\" + this.count,\n\t\tinside: this.container\n\t});\n\n\tthis.status = $.create(\"span\", {\n\t\tclassName: \"visually-hidden\",\n\t\trole: \"status\",\n\t\t\"aria-live\": \"assertive\",\n \"aria-atomic\": true,\n inside: this.container,\n textContent: this.minChars != 0 ? (\"Type \" + this.minChars + \" or more characters for results.\") : \"Begin typing for results.\"\n\t});\n\n\t// Bind events\n\n\tthis._events = {\n\t\tinput: {\n\t\t\t\"input\": this.evaluate.bind(this),\n\t\t\t\"blur\": this.close.bind(this, { reason: \"blur\" }),\n\t\t\t\"keydown\": function(evt) {\n\t\t\t\tvar c = evt.keyCode;\n\n\t\t\t\t// If the dropdown `ul` is in view, then act on keydown for the following keys:\n\t\t\t\t// Enter / Esc / Up / Down\n\t\t\t\tif(me.opened) {\n\t\t\t\t\tif (c === 13 && me.selected) { // Enter\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\tme.select(undefined, undefined, evt);\n\t\t\t\t\t}\n\t\t\t\t\telse if (c === 9 && me.selected && me.tabSelect) {\n\t\t\t\t\t\tme.select(undefined, undefined, evt);\n\t\t\t\t\t}\n\t\t\t\t\telse if (c === 27) { // Esc\n\t\t\t\t\t\tme.close({ reason: \"esc\" });\n\t\t\t\t\t}\n\t\t\t\t\telse if (c === 38 || c === 40) { // Down/Up arrow\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\tme[c === 38? \"previous\" : \"next\"]();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tform: {\n\t\t\t\"submit\": this.close.bind(this, { reason: \"submit\" })\n\t\t},\n\t\tul: {\n\t\t\t// Prevent the default mousedowm, which ensures the input is not blurred.\n\t\t\t// The actual selection will happen on click. This also ensures dragging the\n\t\t\t// cursor away from the list item will cancel the selection\n\t\t\t\"mousedown\": function(evt) {\n\t\t\t\tevt.preventDefault();\n\t\t\t},\n\t\t\t// The click event is fired even if the corresponding mousedown event has called preventDefault\n\t\t\t\"click\": function(evt) {\n\t\t\t\tvar li = evt.target;\n\n\t\t\t\tif (li !== this) {\n\n\t\t\t\t\twhile (li && !/li/i.test(li.nodeName)) {\n\t\t\t\t\t\tli = li.parentNode;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (li && evt.button === 0) { // Only select on left click\n\t\t\t\t\t\tevt.preventDefault();\n\t\t\t\t\t\tme.select(li, evt.target, evt);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\t$.bind(this.input, this._events.input);\n\t$.bind(this.input.form, this._events.form);\n\t$.bind(this.ul, this._events.ul);\n\n\tif (this.input.hasAttribute(\"list\")) {\n\t\tthis.list = \"#\" + this.input.getAttribute(\"list\");\n\t\tthis.input.removeAttribute(\"list\");\n\t}\n\telse {\n\t\tthis.list = this.input.getAttribute(\"data-list\") || o.list || [];\n\t}\n\n\t_.all.push(this);\n};\n\n_.prototype = {\n\tset list(list) {\n\t\tif (Array.isArray(list)) {\n\t\t\tthis._list = list;\n\t\t}\n\t\telse if (typeof list === \"string\" && list.indexOf(\",\") > -1) {\n\t\t\t\tthis._list = list.split(/\\s*,\\s*/);\n\t\t}\n\t\telse { // Element or CSS selector\n\t\t\tlist = $(list);\n\n\t\t\tif (list && list.children) {\n\t\t\t\tvar items = [];\n\t\t\t\tslice.apply(list.children).forEach(function (el) {\n\t\t\t\t\tif (!el.disabled) {\n\t\t\t\t\t\tvar text = el.textContent.trim();\n\t\t\t\t\t\tvar value = el.value || text;\n\t\t\t\t\t\tvar label = el.label || text;\n\t\t\t\t\t\tif (value !== \"\") {\n\t\t\t\t\t\t\titems.push({ label: label, value: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis._list = items;\n\t\t\t}\n\t\t}\n\n\t\tif (document.activeElement === this.input) {\n\t\t\tthis.evaluate();\n\t\t}\n\t},\n\n\tget selected() {\n\t\treturn this.index > -1;\n\t},\n\n\tget opened() {\n\t\treturn this.isOpened;\n\t},\n\n\tclose: function (o) {\n\t\tif (!this.opened) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.input.setAttribute(\"aria-expanded\", \"false\");\n\t\tthis.ul.setAttribute(\"hidden\", \"\");\n\t\tthis.isOpened = false;\n\t\tthis.index = -1;\n\n\t\tthis.status.setAttribute(\"hidden\", \"\");\n\n\t\t$.fire(this.input, \"awesomplete-close\", o || {});\n\t},\n\n\topen: function () {\n\t\tthis.input.setAttribute(\"aria-expanded\", \"true\");\n\t\tthis.ul.removeAttribute(\"hidden\");\n\t\tthis.isOpened = true;\n\n\t\tthis.status.removeAttribute(\"hidden\");\n\n\t\tif (this.autoFirst && this.index === -1) {\n\t\t\tthis.goto(0);\n\t\t}\n\n\t\t$.fire(this.input, \"awesomplete-open\");\n\t},\n\n\tdestroy: function() {\n\t\t//remove events from the input and its form\n\t\t$.unbind(this.input, this._events.input);\n\t\t$.unbind(this.input.form, this._events.form);\n\n\t\t// cleanup container if it was created by Awesomplete but leave it alone otherwise\n\t\tif (!this.options.container) {\n\t\t\t//move the input out of the awesomplete container and remove the container and its children\n\t\t\tvar parentNode = this.container.parentNode;\n\n\t\t\tparentNode.insertBefore(this.input, this.container);\n\t\t\tparentNode.removeChild(this.container);\n\t\t}\n\n\t\t//remove autocomplete and aria-autocomplete attributes\n\t\tthis.input.removeAttribute(\"autocomplete\");\n\t\tthis.input.removeAttribute(\"aria-autocomplete\");\n\n\t\t//remove this awesomeplete instance from the global array of instances\n\t\tvar indexOfAwesomplete = _.all.indexOf(this);\n\n\t\tif (indexOfAwesomplete !== -1) {\n\t\t\t_.all.splice(indexOfAwesomplete, 1);\n\t\t}\n\t},\n\n\tnext: function () {\n\t\tvar count = this.ul.children.length;\n\t\tthis.goto(this.index < count - 1 ? this.index + 1 : (count ? 0 : -1) );\n\t},\n\n\tprevious: function () {\n\t\tvar count = this.ul.children.length;\n\t\tvar pos = this.index - 1;\n\n\t\tthis.goto(this.selected && pos !== -1 ? pos : count - 1);\n\t},\n\n\t// Should not be used, highlights specific item without any checks!\n\tgoto: function (i) {\n\t\tvar lis = this.ul.children;\n\n\t\tif (this.selected) {\n\t\t\tlis[this.index].setAttribute(\"aria-selected\", \"false\");\n\t\t}\n\n\t\tthis.index = i;\n\n\t\tif (i > -1 && lis.length > 0) {\n\t\t\tlis[i].setAttribute(\"aria-selected\", \"true\");\n\n\t\t\tthis.status.textContent = lis[i].textContent + \", list item \" + (i + 1) + \" of \" + lis.length;\n\n this.input.setAttribute(\"aria-activedescendant\", this.ul.id + \"_item_\" + this.index);\n\n\t\t\t// scroll to highlighted element in case parent's height is fixed\n\t\t\tthis.ul.scrollTop = lis[i].offsetTop - this.ul.clientHeight + lis[i].clientHeight;\n\n\t\t\t$.fire(this.input, \"awesomplete-highlight\", {\n\t\t\t\ttext: this.suggestions[this.index]\n\t\t\t});\n\t\t}\n\t},\n\n\tselect: function (selected, origin, originalEvent) {\n\t\tif (selected) {\n\t\t\tthis.index = $.siblingIndex(selected);\n\t\t} else {\n\t\t\tselected = this.ul.children[this.index];\n\t\t}\n\n\t\tif (selected) {\n\t\t\tvar suggestion = this.suggestions[this.index];\n\n\t\t\tvar allowed = $.fire(this.input, \"awesomplete-select\", {\n\t\t\t\ttext: suggestion,\n\t\t\t\torigin: origin || selected,\n\t\t\t\toriginalEvent: originalEvent\n\t\t\t});\n\n\t\t\tif (allowed) {\n\t\t\t\tthis.replace(suggestion);\n\t\t\t\tthis.close({ reason: \"select\" });\n\t\t\t\t$.fire(this.input, \"awesomplete-selectcomplete\", {\n\t\t\t\t\ttext: suggestion,\n\t\t\t\t\toriginalEvent: originalEvent\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\n\tevaluate: function() {\n\t\tvar me = this;\n\t\tvar value = this.input.value;\n\n\t\tif (value.length >= this.minChars && this._list && this._list.length > 0) {\n\t\t\tthis.index = -1;\n\t\t\t// Populate list with options that match\n\t\t\tthis.ul.innerHTML = \"\";\n\n\t\t\tthis.suggestions = this._list\n\t\t\t\t.map(function(item) {\n\t\t\t\t\treturn new Suggestion(me.data(item, value));\n\t\t\t\t})\n\t\t\t\t.filter(function(item) {\n\t\t\t\t\treturn me.filter(item, value);\n\t\t\t\t});\n\n\t\t\tif (this.sort !== false) {\n\t\t\t\tthis.suggestions = this.suggestions.sort(this.sort);\n\t\t\t}\n\n\t\t\tthis.suggestions = this.suggestions.slice(0, this.maxItems);\n\n\t\t\tthis.suggestions.forEach(function(text, index) {\n\t\t\t\t\tme.ul.appendChild(me.item(text, value, index));\n\t\t\t\t});\n\n\t\t\tif (this.ul.children.length === 0) {\n\n this.status.textContent = \"No results found\";\n\n\t\t\t\tthis.close({ reason: \"nomatches\" });\n\n\t\t\t} else {\n\t\t\t\tthis.open();\n\n this.status.textContent = this.ul.children.length + \" results found\";\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tthis.close({ reason: \"nomatches\" });\n\n this.status.textContent = \"No results found\";\n\t\t}\n\t}\n};\n\n// Static methods/properties\n\n_.all = [];\n\n_.FILTER_CONTAINS = function (text, input) {\n\treturn RegExp($.regExpEscape(input.trim()), \"i\").test(text);\n};\n\n_.FILTER_STARTSWITH = function (text, input) {\n\treturn RegExp(\"^\" + $.regExpEscape(input.trim()), \"i\").test(text);\n};\n\n_.SORT_BYLENGTH = function (a, b) {\n\tif (a.length !== b.length) {\n\t\treturn a.length - b.length;\n\t}\n\n\treturn a < b? -1 : 1;\n};\n\n_.CONTAINER = function (input) {\n\treturn $.create(\"div\", {\n\t\tclassName: \"awesomplete\",\n\t\taround: input\n\t});\n}\n\n_.ITEM = function (text, input, item_id) {\n\tvar html = input.trim() === \"\" ? text : text.replace(RegExp($.regExpEscape(input.trim()), \"gi\"), \"$&\");\n\treturn $.create(\"li\", {\n\t\tinnerHTML: html,\n\t\t\"role\": \"option\",\n\t\t\"aria-selected\": \"false\",\n\t\t\"id\": \"awesomplete_list_\" + this.count + \"_item_\" + item_id\n\t});\n};\n\n_.REPLACE = function (text) {\n\tthis.input.value = text.value;\n};\n\n_.DATA = function (item/*, input*/) { return item; };\n\n// Private functions\n\nfunction Suggestion(data) {\n\tvar o = Array.isArray(data)\n\t ? { label: data[0], value: data[1] }\n\t : typeof data === \"object\" && \"label\" in data && \"value\" in data ? data : { label: data, value: data };\n\n\tthis.label = o.label || o.value;\n\tthis.value = o.value;\n}\nObject.defineProperty(Suggestion.prototype = Object.create(String.prototype), \"length\", {\n\tget: function() { return this.label.length; }\n});\nSuggestion.prototype.toString = Suggestion.prototype.valueOf = function () {\n\treturn \"\" + this.label;\n};\n\nfunction configure(instance, properties, o) {\n\tfor (var i in properties) {\n\t\tvar initial = properties[i],\n\t\t attrValue = instance.input.getAttribute(\"data-\" + i.toLowerCase());\n\n\t\tif (typeof initial === \"number\") {\n\t\t\tinstance[i] = parseInt(attrValue);\n\t\t}\n\t\telse if (initial === false) { // Boolean options must be false by default anyway\n\t\t\tinstance[i] = attrValue !== null;\n\t\t}\n\t\telse if (initial instanceof Function) {\n\t\t\tinstance[i] = null;\n\t\t}\n\t\telse {\n\t\t\tinstance[i] = attrValue;\n\t\t}\n\n\t\tif (!instance[i] && instance[i] !== 0) {\n\t\t\tinstance[i] = (i in o)? o[i] : initial;\n\t\t}\n\t}\n}\n\n// Helpers\n\nvar slice = Array.prototype.slice;\n\nfunction $(expr, con) {\n\treturn typeof expr === \"string\"? (con || document).querySelector(expr) : expr || null;\n}\n\nfunction $$(expr, con) {\n\treturn slice.call((con || document).querySelectorAll(expr));\n}\n\n$.create = function(tag, o) {\n\tvar element = document.createElement(tag);\n\n\tfor (var i in o) {\n\t\tvar val = o[i];\n\n\t\tif (i === \"inside\") {\n\t\t\t$(val).appendChild(element);\n\t\t}\n\t\telse if (i === \"around\") {\n\t\t\tvar ref = $(val);\n\t\t\tref.parentNode.insertBefore(element, ref);\n\t\t\telement.appendChild(ref);\n\n\t\t\tif (ref.getAttribute(\"autofocus\") != null) {\n\t\t\t\tref.focus();\n\t\t\t}\n\t\t}\n\t\telse if (i in element) {\n\t\t\telement[i] = val;\n\t\t}\n\t\telse {\n\t\t\telement.setAttribute(i, val);\n\t\t}\n\t}\n\n\treturn element;\n};\n\n$.bind = function(element, o) {\n\tif (element) {\n\t\tfor (var event in o) {\n\t\t\tvar callback = o[event];\n\n\t\t\tevent.split(/\\s+/).forEach(function (event) {\n\t\t\t\telement.addEventListener(event, callback);\n\t\t\t});\n\t\t}\n\t}\n};\n\n$.unbind = function(element, o) {\n\tif (element) {\n\t\tfor (var event in o) {\n\t\t\tvar callback = o[event];\n\n\t\t\tevent.split(/\\s+/).forEach(function(event) {\n\t\t\t\telement.removeEventListener(event, callback);\n\t\t\t});\n\t\t}\n\t}\n};\n\n$.fire = function(target, type, properties) {\n\tvar evt = document.createEvent(\"HTMLEvents\");\n\n\tevt.initEvent(type, true, true );\n\n\tfor (var j in properties) {\n\t\tevt[j] = properties[j];\n\t}\n\n\treturn target.dispatchEvent(evt);\n};\n\n$.regExpEscape = function (s) {\n\treturn s.replace(/[-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n};\n\n$.siblingIndex = function (el) {\n\t/* eslint-disable no-cond-assign */\n\tfor (var i = 0; el = el.previousElementSibling; i++);\n\treturn i;\n};\n\n// Initialization\n\nfunction init() {\n\t$$(\"input.awesomplete\").forEach(function (input) {\n\t\tnew _(input);\n\t});\n}\n\n// Make sure to export Awesomplete on self when in a browser\nif (typeof self !== \"undefined\") {\n\tself.Awesomplete = _;\n}\n\n// Are we in a browser? Check for Document constructor\nif (typeof Document !== \"undefined\") {\n\t// DOM already loaded?\n\tif (document.readyState !== \"loading\") {\n\t\tinit();\n\t}\n\telse {\n\t\t// Wait for it\n\t\tdocument.addEventListener(\"DOMContentLoaded\", init);\n\t}\n}\n\n_.$ = $;\n_.$$ = $$;\n\n// Expose Awesomplete as a CJS module\nif (typeof module === \"object\" && module.exports) {\n\tmodule.exports = _;\n}\n\nreturn _;\n\n}());\n", "/*!\n * Quill Editor v2.0.0-dev.3\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})(window, 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, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./assets/icons/align-center.svg\":\n/*!***************************************!*\\\n !*** ./assets/icons/align-center.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/align-center.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/align-justify.svg\":\n/*!****************************************!*\\\n !*** ./assets/icons/align-justify.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/align-justify.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/align-left.svg\":\n/*!*************************************!*\\\n !*** ./assets/icons/align-left.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/align-left.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/align-right.svg\":\n/*!**************************************!*\\\n !*** ./assets/icons/align-right.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/align-right.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/background.svg\":\n/*!*************************************!*\\\n !*** ./assets/icons/background.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/background.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/blockquote.svg\":\n/*!*************************************!*\\\n !*** ./assets/icons/blockquote.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/blockquote.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/bold.svg\":\n/*!*******************************!*\\\n !*** ./assets/icons/bold.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/bold.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/clean.svg\":\n/*!********************************!*\\\n !*** ./assets/icons/clean.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/clean.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/code.svg\":\n/*!*******************************!*\\\n !*** ./assets/icons/code.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/code.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/color.svg\":\n/*!********************************!*\\\n !*** ./assets/icons/color.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/color.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/direction-ltr.svg\":\n/*!****************************************!*\\\n !*** ./assets/icons/direction-ltr.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/direction-ltr.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/direction-rtl.svg\":\n/*!****************************************!*\\\n !*** ./assets/icons/direction-rtl.svg ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/direction-rtl.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/dropdown.svg\":\n/*!***********************************!*\\\n !*** ./assets/icons/dropdown.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/dropdown.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/formula.svg\":\n/*!**********************************!*\\\n !*** ./assets/icons/formula.svg ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/formula.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/header-2.svg\":\n/*!***********************************!*\\\n !*** ./assets/icons/header-2.svg ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/header-2.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/header.svg\":\n/*!*********************************!*\\\n !*** ./assets/icons/header.svg ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/header.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/image.svg\":\n/*!********************************!*\\\n !*** ./assets/icons/image.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/image.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/indent.svg\":\n/*!*********************************!*\\\n !*** ./assets/icons/indent.svg ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/indent.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/italic.svg\":\n/*!*********************************!*\\\n !*** ./assets/icons/italic.svg ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/italic.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/link.svg\":\n/*!*******************************!*\\\n !*** ./assets/icons/link.svg ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/link.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/list-bullet.svg\":\n/*!**************************************!*\\\n !*** ./assets/icons/list-bullet.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/list-bullet.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/list-check.svg\":\n/*!*************************************!*\\\n !*** ./assets/icons/list-check.svg ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/list-check.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/list-ordered.svg\":\n/*!***************************************!*\\\n !*** ./assets/icons/list-ordered.svg ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/list-ordered.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/outdent.svg\":\n/*!**********************************!*\\\n !*** ./assets/icons/outdent.svg ***!\n \\**********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/outdent.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/strike.svg\":\n/*!*********************************!*\\\n !*** ./assets/icons/strike.svg ***!\n \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/strike.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/subscript.svg\":\n/*!************************************!*\\\n !*** ./assets/icons/subscript.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/subscript.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/superscript.svg\":\n/*!**************************************!*\\\n !*** ./assets/icons/superscript.svg ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/superscript.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/table.svg\":\n/*!********************************!*\\\n !*** ./assets/icons/table.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/table.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/underline.svg\":\n/*!************************************!*\\\n !*** ./assets/icons/underline.svg ***!\n \\************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/underline.svg?\");\n\n/***/ }),\n\n/***/ \"./assets/icons/video.svg\":\n/*!********************************!*\\\n !*** ./assets/icons/video.svg ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// Module\\nvar code = \\\" \\\";\\n// Exports\\nmodule.exports = code;\\n\\n//# sourceURL=webpack://Quill/./assets/icons/video.svg?\");\n\n/***/ }),\n\n/***/ \"./blots/block.js\":\n/*!************************!*\\\n !*** ./blots/block.js ***!\n \\************************/\n/*! exports provided: blockDelta, bubbleFormats, BlockEmbed, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"blockDelta\\\", function() { return blockDelta; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"bubbleFormats\\\", function() { return bubbleFormats; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"BlockEmbed\\\", function() { return BlockEmbed; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Block; });\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _inline__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./inline */ \\\"./blots/inline.js\\\");\\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./text */ \\\"./blots/text.js\\\");\\n\\n\\n\\n\\n\\n\\nconst NEWLINE_LENGTH = 1;\\n\\nclass Block extends parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"BlockBlot\\\"] {\\n constructor(scroll, domNode) {\\n super(scroll, domNode);\\n this.cache = {};\\n }\\n\\n delta() {\\n if (this.cache.delta == null) {\\n this.cache.delta = blockDelta(this);\\n }\\n\\n return this.cache.delta;\\n }\\n\\n deleteAt(index, length) {\\n super.deleteAt(index, length);\\n this.cache = {};\\n }\\n\\n formatAt(index, length, name, value) {\\n if (length <= 0) return;\\n\\n if (this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"Scope\\\"].BLOCK)) {\\n if (index + length === this.length()) {\\n this.format(name, value);\\n }\\n } else {\\n super.formatAt(index, Math.min(length, this.length() - index - 1), name, value);\\n }\\n\\n this.cache = {};\\n }\\n\\n insertAt(index, value, def) {\\n if (def != null) {\\n super.insertAt(index, value, def);\\n this.cache = {};\\n return;\\n }\\n\\n if (value.length === 0) return;\\n const lines = value.split('\\\\n');\\n const text = lines.shift();\\n\\n if (text.length > 0) {\\n if (index < this.length() - 1 || this.children.tail == null) {\\n super.insertAt(Math.min(index, this.length() - 1), text);\\n } else {\\n this.children.tail.insertAt(this.children.tail.length(), text);\\n }\\n\\n this.cache = {};\\n }\\n\\n let block = this;\\n lines.reduce((lineIndex, line) => {\\n block = block.split(lineIndex, true);\\n block.insertAt(0, line);\\n return line.length;\\n }, index + text.length);\\n }\\n\\n insertBefore(blot, ref) {\\n const {\\n head\\n } = this.children;\\n super.insertBefore(blot, ref);\\n\\n if (head instanceof _break__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"]) {\\n head.remove();\\n }\\n\\n this.cache = {};\\n }\\n\\n length() {\\n if (this.cache.length == null) {\\n this.cache.length = super.length() + NEWLINE_LENGTH;\\n }\\n\\n return this.cache.length;\\n }\\n\\n moveChildren(target, ref) {\\n super.moveChildren(target, ref);\\n this.cache = {};\\n }\\n\\n optimize(context) {\\n super.optimize(context);\\n this.cache = {};\\n }\\n\\n path(index) {\\n return super.path(index, true);\\n }\\n\\n removeChild(child) {\\n super.removeChild(child);\\n this.cache = {};\\n }\\n\\n split(index, force = false) {\\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\\n const clone = this.clone();\\n\\n if (index === 0) {\\n this.parent.insertBefore(clone, this);\\n return this;\\n }\\n\\n this.parent.insertBefore(clone, this.next);\\n return clone;\\n }\\n\\n const next = super.split(index, force);\\n this.cache = {};\\n return next;\\n }\\n\\n}\\n\\nBlock.blotName = 'block';\\nBlock.tagName = 'P';\\nBlock.defaultChild = _break__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"];\\nBlock.allowedChildren = [_break__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"], _inline__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"], parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"EmbedBlot\\\"], _text__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"]];\\n\\nclass BlockEmbed extends parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"EmbedBlot\\\"] {\\n attach() {\\n super.attach();\\n this.attributes = new parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"AttributorStore\\\"](this.domNode);\\n }\\n\\n delta() {\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().insert(this.value(), extend__WEBPACK_IMPORTED_MODULE_0___default()(this.formats(), this.attributes.values()));\\n }\\n\\n format(name, value) {\\n const attribute = this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"Scope\\\"].BLOCK_ATTRIBUTE);\\n\\n if (attribute != null) {\\n this.attributes.attribute(attribute, value);\\n }\\n }\\n\\n formatAt(index, length, name, value) {\\n this.format(name, value);\\n }\\n\\n insertAt(index, value, def) {\\n if (typeof value === 'string' && value.endsWith('\\\\n')) {\\n const block = this.scroll.create(Block.blotName);\\n this.parent.insertBefore(block, index === 0 ? this : this.next);\\n block.insertAt(0, value.slice(0, -1));\\n } else {\\n super.insertAt(index, value, def);\\n }\\n }\\n\\n}\\n\\nBlockEmbed.scope = parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"Scope\\\"].BLOCK_BLOT; // It is important for cursor behavior BlockEmbeds use tags that are block level elements\\n\\nfunction blockDelta(blot, filter = true) {\\n return blot.descendants(parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"LeafBlot\\\"]).reduce((delta, leaf) => {\\n if (leaf.length() === 0) {\\n return delta;\\n }\\n\\n return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter));\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a()).insert('\\\\n', bubbleFormats(blot));\\n}\\n\\nfunction bubbleFormats(blot, formats = {}, filter = true) {\\n if (blot == null) return formats;\\n\\n if (typeof blot.formats === 'function') {\\n formats = extend__WEBPACK_IMPORTED_MODULE_0___default()(formats, blot.formats());\\n\\n if (filter) {\\n // exclude syntax highlighting from deltas and getFormat()\\n delete formats['code-token'];\\n }\\n }\\n\\n if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\\n return formats;\\n }\\n\\n return bubbleFormats(blot.parent, formats, filter);\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./blots/block.js?\");\n\n/***/ }),\n\n/***/ \"./blots/break.js\":\n/*!************************!*\\\n !*** ./blots/break.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\n\\nclass Break extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"EmbedBlot\\\"] {\\n static value() {\\n return undefined;\\n }\\n\\n optimize() {\\n if (this.prev || this.next) {\\n this.remove();\\n }\\n }\\n\\n length() {\\n return 0;\\n }\\n\\n value() {\\n return '';\\n }\\n\\n}\\n\\nBreak.blotName = 'break';\\nBreak.tagName = 'BR';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Break);\\n\\n//# sourceURL=webpack://Quill/./blots/break.js?\");\n\n/***/ }),\n\n/***/ \"./blots/container.js\":\n/*!****************************!*\\\n !*** ./blots/container.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\n\\nclass Container extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ContainerBlot\\\"] {}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Container);\\n\\n//# sourceURL=webpack://Quill/./blots/container.js?\");\n\n/***/ }),\n\n/***/ \"./blots/cursor.js\":\n/*!*************************!*\\\n !*** ./blots/cursor.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text */ \\\"./blots/text.js\\\");\\n\\n\\n\\nclass Cursor extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"EmbedBlot\\\"] {\\n static value() {\\n return undefined;\\n }\\n\\n constructor(scroll, domNode, selection) {\\n super(scroll, domNode);\\n this.selection = selection;\\n this.textNode = document.createTextNode(Cursor.CONTENTS);\\n this.domNode.appendChild(this.textNode);\\n this.savedLength = 0;\\n }\\n\\n detach() {\\n // super.detach() will also clear domNode.__blot\\n if (this.parent != null) this.parent.removeChild(this);\\n }\\n\\n format(name, value) {\\n if (this.savedLength !== 0) {\\n super.format(name, value);\\n return;\\n }\\n\\n let target = this;\\n let index = 0;\\n\\n while (target != null && target.statics.scope !== parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK_BLOT) {\\n index += target.offset(target.parent);\\n target = target.parent;\\n }\\n\\n if (target != null) {\\n this.savedLength = Cursor.CONTENTS.length;\\n target.optimize();\\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\\n this.savedLength = 0;\\n }\\n }\\n\\n index(node, offset) {\\n if (node === this.textNode) return 0;\\n return super.index(node, offset);\\n }\\n\\n length() {\\n return this.savedLength;\\n }\\n\\n position() {\\n return [this.textNode, this.textNode.data.length];\\n }\\n\\n remove() {\\n super.remove();\\n this.parent = null;\\n }\\n\\n restore() {\\n if (this.selection.composing || this.parent == null) return null;\\n const range = this.selection.getNativeRange(); // Link format will insert text outside of anchor tag\\n\\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\\n }\\n\\n const prevTextBlot = this.prev instanceof _text__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] ? this.prev : null;\\n const prevTextLength = prevTextBlot ? prevTextBlot.length() : 0;\\n const nextTextBlot = this.next instanceof _text__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] ? this.next : null;\\n const nextText = nextTextBlot ? nextTextBlot.text : '';\\n const {\\n textNode\\n } = this; // take text from inside this blot and reset it\\n\\n const newText = textNode.data.split(Cursor.CONTENTS).join('');\\n textNode.data = Cursor.CONTENTS; // proactively merge TextBlots around cursor so that optimization\\n // doesn't lose the cursor. the reason we are here in cursor.restore\\n // could be that the user clicked in prevTextBlot or nextTextBlot, or\\n // the user typed something.\\n\\n let mergedTextBlot;\\n\\n if (prevTextBlot) {\\n mergedTextBlot = prevTextBlot;\\n\\n if (newText || nextTextBlot) {\\n prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText);\\n\\n if (nextTextBlot) {\\n nextTextBlot.remove();\\n }\\n }\\n } else if (nextTextBlot) {\\n mergedTextBlot = nextTextBlot;\\n nextTextBlot.insertAt(0, newText);\\n } else {\\n const newTextNode = document.createTextNode(newText);\\n mergedTextBlot = this.scroll.create(newTextNode);\\n this.parent.insertBefore(mergedTextBlot, this);\\n }\\n\\n this.remove();\\n\\n if (range) {\\n // calculate selection to restore\\n const remapOffset = (node, offset) => {\\n if (prevTextBlot && node === prevTextBlot.domNode) {\\n return offset;\\n }\\n\\n if (node === textNode) {\\n return prevTextLength + offset - 1;\\n }\\n\\n if (nextTextBlot && node === nextTextBlot.domNode) {\\n return prevTextLength + newText.length + offset;\\n }\\n\\n return null;\\n };\\n\\n const start = remapOffset(range.start.node, range.start.offset);\\n const end = remapOffset(range.end.node, range.end.offset);\\n\\n if (start !== null && end !== null) {\\n return {\\n startNode: mergedTextBlot.domNode,\\n startOffset: start,\\n endNode: mergedTextBlot.domNode,\\n endOffset: end\\n };\\n }\\n }\\n\\n return null;\\n }\\n\\n update(mutations, context) {\\n if (mutations.some(mutation => {\\n return mutation.type === 'characterData' && mutation.target === this.textNode;\\n })) {\\n const range = this.restore();\\n if (range) context.range = range;\\n }\\n }\\n\\n value() {\\n return '';\\n }\\n\\n}\\n\\nCursor.blotName = 'cursor';\\nCursor.className = 'ql-cursor';\\nCursor.tagName = 'span';\\nCursor.CONTENTS = '\\\\uFEFF'; // Zero width no break space\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Cursor);\\n\\n//# sourceURL=webpack://Quill/./blots/cursor.js?\");\n\n/***/ }),\n\n/***/ \"./blots/embed.js\":\n/*!************************!*\\\n !*** ./blots/embed.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text */ \\\"./blots/text.js\\\");\\n\\n\\nconst GUARD_TEXT = '\\\\uFEFF';\\n\\nclass Embed extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"EmbedBlot\\\"] {\\n constructor(scroll, node) {\\n super(scroll, node);\\n this.contentNode = document.createElement('span');\\n this.contentNode.setAttribute('contenteditable', false);\\n Array.from(this.domNode.childNodes).forEach(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 }\\n\\n index(node, offset) {\\n if (node === this.leftGuard) return 0;\\n if (node === this.rightGuard) return 1;\\n return super.index(node, offset);\\n }\\n\\n restore(node) {\\n let range;\\n let textNode;\\n const text = node.data.split(GUARD_TEXT).join('');\\n\\n if (node === this.leftGuard) {\\n if (this.prev instanceof _text__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"]) {\\n const 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(this.scroll.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 _text__WEBPACK_IMPORTED_MODULE_1__[\\\"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(this.scroll.create(textNode), this.next);\\n range = {\\n startNode: textNode,\\n startOffset: text.length\\n };\\n }\\n }\\n\\n node.data = GUARD_TEXT;\\n return range;\\n }\\n\\n update(mutations, context) {\\n mutations.forEach(mutation => {\\n if (mutation.type === 'characterData' && (mutation.target === this.leftGuard || mutation.target === this.rightGuard)) {\\n const range = this.restore(mutation.target);\\n if (range) context.range = range;\\n }\\n });\\n }\\n\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Embed);\\n\\n//# sourceURL=webpack://Quill/./blots/embed.js?\");\n\n/***/ }),\n\n/***/ \"./blots/inline.js\":\n/*!*************************!*\\\n !*** ./blots/inline.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./text */ \\\"./blots/text.js\\\");\\n\\n\\n\\n\\nclass Inline extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"InlineBlot\\\"] {\\n static compare(self, other) {\\n const selfIndex = Inline.order.indexOf(self);\\n const otherIndex = Inline.order.indexOf(other);\\n\\n if (selfIndex >= 0 || otherIndex >= 0) {\\n return selfIndex - otherIndex;\\n }\\n\\n if (self === other) {\\n return 0;\\n }\\n\\n if (self < other) {\\n return -1;\\n }\\n\\n return 1;\\n }\\n\\n formatAt(index, length, name, value) {\\n if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOT)) {\\n const blot = this.isolate(index, length);\\n\\n if (value) {\\n blot.wrap(name, value);\\n }\\n } else {\\n super.formatAt(index, length, name, value);\\n }\\n }\\n\\n optimize(context) {\\n super.optimize(context);\\n\\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\\n const parent = this.parent.isolate(this.offset(), this.length());\\n this.moveChildren(parent);\\n parent.wrap(this);\\n }\\n }\\n\\n}\\n\\nInline.allowedChildren = [Inline, _break__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"], parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"EmbedBlot\\\"], _text__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"]]; // Lower index means deeper in the DOM tree, since not found (-1) is for embeds\\n\\nInline.order = ['cursor', 'inline', // Must be lower\\n'link', // Chrome wants to be lower\\n'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher\\n];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Inline);\\n\\n//# sourceURL=webpack://Quill/./blots/inline.js?\");\n\n/***/ }),\n\n/***/ \"./blots/scroll.js\":\n/*!*************************!*\\\n !*** ./blots/scroll.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _break__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./container */ \\\"./blots/container.js\\\");\\n\\n\\n\\n\\n\\n\\nfunction isLine(blot) {\\n return blot instanceof _block__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] || blot instanceof _block__WEBPACK_IMPORTED_MODULE_2__[\\\"BlockEmbed\\\"];\\n}\\n\\nclass Scroll extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ScrollBlot\\\"] {\\n constructor(registry, domNode, {\\n emitter\\n }) {\\n super(registry, domNode);\\n this.emitter = emitter;\\n this.batch = false;\\n this.optimize();\\n this.enable();\\n this.domNode.addEventListener('dragstart', e => this.handleDragStart(e));\\n }\\n\\n batchStart() {\\n if (!Array.isArray(this.batch)) {\\n this.batch = [];\\n }\\n }\\n\\n batchEnd() {\\n const mutations = this.batch;\\n this.batch = false;\\n this.update(mutations);\\n }\\n\\n emitMount(blot) {\\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_BLOT_MOUNT, blot);\\n }\\n\\n emitUnmount(blot) {\\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_BLOT_UNMOUNT, blot);\\n }\\n\\n deleteAt(index, length) {\\n const [first, offset] = this.line(index);\\n const [last] = this.line(index + length);\\n super.deleteAt(index, length);\\n\\n if (last != null && first !== last && offset > 0) {\\n if (first instanceof _block__WEBPACK_IMPORTED_MODULE_2__[\\\"BlockEmbed\\\"] || last instanceof _block__WEBPACK_IMPORTED_MODULE_2__[\\\"BlockEmbed\\\"]) {\\n this.optimize();\\n return;\\n }\\n\\n const ref = last.children.head instanceof _break__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"] ? null : last.children.head;\\n first.moveChildren(last, ref);\\n first.remove();\\n }\\n\\n this.optimize();\\n }\\n\\n enable(enabled = true) {\\n this.domNode.setAttribute('contenteditable', enabled);\\n }\\n\\n formatAt(index, length, format, value) {\\n super.formatAt(index, length, format, value);\\n this.optimize();\\n }\\n\\n handleDragStart(event) {\\n event.preventDefault();\\n }\\n\\n insertAt(index, value, def) {\\n if (index >= this.length()) {\\n if (def == null || this.scroll.query(value, parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK) == null) {\\n const blot = this.scroll.create(this.statics.defaultChild.blotName);\\n this.appendChild(blot);\\n\\n if (def == null && value.endsWith('\\\\n')) {\\n blot.insertAt(0, value.slice(0, -1), def);\\n } else {\\n blot.insertAt(0, value, def);\\n }\\n } else {\\n const embed = this.scroll.create(value, def);\\n this.appendChild(embed);\\n }\\n } else {\\n super.insertAt(index, value, def);\\n }\\n\\n this.optimize();\\n }\\n\\n insertBefore(blot, ref) {\\n if (blot.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE_BLOT) {\\n const wrapper = this.scroll.create(this.statics.defaultChild.blotName);\\n wrapper.appendChild(blot);\\n super.insertBefore(wrapper, ref);\\n } else {\\n super.insertBefore(blot, ref);\\n }\\n }\\n\\n isEnabled() {\\n return this.domNode.getAttribute('contenteditable') === 'true';\\n }\\n\\n leaf(index) {\\n return this.path(index).pop() || [null, -1];\\n }\\n\\n line(index) {\\n if (index === this.length()) {\\n return this.line(index - 1);\\n }\\n\\n return this.descendant(isLine, index);\\n }\\n\\n lines(index = 0, length = Number.MAX_VALUE) {\\n const getLines = (blot, blotIndex, blotLength) => {\\n let lines = [];\\n let lengthLeft = blotLength;\\n blot.children.forEachAt(blotIndex, blotLength, (child, childIndex, childLength) => {\\n if (isLine(child)) {\\n lines.push(child);\\n } else if (child instanceof parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ContainerBlot\\\"]) {\\n lines = lines.concat(getLines(child, childIndex, lengthLeft));\\n }\\n\\n lengthLeft -= childLength;\\n });\\n return lines;\\n };\\n\\n return getLines(this, index, length);\\n }\\n\\n optimize(mutations = [], context = {}) {\\n if (this.batch) return;\\n super.optimize(mutations, context);\\n\\n if (mutations.length > 0) {\\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_OPTIMIZE, mutations, context);\\n }\\n }\\n\\n path(index) {\\n return super.path(index).slice(1); // Exclude self\\n }\\n\\n remove() {// Never remove self\\n }\\n\\n update(mutations) {\\n if (this.batch) {\\n if (Array.isArray(mutations)) {\\n this.batch = this.batch.concat(mutations);\\n }\\n\\n return;\\n }\\n\\n let source = _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER;\\n\\n if (typeof mutations === 'string') {\\n source = mutations;\\n }\\n\\n if (!Array.isArray(mutations)) {\\n mutations = this.observer.takeRecords();\\n }\\n\\n if (mutations.length > 0) {\\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_BEFORE_UPDATE, source, mutations);\\n }\\n\\n super.update(mutations.concat([])); // pass copy\\n\\n if (mutations.length > 0) {\\n this.emitter.emit(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_UPDATE, source, mutations);\\n }\\n }\\n\\n}\\n\\nScroll.blotName = 'scroll';\\nScroll.className = 'ql-editor';\\nScroll.tagName = 'DIV';\\nScroll.defaultChild = _block__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"];\\nScroll.allowedChildren = [_block__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"], _block__WEBPACK_IMPORTED_MODULE_2__[\\\"BlockEmbed\\\"], _container__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"]];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Scroll);\\n\\n//# sourceURL=webpack://Quill/./blots/scroll.js?\");\n\n/***/ }),\n\n/***/ \"./blots/text.js\":\n/*!***********************!*\\\n !*** ./blots/text.js ***!\n \\***********************/\n/*! exports provided: default, escapeText */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Text; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"escapeText\\\", function() { return escapeText; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\n\\nclass Text extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"TextBlot\\\"] {}\\n\\nfunction escapeText(text) {\\n return text.replace(/[&<>\\\"']/g, s => {\\n // https://lodash.com/docs#escape\\n const entityMap = {\\n '&': '&',\\n '<': '<',\\n '>': '>',\\n '\\\"': '"',\\n \\\"'\\\": '''\\n };\\n return entityMap[s];\\n });\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./blots/text.js?\");\n\n/***/ }),\n\n/***/ \"./core.js\":\n/*!*****************!*\\\n !*** ./core.js ***!\n \\*****************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blots/break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blots/container */ \\\"./blots/container.js\\\");\\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blots/cursor */ \\\"./blots/cursor.js\\\");\\n/* harmony import */ var _blots_embed__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./blots/embed */ \\\"./blots/embed.js\\\");\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blots/inline */ \\\"./blots/inline.js\\\");\\n/* harmony import */ var _blots_scroll__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blots/scroll */ \\\"./blots/scroll.js\\\");\\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./blots/text */ \\\"./blots/text.js\\\");\\n/* harmony import */ var _modules_clipboard__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/clipboard */ \\\"./modules/clipboard.js\\\");\\n/* harmony import */ var _modules_history__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/history */ \\\"./modules/history.js\\\");\\n/* harmony import */ var _modules_keyboard__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/keyboard */ \\\"./modules/keyboard.js\\\");\\n/* harmony import */ var _modules_uploader__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/uploader */ \\\"./modules/uploader.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n_core_quill__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].register({\\n 'blots/block': _blots_block__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"],\\n 'blots/block/embed': _blots_block__WEBPACK_IMPORTED_MODULE_1__[\\\"BlockEmbed\\\"],\\n 'blots/break': _blots_break__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"],\\n 'blots/container': _blots_container__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"],\\n 'blots/cursor': _blots_cursor__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"],\\n 'blots/embed': _blots_embed__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"],\\n 'blots/inline': _blots_inline__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"],\\n 'blots/scroll': _blots_scroll__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"],\\n 'blots/text': _blots_text__WEBPACK_IMPORTED_MODULE_8__[\\\"default\\\"],\\n 'modules/clipboard': _modules_clipboard__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"],\\n 'modules/history': _modules_history__WEBPACK_IMPORTED_MODULE_10__[\\\"default\\\"],\\n 'modules/keyboard': _modules_keyboard__WEBPACK_IMPORTED_MODULE_11__[\\\"default\\\"],\\n 'modules/uploader': _modules_uploader__WEBPACK_IMPORTED_MODULE_12__[\\\"default\\\"]\\n});\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (_core_quill__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]);\\n\\n//# sourceURL=webpack://Quill/./core.js?\");\n\n/***/ }),\n\n/***/ \"./core/editor.js\":\n/*!************************!*\\\n !*** ./core/editor.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var clone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clone */ \\\"./node_modules/clone/clone.js\\\");\\n/* harmony import */ var clone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(clone__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! deep-equal */ \\\"./node_modules/deep-equal/index.js\\\");\\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_2__);\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_3__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./selection */ \\\"./core/selection.js\\\");\\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../blots/cursor */ \\\"./blots/cursor.js\\\");\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../blots/break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../blots/text */ \\\"./blots/text.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nconst ASCII = /^[ -~]*$/;\\n\\nclass Editor {\\n constructor(scroll) {\\n this.scroll = scroll;\\n this.delta = this.getDelta();\\n }\\n\\n applyDelta(delta) {\\n let consumeNextNewline = false;\\n this.scroll.update();\\n let scrollLength = this.scroll.length();\\n this.scroll.batchStart();\\n const normalizedDelta = normalizeDelta(delta);\\n normalizedDelta.reduce((index, op) => {\\n const length = op.retain || op.delete || op.insert.length || 1;\\n let attributes = op.attributes || {};\\n\\n if (op.insert != null) {\\n if (typeof op.insert === 'string') {\\n let text = op.insert;\\n\\n if (text.endsWith('\\\\n') && consumeNextNewline) {\\n consumeNextNewline = false;\\n text = text.slice(0, -1);\\n }\\n\\n if ((index >= scrollLength || this.scroll.descendant(_blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"BlockEmbed\\\"], index)[0]) && !text.endsWith('\\\\n')) {\\n consumeNextNewline = true;\\n }\\n\\n this.scroll.insertAt(index, text);\\n const [line, offset] = this.scroll.line(index);\\n let formats = extend__WEBPACK_IMPORTED_MODULE_2___default()({}, Object(_blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"bubbleFormats\\\"])(line));\\n\\n if (line instanceof _blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"]) {\\n const [leaf] = line.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"LeafBlot\\\"], offset);\\n formats = extend__WEBPACK_IMPORTED_MODULE_2___default()(formats, Object(_blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"bubbleFormats\\\"])(leaf));\\n }\\n\\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_3__[\\\"AttributeMap\\\"].diff(formats, attributes) || {};\\n } else if (typeof op.insert === 'object') {\\n const key = Object.keys(op.insert)[0]; // There should only be one key\\n\\n if (key == null) return index;\\n this.scroll.insertAt(index, key, op.insert[key]);\\n }\\n\\n scrollLength += length;\\n }\\n\\n Object.keys(attributes).forEach(name => {\\n this.scroll.formatAt(index, length, name, attributes[name]);\\n });\\n return index + length;\\n }, 0);\\n normalizedDelta.reduce((index, op) => {\\n if (typeof op.delete === 'number') {\\n this.scroll.deleteAt(index, op.delete);\\n return index;\\n }\\n\\n return index + (op.retain || op.insert.length || 1);\\n }, 0);\\n this.scroll.batchEnd();\\n this.scroll.optimize();\\n return this.update(normalizedDelta);\\n }\\n\\n deleteText(index, length) {\\n this.scroll.deleteAt(index, length);\\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).delete(length));\\n }\\n\\n formatLine(index, length, formats = {}) {\\n this.scroll.update();\\n Object.keys(formats).forEach(format => {\\n this.scroll.lines(index, Math.max(length, 1)).forEach(line => {\\n line.format(format, formats[format]);\\n });\\n });\\n this.scroll.optimize();\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).retain(length, clone__WEBPACK_IMPORTED_MODULE_0___default()(formats));\\n return this.update(delta);\\n }\\n\\n formatText(index, length, formats = {}) {\\n Object.keys(formats).forEach(format => {\\n this.scroll.formatAt(index, length, format, formats[format]);\\n });\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).retain(length, clone__WEBPACK_IMPORTED_MODULE_0___default()(formats));\\n return this.update(delta);\\n }\\n\\n getContents(index, length) {\\n return this.delta.slice(index, index + length);\\n }\\n\\n getDelta() {\\n return this.scroll.lines().reduce((delta, line) => {\\n return delta.concat(line.delta());\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a());\\n }\\n\\n getFormat(index, length = 0) {\\n let lines = [];\\n let leaves = [];\\n\\n if (length === 0) {\\n this.scroll.path(index).forEach(path => {\\n const [blot] = path;\\n\\n if (blot instanceof _blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"]) {\\n lines.push(blot);\\n } else if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"LeafBlot\\\"]) {\\n leaves.push(blot);\\n }\\n });\\n } else {\\n lines = this.scroll.lines(index, length);\\n leaves = this.scroll.descendants(parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"LeafBlot\\\"], index, length);\\n }\\n\\n const formatsArr = [lines, leaves].map(blots => {\\n if (blots.length === 0) return {};\\n let formats = Object(_blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"bubbleFormats\\\"])(blots.shift());\\n\\n while (Object.keys(formats).length > 0) {\\n const blot = blots.shift();\\n if (blot == null) return formats;\\n formats = combineFormats(Object(_blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"bubbleFormats\\\"])(blot), formats);\\n }\\n\\n return formats;\\n });\\n return extend__WEBPACK_IMPORTED_MODULE_2___default.a.apply(extend__WEBPACK_IMPORTED_MODULE_2___default.a, formatsArr);\\n }\\n\\n getHTML(index, length) {\\n const [line, lineOffset] = this.scroll.line(index);\\n\\n if (line.length() >= lineOffset + length) {\\n return convertHTML(line, lineOffset, length, true);\\n }\\n\\n return convertHTML(this.scroll, index, length, true);\\n }\\n\\n getText(index, length) {\\n return this.getContents(index, length).filter(op => typeof op.insert === 'string').map(op => op.insert).join('');\\n }\\n\\n insertEmbed(index, embed, value) {\\n this.scroll.insertAt(index, embed, value);\\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).insert({\\n [embed]: value\\n }));\\n }\\n\\n insertText(index, text, formats = {}) {\\n text = text.replace(/\\\\r\\\\n/g, '\\\\n').replace(/\\\\r/g, '\\\\n');\\n this.scroll.insertAt(index, text);\\n Object.keys(formats).forEach(format => {\\n this.scroll.formatAt(index, text.length, format, formats[format]);\\n });\\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).insert(text, clone__WEBPACK_IMPORTED_MODULE_0___default()(formats)));\\n }\\n\\n isBlank() {\\n if (this.scroll.children.length === 0) return true;\\n if (this.scroll.children.length > 1) return false;\\n const block = this.scroll.children.head;\\n if (block.statics.blotName !== _blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"].blotName) return false;\\n if (block.children.length > 1) return false;\\n return block.children.head instanceof _blots_break__WEBPACK_IMPORTED_MODULE_8__[\\\"default\\\"];\\n }\\n\\n removeFormat(index, length) {\\n const text = this.getText(index, length);\\n const [line, offset] = this.scroll.line(index + length);\\n let suffixLength = 0;\\n let suffix = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a();\\n\\n if (line != null) {\\n suffixLength = line.length() - offset;\\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\\\n');\\n }\\n\\n const contents = this.getContents(index, length + suffixLength);\\n const diff = contents.diff(new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().insert(text).concat(suffix));\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).concat(diff);\\n return this.applyDelta(delta);\\n }\\n\\n update(change, mutations = [], selectionInfo = undefined) {\\n const oldDelta = this.delta;\\n\\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) {\\n // Optimization for character changes\\n const textBlot = this.scroll.find(mutations[0].target);\\n const formats = Object(_blots_block__WEBPACK_IMPORTED_MODULE_7__[\\\"bubbleFormats\\\"])(textBlot);\\n const index = textBlot.offset(this.scroll);\\n const oldValue = mutations[0].oldValue.replace(_blots_cursor__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"].CONTENTS, '');\\n const oldText = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().insert(oldValue);\\n const newText = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().insert(textBlot.value());\\n const relativeSelectionInfo = selectionInfo && {\\n oldRange: shiftRange(selectionInfo.oldRange, -index),\\n newRange: shiftRange(selectionInfo.newRange, -index)\\n };\\n const diffDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).concat(oldText.diff(newText, relativeSelectionInfo));\\n change = diffDelta.reduce((delta, op) => {\\n if (op.insert) {\\n return delta.insert(op.insert, formats);\\n }\\n\\n return delta.push(op);\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a());\\n this.delta = oldDelta.compose(change);\\n } else {\\n this.delta = this.getDelta();\\n\\n if (!change || !deep_equal__WEBPACK_IMPORTED_MODULE_1___default()(oldDelta.compose(change), this.delta)) {\\n change = oldDelta.diff(this.delta, selectionInfo);\\n }\\n }\\n\\n return change;\\n }\\n\\n}\\n\\nfunction convertListHTML(items, lastIndent, types) {\\n if (items.length === 0) {\\n const [endTag] = getListType(types.pop());\\n\\n if (lastIndent <= 0) {\\n return \\\"\\\");\\n }\\n\\n return \\\"\\\").concat(convertListHTML([], lastIndent - 1, types));\\n }\\n\\n const [{\\n child,\\n offset,\\n length,\\n indent,\\n type\\n }, ...rest] = items;\\n const [tag, attribute] = getListType(type);\\n\\n if (indent > lastIndent) {\\n types.push(type);\\n\\n if (indent === lastIndent + 1) {\\n return \\\"<\\\".concat(tag, \\\">\\\").concat(convertHTML(child, offset, length)).concat(convertListHTML(rest, indent, types));\\n }\\n\\n return \\\"<\\\".concat(tag, \\\">
  • \\\").concat(convertListHTML(items, lastIndent + 1, types));\\n }\\n\\n const previousType = types[types.length - 1];\\n\\n if (indent === lastIndent && type === previousType) {\\n return \\\"
  • \\\").concat(convertHTML(child, offset, length)).concat(convertListHTML(rest, indent, types));\\n }\\n\\n const [endTag] = getListType(types.pop());\\n return \\\"\\\").concat(convertListHTML(items, lastIndent - 1, types));\\n}\\n\\nfunction convertHTML(blot, index, length, isRoot = false) {\\n if (typeof blot.html === 'function') {\\n return blot.html(index, length);\\n }\\n\\n if (blot instanceof _blots_text__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"]) {\\n return Object(_blots_text__WEBPACK_IMPORTED_MODULE_9__[\\\"escapeText\\\"])(blot.value().slice(index, index + length));\\n }\\n\\n if (blot.children) {\\n // TODO fix API\\n if (blot.statics.blotName === 'list-container') {\\n const items = [];\\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\\n const formats = child.formats();\\n items.push({\\n child,\\n offset,\\n length: childLength,\\n indent: formats.indent || 0,\\n type: formats.list\\n });\\n });\\n return convertListHTML(items, -1, []);\\n }\\n\\n const parts = [];\\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\\n parts.push(convertHTML(child, offset, childLength));\\n });\\n\\n if (isRoot || blot.statics.blotName === 'list') {\\n return parts.join('');\\n }\\n\\n const {\\n outerHTML,\\n innerHTML\\n } = blot.domNode;\\n const [start, end] = outerHTML.split(\\\">\\\".concat(innerHTML, \\\"<\\\")); // TODO cleanup\\n\\n if (start === '\\\".concat(parts.join(''), \\\"<\\\").concat(end);\\n }\\n\\n return \\\"\\\".concat(start, \\\">\\\").concat(parts.join(''), \\\"<\\\").concat(end);\\n }\\n\\n return blot.domNode.outerHTML;\\n}\\n\\nfunction combineFormats(formats, combined) {\\n return Object.keys(combined).reduce((merged, name) => {\\n if (formats[name] == null) return merged;\\n\\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\\n return merged;\\n }, {});\\n}\\n\\nfunction getListType(type) {\\n const tag = type === 'ordered' ? 'ol' : 'ul';\\n\\n switch (type) {\\n case 'checked':\\n return [tag, ' data-list=\\\"checked\\\"'];\\n\\n case 'unchecked':\\n return [tag, ' data-list=\\\"unchecked\\\"'];\\n\\n default:\\n return [tag, ''];\\n }\\n}\\n\\nfunction normalizeDelta(delta) {\\n return delta.reduce((normalizedDelta, op) => {\\n if (typeof op.insert === 'string') {\\n const text = op.insert.replace(/\\\\r\\\\n/g, '\\\\n').replace(/\\\\r/g, '\\\\n');\\n return normalizedDelta.insert(text, op.attributes);\\n }\\n\\n return normalizedDelta.push(op);\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a());\\n}\\n\\nfunction shiftRange({\\n index,\\n length\\n}, amount) {\\n return new _selection__WEBPACK_IMPORTED_MODULE_5__[\\\"Range\\\"](index + amount, length);\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Editor);\\n\\n//# sourceURL=webpack://Quill/./core/editor.js?\");\n\n/***/ }),\n\n/***/ \"./core/emitter.js\":\n/*!*************************!*\\\n !*** ./core/emitter.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! eventemitter3 */ \\\"./node_modules/eventemitter3/index.js\\\");\\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(eventemitter3__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _instances__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instances */ \\\"./core/instances.js\\\");\\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./logger */ \\\"./core/logger.js\\\");\\n\\n\\n\\nconst debug = Object(_logger__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"])('quill:events');\\nconst EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\\nEVENTS.forEach(eventName => {\\n document.addEventListener(eventName, (...args) => {\\n Array.from(document.querySelectorAll('.ql-container')).forEach(node => {\\n const quill = _instances__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].get(node);\\n\\n if (quill && quill.emitter) {\\n quill.emitter.handleDOM(...args);\\n }\\n });\\n });\\n});\\n\\nclass Emitter extends eventemitter3__WEBPACK_IMPORTED_MODULE_0___default.a {\\n constructor() {\\n super();\\n this.listeners = {};\\n this.on('error', debug.error);\\n }\\n\\n emit(...args) {\\n debug.log.call(debug, ...args);\\n super.emit(...args);\\n }\\n\\n handleDOM(event, ...args) {\\n (this.listeners[event.type] || []).forEach(({\\n node,\\n handler\\n }) => {\\n if (event.target === node || node.contains(event.target)) {\\n handler(event, ...args);\\n }\\n });\\n }\\n\\n listenDOM(eventName, node, handler) {\\n if (!this.listeners[eventName]) {\\n this.listeners[eventName] = [];\\n }\\n\\n this.listeners[eventName].push({\\n node,\\n handler\\n });\\n }\\n\\n}\\n\\nEmitter.events = {\\n EDITOR_CHANGE: 'editor-change',\\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\\n SCROLL_BLOT_MOUNT: 'scroll-blot-mount',\\n SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount',\\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/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Emitter);\\n\\n//# sourceURL=webpack://Quill/./core/emitter.js?\");\n\n/***/ }),\n\n/***/ \"./core/instances.js\":\n/*!***************************!*\\\n !*** ./core/instances.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (new WeakMap());\\n\\n//# sourceURL=webpack://Quill/./core/instances.js?\");\n\n/***/ }),\n\n/***/ \"./core/logger.js\":\n/*!************************!*\\\n !*** ./core/logger.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\nconst levels = ['error', 'warn', 'log', 'info'];\\nlet level = 'warn';\\n\\nfunction debug(method, ...args) {\\n if (levels.indexOf(method) <= levels.indexOf(level)) {\\n console[method](...args); // eslint-disable-line no-console\\n }\\n}\\n\\nfunction namespace(ns) {\\n return levels.reduce((logger, method) => {\\n logger[method] = debug.bind(console, method, ns);\\n return logger;\\n }, {});\\n}\\n\\nnamespace.level = newLevel => {\\n level = newLevel;\\n};\\n\\ndebug.level = namespace.level;\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (namespace);\\n\\n//# sourceURL=webpack://Quill/./core/logger.js?\");\n\n/***/ }),\n\n/***/ \"./core/module.js\":\n/*!************************!*\\\n !*** ./core/module.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\nclass Module {\\n constructor(quill, options = {}) {\\n this.quill = quill;\\n this.options = options;\\n }\\n\\n}\\n\\nModule.DEFAULTS = {};\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Module);\\n\\n//# sourceURL=webpack://Quill/./core/module.js?\");\n\n/***/ }),\n\n/***/ \"./core/quill.js\":\n/*!***********************!*\\\n !*** ./core/quill.js ***!\n \\***********************/\n/*! exports provided: globalRegistry, expandConfig, overload, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"globalRegistry\\\", function() { return globalRegistry; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"expandConfig\\\", function() { return expandConfig; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"overload\\\", function() { return overload; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Quill; });\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_2__);\\n/* harmony import */ var _editor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./editor */ \\\"./core/editor.js\\\");\\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _module__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./module */ \\\"./core/module.js\\\");\\n/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./selection */ \\\"./core/selection.js\\\");\\n/* harmony import */ var _instances__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./instances */ \\\"./core/instances.js\\\");\\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./logger */ \\\"./core/logger.js\\\");\\n/* harmony import */ var _theme__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./theme */ \\\"./core/theme.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nconst debug = Object(_logger__WEBPACK_IMPORTED_MODULE_8__[\\\"default\\\"])('quill');\\nconst globalRegistry = new parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"Registry\\\"]();\\nparchment__WEBPACK_IMPORTED_MODULE_1__[\\\"ParentBlot\\\"].uiClass = 'ql-ui';\\n\\nclass Quill {\\n static debug(limit) {\\n if (limit === true) {\\n limit = 'log';\\n }\\n\\n _logger__WEBPACK_IMPORTED_MODULE_8__[\\\"default\\\"].level(limit);\\n }\\n\\n static find(node) {\\n return _instances__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"].get(node) || globalRegistry.find(node);\\n }\\n\\n static import(name) {\\n if (this.imports[name] == null) {\\n debug.error(\\\"Cannot import \\\".concat(name, \\\". Are you sure it was registered?\\\"));\\n }\\n\\n return this.imports[name];\\n }\\n\\n static register(path, target, overwrite = false) {\\n if (typeof path !== 'string') {\\n const name = path.attrName || path.blotName;\\n\\n if (typeof name === 'string') {\\n // register(Blot | Attributor, overwrite)\\n this.register(\\\"formats/\\\".concat(name), path, target);\\n } else {\\n Object.keys(path).forEach(key => {\\n this.register(key, path[key], target);\\n });\\n }\\n } else {\\n if (this.imports[path] != null && !overwrite) {\\n debug.warn(\\\"Overwriting \\\".concat(path, \\\" with\\\"), target);\\n }\\n\\n this.imports[path] = target;\\n\\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\\n globalRegistry.register(target);\\n }\\n\\n if (typeof target.register === 'function') {\\n target.register(globalRegistry);\\n }\\n }\\n }\\n\\n constructor(container, options = {}) {\\n this.options = expandConfig(container, options);\\n this.container = this.options.container;\\n\\n if (this.container == null) {\\n return debug.error('Invalid Quill container', container);\\n }\\n\\n if (this.options.debug) {\\n Quill.debug(this.options.debug);\\n }\\n\\n const html = this.container.innerHTML.trim();\\n this.container.classList.add('ql-container');\\n this.container.innerHTML = '';\\n _instances__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"].set(this.container, 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 _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"]();\\n const ScrollBlot = this.options.registry.query(parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"ScrollBlot\\\"].blotName);\\n this.scroll = new ScrollBlot(this.options.registry, this.root, {\\n emitter: this.emitter\\n });\\n this.editor = new _editor__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"](this.scroll);\\n this.selection = new _selection__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"](this.scroll, this.emitter);\\n this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap\\n\\n this.keyboard = this.theme.addModule('keyboard');\\n this.clipboard = this.theme.addModule('clipboard');\\n this.history = this.theme.addModule('history');\\n this.uploader = this.theme.addModule('uploader');\\n this.theme.init();\\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].events.EDITOR_CHANGE, type => {\\n if (type === _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].events.TEXT_CHANGE) {\\n this.root.classList.toggle('ql-blank', this.editor.isBlank());\\n }\\n });\\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].events.SCROLL_UPDATE, (source, mutations) => {\\n const oldRange = this.selection.lastRange;\\n const [newRange] = this.selection.getRange();\\n const selectionInfo = oldRange && newRange ? {\\n oldRange,\\n newRange\\n } : undefined;\\n modify.call(this, () => this.editor.update(null, mutations, selectionInfo), source);\\n });\\n const contents = this.clipboard.convert({\\n html: \\\"\\\".concat(html, \\\"


    \\\"),\\n text: '\\\\n'\\n });\\n this.setContents(contents);\\n this.history.clear();\\n\\n if (this.options.placeholder) {\\n this.root.setAttribute('data-placeholder', this.options.placeholder);\\n }\\n\\n if (this.options.readOnly) {\\n this.disable();\\n }\\n\\n this.allowReadOnlyEdits = false;\\n }\\n\\n addContainer(container, refNode = null) {\\n if (typeof container === 'string') {\\n const className = container;\\n container = document.createElement('div');\\n container.classList.add(className);\\n }\\n\\n this.container.insertBefore(container, refNode);\\n return container;\\n }\\n\\n blur() {\\n this.selection.setRange(null);\\n }\\n\\n deleteText(index, length, source) {\\n [index, length,, source] = overload(index, length, source);\\n return modify.call(this, () => {\\n return this.editor.deleteText(index, length);\\n }, source, index, -1 * length);\\n }\\n\\n disable() {\\n this.enable(false);\\n }\\n\\n editReadOnly(modifier) {\\n this.allowReadOnlyEdits = true;\\n const value = modifier();\\n this.allowReadOnlyEdits = false;\\n return value;\\n }\\n\\n enable(enabled = true) {\\n this.scroll.enable(enabled);\\n this.container.classList.toggle('ql-disabled', !enabled);\\n }\\n\\n focus() {\\n const {\\n scrollTop\\n } = this.scrollingContainer;\\n this.selection.focus();\\n this.scrollingContainer.scrollTop = scrollTop;\\n this.scrollIntoView();\\n }\\n\\n format(name, value, source = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.API) {\\n return modify.call(this, () => {\\n const range = this.getSelection(true);\\n let change = new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a();\\n if (range == null) return change;\\n\\n if (this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"Scope\\\"].BLOCK)) {\\n change = this.editor.formatLine(range.index, range.length, {\\n [name]: value\\n });\\n } else if (range.length === 0) {\\n this.selection.format(name, value);\\n return change;\\n } else {\\n change = this.editor.formatText(range.index, range.length, {\\n [name]: value\\n });\\n }\\n\\n this.setSelection(range, _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT);\\n return change;\\n }, source);\\n }\\n\\n formatLine(index, length, name, value, source) {\\n let formats; // eslint-disable-next-line prefer-const\\n\\n [index, length, formats, source] = overload(index, length, name, value, source);\\n return modify.call(this, () => {\\n return this.editor.formatLine(index, length, formats);\\n }, source, index, 0);\\n }\\n\\n formatText(index, length, name, value, source) {\\n let formats; // eslint-disable-next-line prefer-const\\n\\n [index, length, formats, source] = overload(index, length, name, value, source);\\n return modify.call(this, () => {\\n return this.editor.formatText(index, length, formats);\\n }, source, index, 0);\\n }\\n\\n getBounds(index, length = 0) {\\n let bounds;\\n\\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\\n const 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 getContents(index = 0, length = this.getLength() - index) {\\n [index, length] = overload(index, length);\\n return this.editor.getContents(index, length);\\n }\\n\\n getFormat(index = this.getSelection(true), length = 0) {\\n if (typeof index === 'number') {\\n return this.editor.getFormat(index, length);\\n }\\n\\n return this.editor.getFormat(index.index, index.length);\\n }\\n\\n getIndex(blot) {\\n return blot.offset(this.scroll);\\n }\\n\\n getLength() {\\n return this.scroll.length();\\n }\\n\\n getLeaf(index) {\\n return this.scroll.leaf(index);\\n }\\n\\n getLine(index) {\\n return this.scroll.line(index);\\n }\\n\\n getLines(index = 0, length = Number.MAX_VALUE) {\\n if (typeof index !== 'number') {\\n return this.scroll.lines(index.index, index.length);\\n }\\n\\n return this.scroll.lines(index, length);\\n }\\n\\n getModule(name) {\\n return this.theme.modules[name];\\n }\\n\\n getSelection(focus = false) {\\n if (focus) this.focus();\\n this.update(); // Make sure we access getRange with editor in consistent state\\n\\n return this.selection.getRange()[0];\\n }\\n\\n getSemanticHTML(index = 0, length = this.getLength() - index) {\\n [index, length] = overload(index, length);\\n return this.editor.getHTML(index, length);\\n }\\n\\n getText(index = 0, length = this.getLength() - index) {\\n [index, length] = overload(index, length);\\n return this.editor.getText(index, length);\\n }\\n\\n hasFocus() {\\n return this.selection.hasFocus();\\n }\\n\\n insertEmbed(index, embed, value, source = Quill.sources.API) {\\n return modify.call(this, () => {\\n return this.editor.insertEmbed(index, embed, value);\\n }, source, index);\\n }\\n\\n insertText(index, text, name, value, source) {\\n let formats; // eslint-disable-next-line prefer-const\\n\\n [index,, formats, source] = overload(index, 0, name, value, source);\\n return modify.call(this, () => {\\n return this.editor.insertText(index, text, formats);\\n }, source, index, text.length);\\n }\\n\\n isEnabled() {\\n return this.scroll.isEnabled();\\n }\\n\\n off(...args) {\\n return this.emitter.off(...args);\\n }\\n\\n on(...args) {\\n return this.emitter.on(...args);\\n }\\n\\n once(...args) {\\n return this.emitter.once(...args);\\n }\\n\\n removeFormat(index, length, source) {\\n [index, length,, source] = overload(index, length, source);\\n return modify.call(this, () => {\\n return this.editor.removeFormat(index, length);\\n }, source, index);\\n }\\n\\n scrollIntoView() {\\n this.selection.scrollIntoView(this.scrollingContainer);\\n }\\n\\n setContents(delta, source = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.API) {\\n return modify.call(this, () => {\\n delta = new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a(delta);\\n const length = this.getLength();\\n const deleted = this.editor.deleteText(0, length);\\n const applied = this.editor.applyDelta(delta);\\n const lastOp = applied.ops[applied.ops.length - 1];\\n\\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\\\n') {\\n this.editor.deleteText(this.getLength() - 1, 1);\\n applied.delete(1);\\n }\\n\\n return deleted.compose(applied);\\n }, source);\\n }\\n\\n setSelection(index, length, source) {\\n if (index == null) {\\n this.selection.setRange(null, length || Quill.sources.API);\\n } else {\\n [index, length,, source] = overload(index, length, source);\\n this.selection.setRange(new _selection__WEBPACK_IMPORTED_MODULE_6__[\\\"Range\\\"](Math.max(0, index), length), source);\\n\\n if (source !== _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT) {\\n this.selection.scrollIntoView(this.scrollingContainer);\\n }\\n }\\n }\\n\\n setText(text, source = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.API) {\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a().insert(text);\\n return this.setContents(delta, source);\\n }\\n\\n update(source = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.USER) {\\n const change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\\n\\n this.selection.update(source); // TODO this is usually undefined\\n\\n return change;\\n }\\n\\n updateContents(delta, source = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.API) {\\n return modify.call(this, () => {\\n delta = new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a(delta);\\n return this.editor.applyDelta(delta, source);\\n }, source, true);\\n }\\n\\n}\\n\\nQuill.DEFAULTS = {\\n bounds: null,\\n modules: {},\\n placeholder: '',\\n readOnly: false,\\n registry: globalRegistry,\\n scrollingContainer: null,\\n theme: 'default'\\n};\\nQuill.events = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].events;\\nQuill.sources = _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources; // eslint-disable-next-line no-undef\\n\\nQuill.version = false ? undefined : \\\"2.0.0-dev.3\\\";\\nQuill.imports = {\\n delta: quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a,\\n parchment: parchment__WEBPACK_IMPORTED_MODULE_1__,\\n 'core/module': _module__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"],\\n 'core/theme': _theme__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"]\\n};\\n\\nfunction expandConfig(container, userConfig) {\\n userConfig = extend__WEBPACK_IMPORTED_MODULE_2___default()(true, {\\n container,\\n modules: {\\n clipboard: true,\\n keyboard: true,\\n history: true,\\n uploader: true\\n }\\n }, userConfig);\\n\\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\\n userConfig.theme = _theme__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"];\\n } else {\\n userConfig.theme = Quill.import(\\\"themes/\\\".concat(userConfig.theme));\\n\\n if (userConfig.theme == null) {\\n throw new Error(\\\"Invalid theme \\\".concat(userConfig.theme, \\\". Did you register it?\\\"));\\n }\\n }\\n\\n const themeConfig = extend__WEBPACK_IMPORTED_MODULE_2___default()(true, {}, userConfig.theme.DEFAULTS);\\n [themeConfig, userConfig].forEach(config => {\\n config.modules = config.modules || {};\\n Object.keys(config.modules).forEach(module => {\\n if (config.modules[module] === true) {\\n config.modules[module] = {};\\n }\\n });\\n });\\n const moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\\n const moduleConfig = moduleNames.reduce((config, name) => {\\n const moduleClass = Quill.import(\\\"modules/\\\".concat(name));\\n\\n if (moduleClass == null) {\\n debug.error(\\\"Cannot load \\\".concat(name, \\\" module. Are you sure you registered it?\\\"));\\n } else {\\n config[name] = moduleClass.DEFAULTS || {};\\n }\\n\\n return config;\\n }, {}); // Special case toolbar shorthand\\n\\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\\n userConfig = extend__WEBPACK_IMPORTED_MODULE_2___default()(true, {}, Quill.DEFAULTS, {\\n modules: moduleConfig\\n }, themeConfig, userConfig);\\n ['bounds', 'container', 'scrollingContainer'].forEach(key => {\\n if (typeof userConfig[key] === 'string') {\\n userConfig[key] = document.querySelector(userConfig[key]);\\n }\\n });\\n userConfig.modules = Object.keys(userConfig.modules).reduce((config, name) => {\\n if (userConfig.modules[name]) {\\n config[name] = userConfig.modules[name];\\n }\\n\\n return config;\\n }, {});\\n return userConfig;\\n} // Handle selection preservation and TEXT_CHANGE emission\\n// common to modification APIs\\n\\n\\nfunction modify(modifier, source, index, shift) {\\n if (!this.isEnabled() && source === _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.USER && !this.allowReadOnlyEdits) {\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a();\\n }\\n\\n let range = index == null ? null : this.getSelection();\\n const oldDelta = this.editor.delta;\\n const change = modifier();\\n\\n if (range != null) {\\n if (index === true) {\\n index = range.index; // eslint-disable-line prefer-destructuring\\n }\\n\\n if (shift == null) {\\n range = shiftRange(range, change, source);\\n } else if (shift !== 0) {\\n range = shiftRange(range, index, shift, source);\\n }\\n\\n this.setSelection(range, _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT);\\n }\\n\\n if (change.length() > 0) {\\n const args = [_emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].events.TEXT_CHANGE, change, oldDelta, source];\\n this.emitter.emit(_emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].events.EDITOR_CHANGE, ...args);\\n\\n if (source !== _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT) {\\n this.emitter.emit(...args);\\n }\\n }\\n\\n return change;\\n}\\n\\nfunction overload(index, length, name, value, source) {\\n let formats = {};\\n\\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;\\n value = name;\\n name = length;\\n length = index.length; // eslint-disable-line prefer-destructuring\\n\\n index = index.index; // eslint-disable-line prefer-destructuring\\n } else {\\n length = index.length; // eslint-disable-line prefer-destructuring\\n\\n index = index.index; // eslint-disable-line prefer-destructuring\\n }\\n } else if (typeof length !== 'number') {\\n source = value;\\n value = name;\\n name = length;\\n length = 0;\\n } // Handle format being object, two format name/value strings or excluded\\n\\n\\n if (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 } // Handle optional source\\n\\n\\n source = source || _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.API;\\n return [index, length, formats, source];\\n}\\n\\nfunction shiftRange(range, index, length, source) {\\n if (range == null) return null;\\n let start;\\n let end;\\n\\n if (index instanceof quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a) {\\n [start, end] = [range.index, range.index + range.length].map(pos => index.transformPosition(pos, source !== _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.USER));\\n } else {\\n [start, end] = [range.index, range.index + range.length].map(pos => {\\n if (pos < index || pos === index && source === _emitter__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.USER) return pos;\\n\\n if (length >= 0) {\\n return pos + length;\\n }\\n\\n return Math.max(index, pos + length);\\n });\\n }\\n\\n return new _selection__WEBPACK_IMPORTED_MODULE_6__[\\\"Range\\\"](start, end - start);\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./core/quill.js?\");\n\n/***/ }),\n\n/***/ \"./core/selection.js\":\n/*!***************************!*\\\n !*** ./core/selection.js ***!\n \\***************************/\n/*! exports provided: Range, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"Range\\\", function() { return Range; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Selection; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var clone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clone */ \\\"./node_modules/clone/clone.js\\\");\\n/* harmony import */ var clone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(clone__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! deep-equal */ \\\"./node_modules/deep-equal/index.js\\\");\\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_2__);\\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger */ \\\"./core/logger.js\\\");\\n\\n\\n\\n\\n\\nconst debug = Object(_logger__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"])('quill:selection');\\n\\nclass Range {\\n constructor(index, length = 0) {\\n this.index = index;\\n this.length = length;\\n }\\n\\n}\\n\\nclass Selection {\\n constructor(scroll, emitter) {\\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 = this.scroll.create('cursor', this); // savedRange is last non-null range\\n\\n this.savedRange = new Range(0, 0);\\n this.lastRange = this.savedRange;\\n this.lastNative = null;\\n this.handleComposition();\\n this.handleDragging();\\n this.emitter.listenDOM('selectionchange', document, () => {\\n if (!this.mouseDown && !this.composing) {\\n setTimeout(this.update.bind(this, _emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.USER), 1);\\n }\\n });\\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.SCROLL_BEFORE_UPDATE, () => {\\n if (!this.hasFocus()) return;\\n const native = this.getNativeRange();\\n if (native == null) return;\\n if (native.start.node === this.cursor.textNode) return; // cursor.restore() will handle\\n\\n this.emitter.once(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.SCROLL_UPDATE, () => {\\n try {\\n if (this.root.contains(native.start.node) && this.root.contains(native.end.node)) {\\n this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\\n }\\n\\n this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.SILENT);\\n } catch (ignored) {// ignore\\n }\\n });\\n });\\n this.emitter.on(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.SCROLL_OPTIMIZE, (mutations, context) => {\\n if (context.range) {\\n const {\\n startNode,\\n startOffset,\\n endNode,\\n endOffset\\n } = context.range;\\n this.setNativeRange(startNode, startOffset, endNode, endOffset);\\n this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.SILENT);\\n }\\n });\\n this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.SILENT);\\n }\\n\\n handleComposition() {\\n this.root.addEventListener('compositionstart', () => {\\n this.composing = true;\\n this.scroll.batchStart();\\n });\\n this.root.addEventListener('compositionend', () => {\\n this.scroll.batchEnd();\\n this.composing = false;\\n\\n if (this.cursor.parent) {\\n const range = this.cursor.restore();\\n if (!range) return;\\n setTimeout(() => {\\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\\n }, 1);\\n }\\n });\\n }\\n\\n handleDragging() {\\n this.emitter.listenDOM('mousedown', document.body, () => {\\n this.mouseDown = true;\\n });\\n this.emitter.listenDOM('mouseup', document.body, () => {\\n this.mouseDown = false;\\n this.update(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.USER);\\n });\\n }\\n\\n focus() {\\n if (this.hasFocus()) return;\\n this.root.focus();\\n this.setRange(this.savedRange);\\n }\\n\\n format(format, value) {\\n this.scroll.update();\\n const nativeRange = this.getNativeRange();\\n if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK)) return;\\n\\n if (nativeRange.start.node !== this.cursor.textNode) {\\n const blot = this.scroll.find(nativeRange.start.node, false);\\n if (blot == null) return; // TODO Give blot ability to not split\\n\\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"LeafBlot\\\"]) {\\n const 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\\n this.cursor.attach();\\n }\\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 getBounds(index, length = 0) {\\n const scrollLength = this.scroll.length();\\n index = Math.min(index, scrollLength - 1);\\n length = Math.min(index + length, scrollLength - 1) - index;\\n let node;\\n let [leaf, offset] = this.scroll.leaf(index);\\n if (leaf == null) return null;\\n [node, offset] = leaf.position(offset, true);\\n const range = document.createRange();\\n\\n if (length > 0) {\\n range.setStart(node, offset);\\n [leaf, offset] = this.scroll.leaf(index + length);\\n if (leaf == null) return null;\\n [node, offset] = leaf.position(offset, true);\\n range.setEnd(node, offset);\\n return range.getBoundingClientRect();\\n }\\n\\n let side = 'left';\\n let rect;\\n\\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\\n rect = range.getBoundingClientRect();\\n } else {\\n rect = leaf.domNode.getBoundingClientRect();\\n if (offset > 0) side = 'right';\\n }\\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 getNativeRange() {\\n const selection = document.getSelection();\\n if (selection == null || selection.rangeCount <= 0) return null;\\n const nativeRange = selection.getRangeAt(0);\\n if (nativeRange == null) return null;\\n const range = this.normalizeNative(nativeRange);\\n debug.info('getNativeRange', range);\\n return range;\\n }\\n\\n getRange() {\\n const normalized = this.getNativeRange();\\n if (normalized == null) return [null, null];\\n const range = this.normalizedToRange(normalized);\\n return [range, normalized];\\n }\\n\\n hasFocus() {\\n return document.activeElement === this.root || contains(this.root, document.activeElement);\\n }\\n\\n normalizedToRange(range) {\\n const positions = [[range.start.node, range.start.offset]];\\n\\n if (!range.native.collapsed) {\\n positions.push([range.end.node, range.end.offset]);\\n }\\n\\n const indexes = positions.map(position => {\\n const [node, offset] = position;\\n const blot = this.scroll.find(node, true);\\n const index = blot.offset(this.scroll);\\n\\n if (offset === 0) {\\n return index;\\n }\\n\\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"LeafBlot\\\"]) {\\n return index + blot.index(node, offset);\\n }\\n\\n return index + blot.length();\\n });\\n const end = Math.min(Math.max(...indexes), this.scroll.length() - 1);\\n const start = Math.min(end, ...indexes);\\n return new Range(start, end - start);\\n }\\n\\n normalizeNative(nativeRange) {\\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\\n return null;\\n }\\n\\n const range = {\\n start: {\\n node: nativeRange.startContainer,\\n offset: nativeRange.startOffset\\n },\\n end: {\\n node: nativeRange.endContainer,\\n offset: nativeRange.endOffset\\n },\\n native: nativeRange\\n };\\n [range.start, range.end].forEach(position => {\\n let {\\n node,\\n offset\\n } = position;\\n\\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\\n if (node instanceof Text) {\\n offset = node.data.length;\\n } else if (node.childNodes.length > 0) {\\n // Container case\\n offset = node.childNodes.length;\\n } else {\\n // Embed case\\n offset = node.childNodes.length + 1;\\n }\\n } else {\\n break;\\n }\\n }\\n\\n position.node = node;\\n position.offset = offset;\\n });\\n return range;\\n }\\n\\n rangeToNative(range) {\\n const indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\\n const args = [];\\n const scrollLength = this.scroll.length();\\n indexes.forEach((index, i) => {\\n index = Math.min(scrollLength - 1, index);\\n const [leaf, leafOffset] = this.scroll.leaf(index);\\n const [node, offset] = leaf.position(leafOffset, i !== 0);\\n args.push(node, offset);\\n });\\n\\n if (args.length < 2) {\\n return args.concat(args);\\n }\\n\\n return args;\\n }\\n\\n scrollIntoView(scrollingContainer) {\\n const range = this.lastRange;\\n if (range == null) return;\\n const bounds = this.getBounds(range.index, range.length);\\n if (bounds == null) return;\\n const limit = this.scroll.length() - 1;\\n const [first] = this.scroll.line(Math.min(range.index, limit));\\n let last = first;\\n\\n if (range.length > 0) {\\n [last] = this.scroll.line(Math.min(range.index + range.length, limit));\\n }\\n\\n if (first == null || last == null) return;\\n const scrollBounds = scrollingContainer.getBoundingClientRect();\\n\\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 setNativeRange(startNode, startOffset, endNode = startNode, endOffset = startOffset, force = false) {\\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\\n\\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\\n return;\\n }\\n\\n const selection = document.getSelection();\\n if (selection == null) return;\\n\\n if (startNode != null) {\\n if (!this.hasFocus()) this.root.focus();\\n const {\\n native\\n } = this.getNativeRange() || {};\\n\\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\\n if (startNode.tagName === 'BR') {\\n startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode);\\n startNode = startNode.parentNode;\\n }\\n\\n if (endNode.tagName === 'BR') {\\n endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode);\\n endNode = endNode.parentNode;\\n }\\n\\n const 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 }\\n }\\n\\n setRange(range, force = false, source = _emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.API) {\\n if (typeof force === 'string') {\\n source = force;\\n force = false;\\n }\\n\\n debug.info('setRange', range);\\n\\n if (range != null) {\\n const args = this.rangeToNative(range);\\n this.setNativeRange(...args, force);\\n } else {\\n this.setNativeRange(null);\\n }\\n\\n this.update(source);\\n }\\n\\n update(source = _emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.USER) {\\n const oldRange = this.lastRange;\\n const [lastRange, nativeRange] = this.getRange();\\n this.lastRange = lastRange;\\n this.lastNative = nativeRange;\\n\\n if (this.lastRange != null) {\\n this.savedRange = this.lastRange;\\n }\\n\\n if (!deep_equal__WEBPACK_IMPORTED_MODULE_2___default()(oldRange, this.lastRange)) {\\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\\n const range = this.cursor.restore();\\n\\n if (range) {\\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\\n }\\n }\\n\\n const args = [_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.SELECTION_CHANGE, clone__WEBPACK_IMPORTED_MODULE_1___default()(this.lastRange), clone__WEBPACK_IMPORTED_MODULE_1___default()(oldRange), source];\\n this.emitter.emit(_emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.EDITOR_CHANGE, ...args);\\n\\n if (source !== _emitter__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.SILENT) {\\n this.emitter.emit(...args);\\n }\\n }\\n }\\n\\n}\\n\\nfunction contains(parent, descendant) {\\n try {\\n // Firefox inserts inaccessible nodes around video elements\\n descendant.parentNode; // eslint-disable-line no-unused-expressions\\n } catch (e) {\\n return false;\\n }\\n\\n return parent.contains(descendant);\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./core/selection.js?\");\n\n/***/ }),\n\n/***/ \"./core/theme.js\":\n/*!***********************!*\\\n !*** ./core/theme.js ***!\n \\***********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\nclass Theme {\\n constructor(quill, options) {\\n this.quill = quill;\\n this.options = options;\\n this.modules = {};\\n }\\n\\n init() {\\n Object.keys(this.options.modules).forEach(name => {\\n if (this.modules[name] == null) {\\n this.addModule(name);\\n }\\n });\\n }\\n\\n addModule(name) {\\n const ModuleClass = this.quill.constructor.import(\\\"modules/\\\".concat(name));\\n this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {});\\n return this.modules[name];\\n }\\n\\n}\\n\\nTheme.DEFAULTS = {\\n modules: {}\\n};\\nTheme.themes = {\\n default: Theme\\n};\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Theme);\\n\\n//# sourceURL=webpack://Quill/./core/theme.js?\");\n\n/***/ }),\n\n/***/ \"./formats/align.js\":\n/*!**************************!*\\\n !*** ./formats/align.js ***!\n \\**************************/\n/*! exports provided: AlignAttribute, AlignClass, AlignStyle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"AlignAttribute\\\", function() { return AlignAttribute; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"AlignClass\\\", function() { return AlignClass; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"AlignStyle\\\", function() { return AlignStyle; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\nconst config = {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK,\\n whitelist: ['right', 'center', 'justify']\\n};\\nconst AlignAttribute = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Attributor\\\"]('align', 'align', config);\\nconst AlignClass = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"]('align', 'ql-align', config);\\nconst AlignStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"StyleAttributor\\\"]('align', 'text-align', config);\\n\\n\\n//# sourceURL=webpack://Quill/./formats/align.js?\");\n\n/***/ }),\n\n/***/ \"./formats/background.js\":\n/*!*******************************!*\\\n !*** ./formats/background.js ***!\n \\*******************************/\n/*! exports provided: BackgroundClass, BackgroundStyle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"BackgroundClass\\\", function() { return BackgroundClass; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"BackgroundStyle\\\", function() { return BackgroundStyle; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./color */ \\\"./formats/color.js\\\");\\n\\n\\nconst BackgroundClass = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"]('background', 'ql-bg', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE\\n});\\nconst BackgroundStyle = new _color__WEBPACK_IMPORTED_MODULE_1__[\\\"ColorAttributor\\\"]('background', 'background-color', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE\\n});\\n\\n\\n//# sourceURL=webpack://Quill/./formats/background.js?\");\n\n/***/ }),\n\n/***/ \"./formats/blockquote.js\":\n/*!*******************************!*\\\n !*** ./formats/blockquote.js ***!\n \\*******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n\\n\\nclass Blockquote extends _blots_block__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {}\\n\\nBlockquote.blotName = 'blockquote';\\nBlockquote.tagName = 'blockquote';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Blockquote);\\n\\n//# sourceURL=webpack://Quill/./formats/blockquote.js?\");\n\n/***/ }),\n\n/***/ \"./formats/bold.js\":\n/*!*************************!*\\\n !*** ./formats/bold.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/inline */ \\\"./blots/inline.js\\\");\\n\\n\\nclass Bold extends _blots_inline__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static create() {\\n return super.create();\\n }\\n\\n static formats() {\\n return true;\\n }\\n\\n optimize(context) {\\n super.optimize(context);\\n\\n if (this.domNode.tagName !== this.statics.tagName[0]) {\\n this.replaceWith(this.statics.blotName);\\n }\\n }\\n\\n}\\n\\nBold.blotName = 'bold';\\nBold.tagName = ['STRONG', 'B'];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Bold);\\n\\n//# sourceURL=webpack://Quill/./formats/bold.js?\");\n\n/***/ }),\n\n/***/ \"./formats/code.js\":\n/*!*************************!*\\\n !*** ./formats/code.js ***!\n \\*************************/\n/*! exports provided: Code, CodeBlockContainer, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"Code\\\", function() { return Code; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"CodeBlockContainer\\\", function() { return CodeBlockContainer; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return CodeBlock; });\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../blots/break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../blots/cursor */ \\\"./blots/cursor.js\\\");\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../blots/inline */ \\\"./blots/inline.js\\\");\\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../blots/text */ \\\"./blots/text.js\\\");\\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../blots/container */ \\\"./blots/container.js\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\nclass CodeBlockContainer extends _blots_container__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"] {\\n static create(value) {\\n const domNode = super.create(value);\\n domNode.setAttribute('spellcheck', false);\\n return domNode;\\n }\\n\\n html(index, length) {\\n const text = this.children.map(child => child.domNode.innerText).join('\\\\n').slice(index, index + length);\\n return \\\"
    \\\".concat(Object(_blots_text__WEBPACK_IMPORTED_MODULE_4__[\\\"escapeText\\\"])(text), \\\"
    \\\");\\n }\\n\\n}\\n\\nclass CodeBlock extends _blots_block__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static register() {\\n _core_quill__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"].register(CodeBlockContainer);\\n }\\n\\n}\\n\\nclass Code extends _blots_inline__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"] {}\\n\\nCode.blotName = 'code';\\nCode.tagName = 'CODE';\\nCodeBlock.blotName = 'code-block';\\nCodeBlock.className = 'ql-code-block';\\nCodeBlock.tagName = 'DIV';\\nCodeBlockContainer.blotName = 'code-block-container';\\nCodeBlockContainer.className = 'ql-code-block-container';\\nCodeBlockContainer.tagName = 'DIV';\\nCodeBlockContainer.allowedChildren = [CodeBlock];\\nCodeBlock.allowedChildren = [_blots_text__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"], _blots_break__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"], _blots_cursor__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"]];\\nCodeBlock.requiredContainer = CodeBlockContainer;\\nCodeBlock.TAB = ' ';\\n\\n\\n//# sourceURL=webpack://Quill/./formats/code.js?\");\n\n/***/ }),\n\n/***/ \"./formats/color.js\":\n/*!**************************!*\\\n !*** ./formats/color.js ***!\n \\**************************/\n/*! exports provided: ColorAttributor, ColorClass, ColorStyle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"ColorAttributor\\\", function() { return ColorAttributor; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"ColorClass\\\", function() { return ColorClass; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"ColorStyle\\\", function() { return ColorStyle; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\n\\nclass ColorAttributor extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"StyleAttributor\\\"] {\\n value(domNode) {\\n let value = super.value(domNode);\\n if (!value.startsWith('rgb(')) return value;\\n value = value.replace(/^[^\\\\d]+/, '').replace(/[^\\\\d]+$/, '');\\n const hex = value.split(',').map(component => \\\"00\\\".concat(parseInt(component, 10).toString(16)).slice(-2)).join('');\\n return \\\"#\\\".concat(hex);\\n }\\n\\n}\\n\\nconst ColorClass = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"]('color', 'ql-color', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE\\n});\\nconst ColorStyle = new ColorAttributor('color', 'color', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE\\n});\\n\\n\\n//# sourceURL=webpack://Quill/./formats/color.js?\");\n\n/***/ }),\n\n/***/ \"./formats/direction.js\":\n/*!******************************!*\\\n !*** ./formats/direction.js ***!\n \\******************************/\n/*! exports provided: DirectionAttribute, DirectionClass, DirectionStyle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"DirectionAttribute\\\", function() { return DirectionAttribute; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"DirectionClass\\\", function() { return DirectionClass; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"DirectionStyle\\\", function() { return DirectionStyle; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\nconst config = {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK,\\n whitelist: ['rtl']\\n};\\nconst DirectionAttribute = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Attributor\\\"]('direction', 'dir', config);\\nconst DirectionClass = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"]('direction', 'ql-direction', config);\\nconst DirectionStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"StyleAttributor\\\"]('direction', 'direction', config);\\n\\n\\n//# sourceURL=webpack://Quill/./formats/direction.js?\");\n\n/***/ }),\n\n/***/ \"./formats/font.js\":\n/*!*************************!*\\\n !*** ./formats/font.js ***!\n \\*************************/\n/*! exports provided: FontStyle, FontClass */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"FontStyle\\\", function() { return FontStyle; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"FontClass\\\", function() { return FontClass; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\nconst config = {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE,\\n whitelist: ['serif', 'monospace']\\n};\\nconst FontClass = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"]('font', 'ql-font', config);\\n\\nclass FontStyleAttributor extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"StyleAttributor\\\"] {\\n value(node) {\\n return super.value(node).replace(/[\\\"']/g, '');\\n }\\n\\n}\\n\\nconst FontStyle = new FontStyleAttributor('font', 'font-family', config);\\n\\n\\n//# sourceURL=webpack://Quill/./formats/font.js?\");\n\n/***/ }),\n\n/***/ \"./formats/formula.js\":\n/*!****************************!*\\\n !*** ./formats/formula.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_embed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/embed */ \\\"./blots/embed.js\\\");\\n\\n\\nclass Formula extends _blots_embed__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static create(value) {\\n if (window.katex == null) {\\n throw new Error('Formula module requires KaTeX.');\\n }\\n\\n const node = super.create(value);\\n\\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\\n return node;\\n }\\n\\n static value(domNode) {\\n return domNode.getAttribute('data-value');\\n }\\n\\n html() {\\n const {\\n formula\\n } = this.value();\\n return \\\"\\\".concat(formula, \\\"\\\");\\n }\\n\\n}\\n\\nFormula.blotName = 'formula';\\nFormula.className = 'ql-formula';\\nFormula.tagName = 'SPAN';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Formula);\\n\\n//# sourceURL=webpack://Quill/./formats/formula.js?\");\n\n/***/ }),\n\n/***/ \"./formats/header.js\":\n/*!***************************!*\\\n !*** ./formats/header.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n\\n\\nclass Header extends _blots_block__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static formats(domNode) {\\n return this.tagName.indexOf(domNode.tagName) + 1;\\n }\\n\\n}\\n\\nHeader.blotName = 'header';\\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Header);\\n\\n//# sourceURL=webpack://Quill/./formats/header.js?\");\n\n/***/ }),\n\n/***/ \"./formats/image.js\":\n/*!**************************!*\\\n !*** ./formats/image.js ***!\n \\**************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./link */ \\\"./formats/link.js\\\");\\n\\n\\nconst ATTRIBUTES = ['alt', 'height', 'width'];\\n\\nclass Image extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"EmbedBlot\\\"] {\\n static create(value) {\\n const node = super.create(value);\\n\\n if (typeof value === 'string') {\\n node.setAttribute('src', this.sanitize(value));\\n }\\n\\n return node;\\n }\\n\\n static formats(domNode) {\\n return ATTRIBUTES.reduce((formats, attribute) => {\\n if (domNode.hasAttribute(attribute)) {\\n formats[attribute] = domNode.getAttribute(attribute);\\n }\\n\\n return formats;\\n }, {});\\n }\\n\\n static match(url) {\\n return /\\\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\\\/.+;base64/.test(url);\\n }\\n\\n static register() {\\n if (/Firefox/i.test(navigator.userAgent)) {\\n setTimeout(() => {\\n // Disable image resizing in Firefox\\n document.execCommand('enableObjectResizing', false, false);\\n }, 1);\\n }\\n }\\n\\n static sanitize(url) {\\n return Object(_link__WEBPACK_IMPORTED_MODULE_1__[\\\"sanitize\\\"])(url, ['http', 'https', 'data']) ? url : '//:0';\\n }\\n\\n static value(domNode) {\\n return domNode.getAttribute('src');\\n }\\n\\n 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 super.format(name, value);\\n }\\n }\\n\\n}\\n\\nImage.blotName = 'image';\\nImage.tagName = 'IMG';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Image);\\n\\n//# sourceURL=webpack://Quill/./formats/image.js?\");\n\n/***/ }),\n\n/***/ \"./formats/indent.js\":\n/*!***************************!*\\\n !*** ./formats/indent.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\n\\nclass IndentAttributor extends parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"] {\\n add(node, value) {\\n if (value === '+1' || value === '-1') {\\n const indent = this.value(node) || 0;\\n value = value === '+1' ? indent + 1 : indent - 1;\\n }\\n\\n if (value === 0) {\\n this.remove(node);\\n return true;\\n }\\n\\n return super.add(node, value);\\n }\\n\\n canAdd(node, value) {\\n return super.canAdd(node, value) || super.canAdd(node, parseInt(value, 10));\\n }\\n\\n value(node) {\\n return parseInt(super.value(node), 10) || undefined; // Don't return NaN\\n }\\n\\n}\\n\\nconst IndentClass = new IndentAttributor('indent', 'ql-indent', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK,\\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\\n});\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (IndentClass);\\n\\n//# sourceURL=webpack://Quill/./formats/indent.js?\");\n\n/***/ }),\n\n/***/ \"./formats/italic.js\":\n/*!***************************!*\\\n !*** ./formats/italic.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _bold__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bold */ \\\"./formats/bold.js\\\");\\n\\n\\nclass Italic extends _bold__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {}\\n\\nItalic.blotName = 'italic';\\nItalic.tagName = ['EM', 'I'];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Italic);\\n\\n//# sourceURL=webpack://Quill/./formats/italic.js?\");\n\n/***/ }),\n\n/***/ \"./formats/link.js\":\n/*!*************************!*\\\n !*** ./formats/link.js ***!\n \\*************************/\n/*! exports provided: default, sanitize */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Link; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"sanitize\\\", function() { return sanitize; });\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/inline */ \\\"./blots/inline.js\\\");\\n\\n\\nclass Link extends _blots_inline__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static create(value) {\\n const node = super.create(value);\\n node.setAttribute('href', this.sanitize(value));\\n node.setAttribute('rel', 'noopener noreferrer');\\n node.setAttribute('target', '_blank');\\n return node;\\n }\\n\\n static formats(domNode) {\\n return domNode.getAttribute('href');\\n }\\n\\n static sanitize(url) {\\n return sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\\n }\\n\\n format(name, value) {\\n if (name !== this.statics.blotName || !value) {\\n super.format(name, value);\\n } else {\\n this.domNode.setAttribute('href', this.constructor.sanitize(value));\\n }\\n }\\n\\n}\\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 const anchor = document.createElement('a');\\n anchor.href = url;\\n const protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\\n return protocols.indexOf(protocol) > -1;\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./formats/link.js?\");\n\n/***/ }),\n\n/***/ \"./formats/list.js\":\n/*!*************************!*\\\n !*** ./formats/list.js ***!\n \\*************************/\n/*! exports provided: ListContainer, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"ListContainer\\\", function() { return ListContainer; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return ListItem; });\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../blots/container */ \\\"./blots/container.js\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n\\n\\n\\n\\nclass ListContainer extends _blots_container__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {}\\n\\nListContainer.blotName = 'list-container';\\nListContainer.tagName = 'OL';\\n\\nclass ListItem extends _blots_block__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static create(value) {\\n const node = super.create();\\n node.setAttribute('data-list', value);\\n return node;\\n }\\n\\n static formats(domNode) {\\n return domNode.getAttribute('data-list') || undefined;\\n }\\n\\n static register() {\\n _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].register(ListContainer);\\n }\\n\\n constructor(scroll, domNode) {\\n super(scroll, domNode);\\n const ui = domNode.ownerDocument.createElement('span');\\n\\n const listEventHandler = e => {\\n if (!scroll.isEnabled()) return;\\n const format = this.statics.formats(domNode, scroll);\\n\\n if (format === 'checked') {\\n this.format('list', 'unchecked');\\n e.preventDefault();\\n } else if (format === 'unchecked') {\\n this.format('list', 'checked');\\n e.preventDefault();\\n }\\n };\\n\\n ui.addEventListener('mousedown', listEventHandler);\\n ui.addEventListener('touchstart', listEventHandler);\\n this.attachUI(ui);\\n }\\n\\n format(name, value) {\\n if (name === this.statics.blotName && value) {\\n this.domNode.setAttribute('data-list', value);\\n } else {\\n super.format(name, value);\\n }\\n }\\n\\n}\\n\\nListItem.blotName = 'list';\\nListItem.tagName = 'LI';\\nListContainer.allowedChildren = [ListItem];\\nListItem.requiredContainer = ListContainer;\\n\\n\\n//# sourceURL=webpack://Quill/./formats/list.js?\");\n\n/***/ }),\n\n/***/ \"./formats/script.js\":\n/*!***************************!*\\\n !*** ./formats/script.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/inline */ \\\"./blots/inline.js\\\");\\n\\n\\nclass Script extends _blots_inline__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static create(value) {\\n if (value === 'super') {\\n return document.createElement('sup');\\n }\\n\\n if (value === 'sub') {\\n return document.createElement('sub');\\n }\\n\\n return super.create(value);\\n }\\n\\n static formats(domNode) {\\n if (domNode.tagName === 'SUB') return 'sub';\\n if (domNode.tagName === 'SUP') return 'super';\\n return undefined;\\n }\\n\\n}\\n\\nScript.blotName = 'script';\\nScript.tagName = ['SUB', 'SUP'];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Script);\\n\\n//# sourceURL=webpack://Quill/./formats/script.js?\");\n\n/***/ }),\n\n/***/ \"./formats/size.js\":\n/*!*************************!*\\\n !*** ./formats/size.js ***!\n \\*************************/\n/*! exports provided: SizeClass, SizeStyle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"SizeClass\\\", function() { return SizeClass; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"SizeStyle\\\", function() { return SizeStyle; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n\\nconst SizeClass = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"ClassAttributor\\\"]('size', 'ql-size', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE,\\n whitelist: ['small', 'large', 'huge']\\n});\\nconst SizeStyle = new parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"StyleAttributor\\\"]('size', 'font-size', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].INLINE,\\n whitelist: ['10px', '18px', '32px']\\n});\\n\\n\\n//# sourceURL=webpack://Quill/./formats/size.js?\");\n\n/***/ }),\n\n/***/ \"./formats/strike.js\":\n/*!***************************!*\\\n !*** ./formats/strike.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _bold__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bold */ \\\"./formats/bold.js\\\");\\n\\n\\nclass Strike extends _bold__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {}\\n\\nStrike.blotName = 'strike';\\nStrike.tagName = ['S', 'STRIKE'];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Strike);\\n\\n//# sourceURL=webpack://Quill/./formats/strike.js?\");\n\n/***/ }),\n\n/***/ \"./formats/table.js\":\n/*!**************************!*\\\n !*** ./formats/table.js ***!\n \\**************************/\n/*! exports provided: TableCell, TableRow, TableBody, TableContainer, tableId */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"TableCell\\\", function() { return TableCell; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"TableRow\\\", function() { return TableRow; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"TableBody\\\", function() { return TableBody; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"TableContainer\\\", function() { return TableContainer; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"tableId\\\", function() { return tableId; });\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _blots_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../blots/container */ \\\"./blots/container.js\\\");\\n\\n\\n\\nclass TableCell extends _blots_block__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static create(value) {\\n const node = super.create();\\n\\n if (value) {\\n node.setAttribute('data-row', value);\\n } else {\\n node.setAttribute('data-row', tableId());\\n }\\n\\n return node;\\n }\\n\\n static formats(domNode) {\\n if (domNode.hasAttribute('data-row')) {\\n return domNode.getAttribute('data-row');\\n }\\n\\n return undefined;\\n }\\n\\n cellOffset() {\\n if (this.parent) {\\n return this.parent.children.indexOf(this);\\n }\\n\\n return -1;\\n }\\n\\n format(name, value) {\\n if (name === TableCell.blotName && value) {\\n this.domNode.setAttribute('data-row', value);\\n } else {\\n super.format(name, value);\\n }\\n }\\n\\n row() {\\n return this.parent;\\n }\\n\\n rowOffset() {\\n if (this.row()) {\\n return this.row().rowOffset();\\n }\\n\\n return -1;\\n }\\n\\n table() {\\n return this.row() && this.row().table();\\n }\\n\\n}\\n\\nTableCell.blotName = 'table';\\nTableCell.tagName = 'TD';\\n\\nclass TableRow extends _blots_container__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {\\n checkMerge() {\\n if (super.checkMerge() && this.next.children.head != null) {\\n const thisHead = this.children.head.formats();\\n const thisTail = this.children.tail.formats();\\n const nextHead = this.next.children.head.formats();\\n const nextTail = this.next.children.tail.formats();\\n return thisHead.table === thisTail.table && thisHead.table === nextHead.table && thisHead.table === nextTail.table;\\n }\\n\\n return false;\\n }\\n\\n optimize(...args) {\\n super.optimize(...args);\\n this.children.forEach(child => {\\n if (child.next == null) return;\\n const childFormats = child.formats();\\n const nextFormats = child.next.formats();\\n\\n if (childFormats.table !== nextFormats.table) {\\n const next = this.splitAfter(child);\\n\\n if (next) {\\n next.optimize();\\n } // We might be able to merge with prev now\\n\\n\\n if (this.prev) {\\n this.prev.optimize();\\n }\\n }\\n });\\n }\\n\\n rowOffset() {\\n if (this.parent) {\\n return this.parent.children.indexOf(this);\\n }\\n\\n return -1;\\n }\\n\\n table() {\\n return this.parent && this.parent.parent;\\n }\\n\\n}\\n\\nTableRow.blotName = 'table-row';\\nTableRow.tagName = 'TR';\\n\\nclass TableBody extends _blots_container__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {}\\n\\nTableBody.blotName = 'table-body';\\nTableBody.tagName = 'TBODY';\\n\\nclass TableContainer extends _blots_container__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {\\n balanceCells() {\\n const rows = this.descendants(TableRow);\\n const maxColumns = rows.reduce((max, row) => {\\n return Math.max(row.children.length, max);\\n }, 0);\\n rows.forEach(row => {\\n new Array(maxColumns - row.children.length).fill(0).forEach(() => {\\n let value;\\n\\n if (row.children.head != null) {\\n value = TableCell.formats(row.children.head.domNode);\\n }\\n\\n const blot = this.scroll.create(TableCell.blotName, value);\\n row.appendChild(blot);\\n blot.optimize(); // Add break blot\\n });\\n });\\n }\\n\\n cells(column) {\\n return this.rows().map(row => row.children.at(column));\\n }\\n\\n deleteColumn(index) {\\n const [body] = this.descendant(TableBody);\\n if (body == null || body.children.head == null) return;\\n body.children.forEach(row => {\\n const cell = row.children.at(index);\\n\\n if (cell != null) {\\n cell.remove();\\n }\\n });\\n }\\n\\n insertColumn(index) {\\n const [body] = this.descendant(TableBody);\\n if (body == null || body.children.head == null) return;\\n body.children.forEach(row => {\\n const ref = row.children.at(index);\\n const value = TableCell.formats(row.children.head.domNode);\\n const cell = this.scroll.create(TableCell.blotName, value);\\n row.insertBefore(cell, ref);\\n });\\n }\\n\\n insertRow(index) {\\n const [body] = this.descendant(TableBody);\\n if (body == null || body.children.head == null) return;\\n const id = tableId();\\n const row = this.scroll.create(TableRow.blotName);\\n body.children.head.children.forEach(() => {\\n const cell = this.scroll.create(TableCell.blotName, id);\\n row.appendChild(cell);\\n });\\n const ref = body.children.at(index);\\n body.insertBefore(row, ref);\\n }\\n\\n rows() {\\n const body = this.children.head;\\n if (body == null) return [];\\n return body.children.map(row => row);\\n }\\n\\n}\\n\\nTableContainer.blotName = 'table-container';\\nTableContainer.tagName = 'TABLE';\\nTableContainer.allowedChildren = [TableBody];\\nTableBody.requiredContainer = TableContainer;\\nTableBody.allowedChildren = [TableRow];\\nTableRow.requiredContainer = TableBody;\\nTableRow.allowedChildren = [TableCell];\\nTableCell.requiredContainer = TableRow;\\n\\nfunction tableId() {\\n const id = Math.random().toString(36).slice(2, 6);\\n return \\\"row-\\\".concat(id);\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./formats/table.js?\");\n\n/***/ }),\n\n/***/ \"./formats/underline.js\":\n/*!******************************!*\\\n !*** ./formats/underline.js ***!\n \\******************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/inline */ \\\"./blots/inline.js\\\");\\n\\n\\nclass Underline extends _blots_inline__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {}\\n\\nUnderline.blotName = 'underline';\\nUnderline.tagName = 'U';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Underline);\\n\\n//# sourceURL=webpack://Quill/./formats/underline.js?\");\n\n/***/ }),\n\n/***/ \"./formats/video.js\":\n/*!**************************!*\\\n !*** ./formats/video.js ***!\n \\**************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./link */ \\\"./formats/link.js\\\");\\n\\n\\nconst ATTRIBUTES = ['height', 'width'];\\n\\nclass Video extends _blots_block__WEBPACK_IMPORTED_MODULE_0__[\\\"BlockEmbed\\\"] {\\n static create(value) {\\n const node = super.create(value);\\n node.setAttribute('frameborder', '0');\\n node.setAttribute('allowfullscreen', true);\\n node.setAttribute('src', this.sanitize(value));\\n return node;\\n }\\n\\n static formats(domNode) {\\n return ATTRIBUTES.reduce((formats, attribute) => {\\n if (domNode.hasAttribute(attribute)) {\\n formats[attribute] = domNode.getAttribute(attribute);\\n }\\n\\n return formats;\\n }, {});\\n }\\n\\n static sanitize(url) {\\n return _link__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sanitize(url); // eslint-disable-line import/no-named-as-default-member\\n }\\n\\n static value(domNode) {\\n return domNode.getAttribute('src');\\n }\\n\\n 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 super.format(name, value);\\n }\\n }\\n\\n html() {\\n const {\\n video\\n } = this.value();\\n return \\\"
    \\\").concat(video, \\\"\\\");\\n }\\n\\n}\\n\\nVideo.blotName = 'video';\\nVideo.className = 'ql-video';\\nVideo.tagName = 'IFRAME';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Video);\\n\\n//# sourceURL=webpack://Quill/./formats/video.js?\");\n\n/***/ }),\n\n/***/ \"./modules/clipboard.js\":\n/*!******************************!*\\\n !*** ./modules/clipboard.js ***!\n \\******************************/\n/*! exports provided: default, matchAttributor, matchBlot, matchNewline, matchText, traverse */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Clipboard; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"matchAttributor\\\", function() { return matchAttributor; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"matchBlot\\\", function() { return matchBlot; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"matchNewline\\\", function() { return matchNewline; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"matchText\\\", function() { return matchText; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"traverse\\\", function() { return traverse; });\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _core_logger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/logger */ \\\"./core/logger.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n/* harmony import */ var _formats_align__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../formats/align */ \\\"./formats/align.js\\\");\\n/* harmony import */ var _formats_background__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../formats/background */ \\\"./formats/background.js\\\");\\n/* harmony import */ var _formats_code__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../formats/code */ \\\"./formats/code.js\\\");\\n/* harmony import */ var _formats_color__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../formats/color */ \\\"./formats/color.js\\\");\\n/* harmony import */ var _formats_direction__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../formats/direction */ \\\"./formats/direction.js\\\");\\n/* harmony import */ var _formats_font__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../formats/font */ \\\"./formats/font.js\\\");\\n/* harmony import */ var _formats_size__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../formats/size */ \\\"./formats/size.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nconst debug = Object(_core_logger__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"])('quill:clipboard');\\nconst CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['ol, ul', matchList], ['pre', matchCodeBlock], ['tr', matchTable], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['strike', matchAlias.bind(matchAlias, 'strike')], ['style', matchIgnore]];\\nconst ATTRIBUTE_ATTRIBUTORS = [_formats_align__WEBPACK_IMPORTED_MODULE_7__[\\\"AlignAttribute\\\"], _formats_direction__WEBPACK_IMPORTED_MODULE_11__[\\\"DirectionAttribute\\\"]].reduce((memo, attr) => {\\n memo[attr.keyName] = attr;\\n return memo;\\n}, {});\\nconst STYLE_ATTRIBUTORS = [_formats_align__WEBPACK_IMPORTED_MODULE_7__[\\\"AlignStyle\\\"], _formats_background__WEBPACK_IMPORTED_MODULE_8__[\\\"BackgroundStyle\\\"], _formats_color__WEBPACK_IMPORTED_MODULE_10__[\\\"ColorStyle\\\"], _formats_direction__WEBPACK_IMPORTED_MODULE_11__[\\\"DirectionStyle\\\"], _formats_font__WEBPACK_IMPORTED_MODULE_12__[\\\"FontStyle\\\"], _formats_size__WEBPACK_IMPORTED_MODULE_13__[\\\"SizeStyle\\\"]].reduce((memo, attr) => {\\n memo[attr.keyName] = attr;\\n return memo;\\n}, {});\\n\\nclass Clipboard extends _core_module__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"] {\\n constructor(quill, options) {\\n super(quill, options);\\n this.quill.root.addEventListener('copy', e => this.onCaptureCopy(e, false));\\n this.quill.root.addEventListener('cut', e => this.onCaptureCopy(e, true));\\n this.quill.root.addEventListener('paste', this.onCapturePaste.bind(this));\\n this.matchers = [];\\n CLIPBOARD_CONFIG.concat(this.options.matchers).forEach(([selector, matcher]) => {\\n this.addMatcher(selector, matcher);\\n });\\n }\\n\\n addMatcher(selector, matcher) {\\n this.matchers.push([selector, matcher]);\\n }\\n\\n convert({\\n html,\\n text\\n }, formats = {}) {\\n if (formats[_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].blotName]) {\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().insert(text, {\\n [_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].blotName]: formats[_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].blotName]\\n });\\n }\\n\\n if (!html) {\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().insert(text || '');\\n }\\n\\n const doc = new DOMParser().parseFromString(html, 'text/html');\\n const container = doc.body;\\n const nodeMatches = new WeakMap();\\n const [elementMatchers, textMatchers] = this.prepareMatching(container, nodeMatches);\\n const delta = traverse(this.quill.scroll, container, elementMatchers, textMatchers, nodeMatches); // Remove trailing newline\\n\\n if (deltaEndsWith(delta, '\\\\n') && (delta.ops[delta.ops.length - 1].attributes == null || formats.table)) {\\n return delta.compose(new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().retain(delta.length() - 1).delete(1));\\n }\\n\\n return delta;\\n }\\n\\n dangerouslyPasteHTML(index, html, source = _core_quill__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.API) {\\n if (typeof index === 'string') {\\n const delta = this.convert({\\n html: index,\\n text: ''\\n });\\n this.quill.setContents(delta, html);\\n this.quill.setSelection(0, _core_quill__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT);\\n } else {\\n const paste = this.convert({\\n html,\\n text: ''\\n });\\n this.quill.updateContents(new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().retain(index).concat(paste), source);\\n this.quill.setSelection(index + paste.length(), _core_quill__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT);\\n }\\n }\\n\\n onCaptureCopy(e, isCut = false) {\\n if (e.defaultPrevented) return;\\n e.preventDefault();\\n const [range] = this.quill.selection.getRange();\\n if (range == null) return;\\n const {\\n html,\\n text\\n } = this.onCopy(range, isCut);\\n e.clipboardData.setData('text/plain', text);\\n e.clipboardData.setData('text/html', html);\\n\\n if (isCut) {\\n this.quill.deleteText(range, _core_quill__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.USER);\\n }\\n }\\n\\n onCapturePaste(e) {\\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\\n e.preventDefault();\\n const range = this.quill.getSelection(true);\\n if (range == null) return;\\n const html = e.clipboardData.getData('text/html');\\n const text = e.clipboardData.getData('text/plain');\\n const files = Array.from(e.clipboardData.files || []);\\n\\n if (!html && files.length > 0) {\\n this.quill.uploader.upload(range, files);\\n } else {\\n this.onPaste(range, {\\n html,\\n text\\n });\\n }\\n }\\n\\n onCopy(range) {\\n const text = this.quill.getText(range);\\n const html = this.quill.getSemanticHTML(range);\\n return {\\n html,\\n text\\n };\\n }\\n\\n onPaste(range, {\\n text,\\n html\\n }) {\\n const formats = this.quill.getFormat(range.index);\\n const pastedDelta = this.convert({\\n text,\\n html\\n }, formats);\\n debug.log('onPaste', pastedDelta, {\\n text,\\n html\\n });\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().retain(range.index).delete(range.length).concat(pastedDelta);\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.USER); // range.length contributes to delta.length()\\n\\n this.quill.setSelection(delta.length() - range.length, _core_quill__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].sources.SILENT);\\n this.quill.scrollIntoView();\\n }\\n\\n prepareMatching(container, nodeMatches) {\\n const elementMatchers = [];\\n const textMatchers = [];\\n this.matchers.forEach(pair => {\\n const [selector, matcher] = pair;\\n\\n switch (selector) {\\n case Node.TEXT_NODE:\\n textMatchers.push(matcher);\\n break;\\n\\n case Node.ELEMENT_NODE:\\n elementMatchers.push(matcher);\\n break;\\n\\n default:\\n Array.from(container.querySelectorAll(selector)).forEach(node => {\\n if (nodeMatches.has(node)) {\\n const matches = nodeMatches.get(node);\\n matches.push(matcher);\\n } else {\\n nodeMatches.set(node, [matcher]);\\n }\\n });\\n break;\\n }\\n });\\n return [elementMatchers, textMatchers];\\n }\\n\\n}\\n\\nClipboard.DEFAULTS = {\\n matchers: []\\n};\\n\\nfunction applyFormat(delta, format, value) {\\n if (typeof format === 'object') {\\n return Object.keys(format).reduce((newDelta, key) => {\\n return applyFormat(newDelta, key, format[key]);\\n }, delta);\\n }\\n\\n return delta.reduce((newDelta, op) => {\\n if (op.attributes && op.attributes[format]) {\\n return newDelta.push(op);\\n }\\n\\n return newDelta.insert(op.insert, extend__WEBPACK_IMPORTED_MODULE_0___default()({}, {\\n [format]: value\\n }, op.attributes));\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a());\\n}\\n\\nfunction deltaEndsWith(delta, text) {\\n let endText = '';\\n\\n for (let i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i // eslint-disable-line no-plusplus\\n ) {\\n const op = delta.ops[i];\\n if (typeof op.insert !== 'string') break;\\n endText = op.insert + endText;\\n }\\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\\n return ['address', 'article', 'blockquote', 'canvas', 'dd', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'iframe', 'li', 'main', 'nav', 'ol', 'output', 'p', 'pre', 'section', 'table', 'td', 'tr', 'ul', 'video'].includes(node.tagName.toLowerCase());\\n}\\n\\nconst preNodes = new WeakMap();\\n\\nfunction isPre(node) {\\n if (node == null) return false;\\n\\n if (!preNodes.has(node)) {\\n if (node.tagName === 'PRE') {\\n preNodes.set(node, true);\\n } else {\\n preNodes.set(node, isPre(node.parentNode));\\n }\\n }\\n\\n return preNodes.get(node);\\n}\\n\\nfunction traverse(scroll, node, elementMatchers, textMatchers, nodeMatches) {\\n // Post-order\\n if (node.nodeType === node.TEXT_NODE) {\\n return textMatchers.reduce((delta, matcher) => {\\n return matcher(node, delta, scroll);\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a());\\n }\\n\\n if (node.nodeType === node.ELEMENT_NODE) {\\n return Array.from(node.childNodes || []).reduce((delta, childNode) => {\\n let childrenDelta = traverse(scroll, childNode, elementMatchers, textMatchers, nodeMatches);\\n\\n if (childNode.nodeType === node.ELEMENT_NODE) {\\n childrenDelta = elementMatchers.reduce((reducedDelta, matcher) => {\\n return matcher(childNode, reducedDelta, scroll);\\n }, childrenDelta);\\n childrenDelta = (nodeMatches.get(childNode) || []).reduce((reducedDelta, matcher) => {\\n return matcher(childNode, reducedDelta, scroll);\\n }, childrenDelta);\\n }\\n\\n return delta.concat(childrenDelta);\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a());\\n }\\n\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a();\\n}\\n\\nfunction matchAlias(format, node, delta) {\\n return applyFormat(delta, format, true);\\n}\\n\\nfunction matchAttributor(node, delta, scroll) {\\n const attributes = parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"Attributor\\\"].keys(node);\\n const classes = parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"ClassAttributor\\\"].keys(node);\\n const styles = parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"StyleAttributor\\\"].keys(node);\\n const formats = {};\\n attributes.concat(classes).concat(styles).forEach(name => {\\n let attr = scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"Scope\\\"].ATTRIBUTE);\\n\\n if (attr != null) {\\n formats[attr.attrName] = attr.value(node);\\n if (formats[attr.attrName]) return;\\n }\\n\\n attr = ATTRIBUTE_ATTRIBUTORS[name];\\n\\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\\n formats[attr.attrName] = attr.value(node) || undefined;\\n }\\n\\n attr = STYLE_ATTRIBUTORS[name];\\n\\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\\n if (Object.keys(formats).length > 0) {\\n return applyFormat(delta, formats);\\n }\\n\\n return delta;\\n}\\n\\nfunction matchBlot(node, delta, scroll) {\\n const match = scroll.query(node);\\n if (match == null) return delta;\\n\\n if (match.prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"EmbedBlot\\\"]) {\\n const embed = {};\\n const value = match.value(node);\\n\\n if (value != null) {\\n embed[match.blotName] = value;\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().insert(embed, match.formats(node, scroll));\\n }\\n } else {\\n if (match.prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_2__[\\\"BlockBlot\\\"] && !deltaEndsWith(delta, '\\\\n')) {\\n delta.insert('\\\\n');\\n }\\n\\n if (typeof match.formats === 'function') {\\n return applyFormat(delta, match.blotName, match.formats(node, scroll));\\n }\\n }\\n\\n return delta;\\n}\\n\\nfunction matchBreak(node, delta) {\\n if (!deltaEndsWith(delta, '\\\\n')) {\\n delta.insert('\\\\n');\\n }\\n\\n return delta;\\n}\\n\\nfunction matchCodeBlock(node, delta, scroll) {\\n const match = scroll.query('code-block');\\n const language = match ? match.formats(node, scroll) : true;\\n return applyFormat(delta, 'code-block', language);\\n}\\n\\nfunction matchIgnore() {\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a();\\n}\\n\\nfunction matchIndent(node, delta, scroll) {\\n const match = scroll.query(node);\\n\\n if (match == null || match.blotName !== 'list' || !deltaEndsWith(delta, '\\\\n')) {\\n return delta;\\n }\\n\\n let indent = -1;\\n let parent = node.parentNode;\\n\\n while (parent != null) {\\n if (['OL', 'UL'].includes(parent.tagName)) {\\n indent += 1;\\n }\\n\\n parent = parent.parentNode;\\n }\\n\\n if (indent <= 0) return delta;\\n return delta.reduce((composed, op) => {\\n if (op.attributes && op.attributes.list) {\\n return composed.push(op);\\n }\\n\\n return composed.insert(op.insert, {\\n indent,\\n ...(op.attributes || {})\\n });\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a());\\n}\\n\\nfunction matchList(node, delta) {\\n const list = node.tagName === 'OL' ? 'ordered' : 'bullet';\\n return applyFormat(delta, 'list', list);\\n}\\n\\nfunction matchNewline(node, delta, scroll) {\\n if (!deltaEndsWith(delta, '\\\\n')) {\\n if (isLine(node)) {\\n return delta.insert('\\\\n');\\n }\\n\\n if (delta.length() > 0 && node.nextSibling) {\\n let {\\n nextSibling\\n } = node;\\n\\n while (nextSibling != null) {\\n if (isLine(nextSibling)) {\\n return delta.insert('\\\\n');\\n }\\n\\n const match = scroll.query(nextSibling);\\n\\n if (match && match.prototype instanceof _blots_block__WEBPACK_IMPORTED_MODULE_3__[\\\"BlockEmbed\\\"]) {\\n return delta.insert('\\\\n');\\n }\\n\\n nextSibling = nextSibling.firstChild;\\n }\\n }\\n }\\n\\n return delta;\\n}\\n\\nfunction matchStyles(node, delta) {\\n const formats = {};\\n const style = node.style || {};\\n\\n if (style.fontStyle === 'italic') {\\n formats.italic = true;\\n }\\n\\n if (style.textDecoration === 'underline') {\\n formats.underline = true;\\n }\\n\\n if (style.textDecoration === 'line-through') {\\n formats.strike = true;\\n }\\n\\n if (style.fontWeight.startsWith('bold') || parseInt(style.fontWeight, 10) >= 700) {\\n formats.bold = true;\\n }\\n\\n if (Object.keys(formats).length > 0) {\\n delta = applyFormat(delta, formats);\\n }\\n\\n if (parseFloat(style.textIndent || 0) > 0) {\\n // Could be 0.5in\\n return new quill_delta__WEBPACK_IMPORTED_MODULE_1___default.a().insert('\\\\t').concat(delta);\\n }\\n\\n return delta;\\n}\\n\\nfunction matchTable(node, delta) {\\n const table = node.parentNode.tagName === 'TABLE' ? node.parentNode : node.parentNode.parentNode;\\n const rows = Array.from(table.querySelectorAll('tr'));\\n const row = rows.indexOf(node) + 1;\\n return applyFormat(delta, 'table', row);\\n}\\n\\nfunction matchText(node, delta) {\\n let text = node.data; // Word represents empty line with  \\n\\n if (node.parentNode.tagName === 'O:P') {\\n return delta.insert(text.trim());\\n }\\n\\n if (text.trim().length === 0 && text.includes('\\\\n')) {\\n return delta;\\n }\\n\\n if (!isPre(node)) {\\n const replacer = (collapse, match) => {\\n const replaced = match.replace(/[^\\\\u00a0]/g, ''); // \\\\u00a0 is nbsp;\\n\\n return replaced.length < 1 && collapse ? ' ' : replaced;\\n };\\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\\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\\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\\n return delta.insert(text);\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./modules/clipboard.js?\");\n\n/***/ }),\n\n/***/ \"./modules/history.js\":\n/*!****************************!*\\\n !*** ./modules/history.js ***!\n \\****************************/\n/*! exports provided: default, getLastChangeIndex */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return History; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"getLastChangeIndex\\\", function() { return getLastChangeIndex; });\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n\\n\\n\\n\\nclass History extends _core_module__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n constructor(quill, options) {\\n super(quill, options);\\n this.lastRecorded = 0;\\n this.ignoreChange = false;\\n this.clear();\\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.EDITOR_CHANGE, (eventName, delta, oldDelta, source) => {\\n if (eventName !== _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.TEXT_CHANGE || this.ignoreChange) return;\\n\\n if (!this.options.userOnly || source === _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER) {\\n this.record(delta, oldDelta);\\n } else {\\n this.transform(delta);\\n }\\n });\\n this.quill.keyboard.addBinding({\\n key: 'z',\\n shortKey: true\\n }, this.undo.bind(this));\\n this.quill.keyboard.addBinding({\\n key: 'z',\\n shortKey: true,\\n shiftKey: true\\n }, this.redo.bind(this));\\n\\n if (/Win/i.test(navigator.platform)) {\\n this.quill.keyboard.addBinding({\\n key: 'y',\\n shortKey: true\\n }, this.redo.bind(this));\\n }\\n }\\n\\n change(source, dest) {\\n if (this.stack[source].length === 0) return;\\n const delta = this.stack[source].pop();\\n const base = this.quill.getContents();\\n const inverseDelta = delta.invert(base);\\n this.stack[dest].push(inverseDelta);\\n this.lastRecorded = 0;\\n this.ignoreChange = true;\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n this.ignoreChange = false;\\n const index = getLastChangeIndex(this.quill.scroll, delta);\\n this.quill.setSelection(index);\\n }\\n\\n clear() {\\n this.stack = {\\n undo: [],\\n redo: []\\n };\\n }\\n\\n cutoff() {\\n this.lastRecorded = 0;\\n }\\n\\n record(changeDelta, oldDelta) {\\n if (changeDelta.ops.length === 0) return;\\n this.stack.redo = [];\\n let undoDelta = changeDelta.invert(oldDelta);\\n const timestamp = Date.now();\\n\\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\\n const delta = this.stack.undo.pop();\\n undoDelta = undoDelta.compose(delta);\\n } else {\\n this.lastRecorded = timestamp;\\n }\\n\\n if (undoDelta.length() === 0) return;\\n this.stack.undo.push(undoDelta);\\n\\n if (this.stack.undo.length > this.options.maxStack) {\\n this.stack.undo.shift();\\n }\\n }\\n\\n redo() {\\n this.change('redo', 'undo');\\n }\\n\\n transform(delta) {\\n transformStack(this.stack.undo, delta);\\n transformStack(this.stack.redo, delta);\\n }\\n\\n undo() {\\n this.change('undo', 'redo');\\n }\\n\\n}\\n\\nHistory.DEFAULTS = {\\n delay: 1000,\\n maxStack: 100,\\n userOnly: false\\n};\\n\\nfunction transformStack(stack, delta) {\\n let remoteDelta = delta;\\n\\n for (let i = stack.length - 1; i >= 0; i -= 1) {\\n const oldDelta = stack[i];\\n stack[i] = remoteDelta.transform(oldDelta, true);\\n remoteDelta = oldDelta.transform(remoteDelta);\\n\\n if (stack[i].length() === 0) {\\n stack.splice(i, 1);\\n }\\n }\\n}\\n\\nfunction endsWithNewlineChange(scroll, delta) {\\n const lastOp = delta.ops[delta.ops.length - 1];\\n if (lastOp == null) return false;\\n\\n if (lastOp.insert != null) {\\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\\\n');\\n }\\n\\n if (lastOp.attributes != null) {\\n return Object.keys(lastOp.attributes).some(attr => {\\n return scroll.query(attr, parchment__WEBPACK_IMPORTED_MODULE_0__[\\\"Scope\\\"].BLOCK) != null;\\n });\\n }\\n\\n return false;\\n}\\n\\nfunction getLastChangeIndex(scroll, delta) {\\n const deleteLength = delta.reduce((length, op) => {\\n return length + (op.delete || 0);\\n }, 0);\\n let changeIndex = delta.length() - deleteLength;\\n\\n if (endsWithNewlineChange(scroll, delta)) {\\n changeIndex -= 1;\\n }\\n\\n return changeIndex;\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./modules/history.js?\");\n\n/***/ }),\n\n/***/ \"./modules/keyboard.js\":\n/*!*****************************!*\\\n !*** ./modules/keyboard.js ***!\n \\*****************************/\n/*! exports provided: default, SHORTKEY, normalize */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Keyboard; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"SHORTKEY\\\", function() { return SHORTKEY; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"normalize\\\", function() { return normalize; });\\n/* harmony import */ var clone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clone */ \\\"./node_modules/clone/clone.js\\\");\\n/* harmony import */ var clone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(clone__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! deep-equal */ \\\"./node_modules/deep-equal/index.js\\\");\\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_2__);\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_3__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _core_logger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../core/logger */ \\\"./core/logger.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\nconst debug = Object(_core_logger__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"])('quill:keyboard');\\nconst SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\\n\\nclass Keyboard extends _core_module__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"] {\\n static match(evt, binding) {\\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(key => {\\n return !!binding[key] !== evt[key] && binding[key] !== null;\\n })) {\\n return false;\\n }\\n\\n return binding.key === evt.key || binding.key === evt.which;\\n }\\n\\n constructor(quill, options) {\\n super(quill, options);\\n this.bindings = {};\\n Object.keys(this.options.bindings).forEach(name => {\\n if (this.options.bindings[name]) {\\n this.addBinding(this.options.bindings[name]);\\n }\\n });\\n this.addBinding({\\n key: 'Enter',\\n shiftKey: null\\n }, this.handleEnter);\\n this.addBinding({\\n key: 'Enter',\\n metaKey: null,\\n ctrlKey: null,\\n altKey: null\\n }, () => {});\\n\\n if (/Firefox/i.test(navigator.userAgent)) {\\n // Need to handle delete and backspace for Firefox in the general case #1171\\n this.addBinding({\\n key: 'Backspace'\\n }, {\\n collapsed: true\\n }, this.handleBackspace);\\n this.addBinding({\\n key: 'Delete'\\n }, {\\n collapsed: true\\n }, this.handleDelete);\\n } else {\\n this.addBinding({\\n key: 'Backspace'\\n }, {\\n collapsed: true,\\n prefix: /^.?$/\\n }, this.handleBackspace);\\n this.addBinding({\\n key: 'Delete'\\n }, {\\n collapsed: true,\\n suffix: /^.?$/\\n }, this.handleDelete);\\n }\\n\\n this.addBinding({\\n key: 'Backspace'\\n }, {\\n collapsed: false\\n }, this.handleDeleteRange);\\n this.addBinding({\\n key: 'Delete'\\n }, {\\n collapsed: false\\n }, this.handleDeleteRange);\\n this.addBinding({\\n key: 'Backspace',\\n altKey: null,\\n ctrlKey: null,\\n metaKey: null,\\n shiftKey: null\\n }, {\\n collapsed: true,\\n offset: 0\\n }, this.handleBackspace);\\n this.listen();\\n }\\n\\n addBinding(keyBinding, context = {}, handler = {}) {\\n const binding = normalize(keyBinding);\\n\\n if (binding == null) {\\n debug.warn('Attempted to add invalid keyboard binding', binding);\\n return;\\n }\\n\\n if (typeof context === 'function') {\\n context = {\\n handler: context\\n };\\n }\\n\\n if (typeof handler === 'function') {\\n handler = {\\n handler\\n };\\n }\\n\\n const keys = Array.isArray(binding.key) ? binding.key : [binding.key];\\n keys.forEach(key => {\\n const singleBinding = extend__WEBPACK_IMPORTED_MODULE_2___default()({}, binding, {\\n key\\n }, context, handler);\\n this.bindings[singleBinding.key] = this.bindings[singleBinding.key] || [];\\n this.bindings[singleBinding.key].push(singleBinding);\\n });\\n }\\n\\n listen() {\\n this.quill.root.addEventListener('keydown', evt => {\\n if (evt.defaultPrevented || evt.isComposing) return;\\n const bindings = (this.bindings[evt.key] || []).concat(this.bindings[evt.which] || []);\\n const matches = bindings.filter(binding => Keyboard.match(evt, binding));\\n if (matches.length === 0) return;\\n const range = this.quill.getSelection();\\n if (range == null || !this.quill.hasFocus()) return;\\n const [line, offset] = this.quill.getLine(range.index);\\n const [leafStart, offsetStart] = this.quill.getLeaf(range.index);\\n const [leafEnd, offsetEnd] = range.length === 0 ? [leafStart, offsetStart] : this.quill.getLeaf(range.index + range.length);\\n const prefixText = leafStart instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"TextBlot\\\"] ? leafStart.value().slice(0, offsetStart) : '';\\n const suffixText = leafEnd instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"TextBlot\\\"] ? leafEnd.value().slice(offsetEnd) : '';\\n const curContext = {\\n collapsed: range.length === 0,\\n empty: range.length === 0 && line.length() <= 1,\\n format: this.quill.getFormat(range),\\n line,\\n offset,\\n prefix: prefixText,\\n suffix: suffixText,\\n event: evt\\n };\\n const prevented = matches.some(binding => {\\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) {\\n return false;\\n }\\n\\n if (binding.empty != null && binding.empty !== curContext.empty) {\\n return false;\\n }\\n\\n if (binding.offset != null && binding.offset !== curContext.offset) {\\n return false;\\n }\\n\\n if (Array.isArray(binding.format)) {\\n // any format is present\\n if (binding.format.every(name => curContext.format[name] == null)) {\\n return false;\\n }\\n } else if (typeof binding.format === 'object') {\\n // all formats must match\\n if (!Object.keys(binding.format).every(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 deep_equal__WEBPACK_IMPORTED_MODULE_1___default()(binding.format[name], curContext.format[name]);\\n })) {\\n return false;\\n }\\n }\\n\\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) {\\n return false;\\n }\\n\\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) {\\n return false;\\n }\\n\\n return binding.handler.call(this, range, curContext, binding) !== true;\\n });\\n\\n if (prevented) {\\n evt.preventDefault();\\n }\\n });\\n }\\n\\n handleBackspace(range, context) {\\n // Check for astral symbols\\n const length = /[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]$/.test(context.prefix) ? 2 : 1;\\n if (range.index === 0 || this.quill.getLength() <= 1) return;\\n let formats = {};\\n const [line] = this.quill.getLine(range.index);\\n let delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index - length).delete(length);\\n\\n if (context.offset === 0) {\\n // Always deleting newline here, length always 1\\n const [prev] = this.quill.getLine(range.index - 1);\\n\\n if (prev) {\\n const curFormats = line.formats();\\n const prevFormats = this.quill.getFormat(range.index - 1, 1);\\n formats = quill_delta__WEBPACK_IMPORTED_MODULE_3__[\\\"AttributeMap\\\"].diff(curFormats, prevFormats) || {};\\n\\n if (Object.keys(formats).length > 0) {\\n // line.length() - 1 targets \\\\n in line, another -1 for newline being deleted\\n const formatDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index + line.length() - 2).retain(1, formats);\\n delta = delta.compose(formatDelta);\\n }\\n }\\n }\\n\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.focus();\\n }\\n\\n handleDelete(range, context) {\\n // Check for astral symbols\\n const length = /^[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]/.test(context.suffix) ? 2 : 1;\\n if (range.index >= this.quill.getLength() - length) return;\\n let formats = {};\\n const [line] = this.quill.getLine(range.index);\\n let delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).delete(length);\\n\\n if (context.offset >= line.length() - 1) {\\n const [next] = this.quill.getLine(range.index + 1);\\n\\n if (next) {\\n const curFormats = line.formats();\\n const nextFormats = this.quill.getFormat(range.index, 1);\\n formats = quill_delta__WEBPACK_IMPORTED_MODULE_3__[\\\"AttributeMap\\\"].diff(curFormats, nextFormats) || {};\\n\\n if (Object.keys(formats).length > 0) {\\n delta = delta.retain(next.length() - 1).retain(1, formats);\\n }\\n }\\n }\\n\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.focus();\\n }\\n\\n handleDeleteRange(range) {\\n const lines = this.quill.getLines(range);\\n let formats = {};\\n\\n if (lines.length > 1) {\\n const firstFormats = lines[0].formats();\\n const lastFormats = lines[lines.length - 1].formats();\\n formats = quill_delta__WEBPACK_IMPORTED_MODULE_3__[\\\"AttributeMap\\\"].diff(lastFormats, firstFormats) || {};\\n }\\n\\n this.quill.deleteText(range, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n\\n if (Object.keys(formats).length > 0) {\\n this.quill.formatLine(range.index, 1, formats, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n\\n this.quill.setSelection(range.index, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n this.quill.focus();\\n }\\n\\n handleEnter(range, context) {\\n const lineFormats = Object.keys(context.format).reduce((formats, format) => {\\n if (this.quill.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"Scope\\\"].BLOCK) && !Array.isArray(context.format[format])) {\\n formats[format] = context.format[format];\\n }\\n\\n return formats;\\n }, {});\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).delete(range.length).insert('\\\\n', lineFormats);\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n this.quill.focus();\\n Object.keys(context.format).forEach(name => {\\n if (lineFormats[name] != null) return;\\n if (Array.isArray(context.format[name])) return;\\n if (name === 'code' || name === 'link') return;\\n this.quill.format(name, context.format[name], _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n });\\n }\\n\\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: 'Tab',\\n format: ['blockquote', 'indent', 'list'],\\n\\n handler(range, context) {\\n if (context.collapsed && context.offset !== 0) return true;\\n this.quill.format('indent', '+1', _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n return false;\\n }\\n\\n },\\n outdent: {\\n key: 'Tab',\\n shiftKey: true,\\n format: ['blockquote', 'indent', 'list'],\\n\\n // highlight tab or tab at beginning of list, indent or blockquote\\n handler(range, context) {\\n if (context.collapsed && context.offset !== 0) return true;\\n this.quill.format('indent', '-1', _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n return false;\\n }\\n\\n },\\n 'outdent backspace': {\\n key: 'Backspace',\\n collapsed: true,\\n shiftKey: null,\\n metaKey: null,\\n ctrlKey: null,\\n altKey: null,\\n format: ['indent', 'list'],\\n offset: 0,\\n\\n handler(range, context) {\\n if (context.format.indent != null) {\\n this.quill.format('indent', '-1', _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n } else if (context.format.list != null) {\\n this.quill.format('list', false, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n }\\n\\n },\\n 'indent code-block': makeCodeBlockHandler(true),\\n 'outdent code-block': makeCodeBlockHandler(false),\\n 'remove tab': {\\n key: 'Tab',\\n shiftKey: true,\\n collapsed: true,\\n prefix: /\\\\t$/,\\n\\n handler(range) {\\n this.quill.deleteText(range.index - 1, 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n\\n },\\n tab: {\\n key: 'Tab',\\n\\n handler(range, context) {\\n if (context.format.table) return true;\\n this.quill.history.cutoff();\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).delete(range.length).insert('\\\\t');\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.history.cutoff();\\n this.quill.setSelection(range.index + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n return false;\\n }\\n\\n },\\n 'blockquote empty enter': {\\n key: 'Enter',\\n collapsed: true,\\n format: ['blockquote'],\\n empty: true,\\n\\n handler() {\\n this.quill.format('blockquote', false, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n\\n },\\n 'list empty enter': {\\n key: 'Enter',\\n collapsed: true,\\n format: ['list'],\\n empty: true,\\n\\n handler(range, context) {\\n const formats = {\\n list: false\\n };\\n\\n if (context.format.indent) {\\n formats.indent = false;\\n }\\n\\n this.quill.formatLine(range.index, range.length, formats, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n\\n },\\n 'checklist enter': {\\n key: 'Enter',\\n collapsed: true,\\n format: {\\n list: 'checked'\\n },\\n\\n handler(range) {\\n const [line, offset] = this.quill.getLine(range.index);\\n const formats = extend__WEBPACK_IMPORTED_MODULE_2___default()({}, line.formats(), {\\n list: 'checked'\\n });\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).insert('\\\\n', formats).retain(line.length() - offset - 1).retain(1, {\\n list: 'unchecked'\\n });\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n this.quill.scrollIntoView();\\n }\\n\\n },\\n 'header enter': {\\n key: 'Enter',\\n collapsed: true,\\n format: ['header'],\\n suffix: /^$/,\\n\\n handler(range, context) {\\n const [line, offset] = this.quill.getLine(range.index);\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).insert('\\\\n', context.format).retain(line.length() - offset - 1).retain(1, {\\n header: null\\n });\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n this.quill.scrollIntoView();\\n }\\n\\n },\\n 'table backspace': {\\n key: 'Backspace',\\n format: ['table'],\\n collapsed: true,\\n offset: 0,\\n\\n handler() {}\\n\\n },\\n 'table delete': {\\n key: 'Delete',\\n format: ['table'],\\n collapsed: true,\\n suffix: /^$/,\\n\\n handler() {}\\n\\n },\\n 'table enter': {\\n key: 'Enter',\\n shiftKey: null,\\n format: ['table'],\\n\\n handler(range) {\\n const module = this.quill.getModule('table');\\n\\n if (module) {\\n const [table, row, cell, offset] = module.getTable(range);\\n const shift = tableSide(table, row, cell, offset);\\n if (shift == null) return;\\n let index = table.offset();\\n\\n if (shift < 0) {\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).insert('\\\\n');\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index + 1, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n } else if (shift > 0) {\\n index += table.length();\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(index).insert('\\\\n');\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(index, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n }\\n }\\n\\n },\\n 'table tab': {\\n key: 'Tab',\\n shiftKey: null,\\n format: ['table'],\\n\\n handler(range, context) {\\n const {\\n event,\\n line: cell\\n } = context;\\n const offset = cell.offset(this.quill.scroll);\\n\\n if (event.shiftKey) {\\n this.quill.setSelection(offset - 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n } else {\\n this.quill.setSelection(offset + cell.length(), _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n }\\n\\n },\\n 'list autofill': {\\n key: ' ',\\n shiftKey: null,\\n collapsed: true,\\n format: {\\n list: false,\\n 'code-block': false,\\n blockquote: false,\\n header: false,\\n table: false\\n },\\n prefix: /^\\\\s*?(\\\\d+\\\\.|-|\\\\*|\\\\[ ?\\\\]|\\\\[x\\\\])$/,\\n\\n handler(range, context) {\\n if (this.quill.scroll.query('list') == null) return true;\\n const {\\n length\\n } = context.prefix;\\n const [line, offset] = this.quill.getLine(range.index);\\n if (offset > length) return true;\\n let value;\\n\\n switch (context.prefix.trim()) {\\n case '[]':\\n case '[ ]':\\n value = 'unchecked';\\n break;\\n\\n case '[x]':\\n value = 'checked';\\n break;\\n\\n case '-':\\n case '*':\\n value = 'bullet';\\n break;\\n\\n default:\\n value = 'ordered';\\n }\\n\\n this.quill.insertText(range.index, ' ', _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.history.cutoff();\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, {\\n list: value\\n });\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.history.cutoff();\\n this.quill.setSelection(range.index - length, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n return false;\\n }\\n\\n },\\n 'code exit': {\\n key: 'Enter',\\n collapsed: true,\\n format: ['code-block'],\\n prefix: /^$/,\\n suffix: /^\\\\s*$/,\\n\\n handler(range) {\\n const [line, offset] = this.quill.getLine(range.index);\\n let numLines = 2;\\n let cur = line;\\n\\n while (cur != null && cur.length() <= 1 && cur.formats()['code-block']) {\\n cur = cur.prev;\\n numLines -= 1; // Requisite prev lines are empty\\n\\n if (numLines <= 0) {\\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index + line.length() - offset - 2).retain(1, {\\n 'code-block': null\\n }).delete(1);\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index - 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n return false;\\n }\\n }\\n\\n return true;\\n }\\n\\n },\\n 'embed left': makeEmbedArrowHandler('ArrowLeft', false),\\n 'embed left shift': makeEmbedArrowHandler('ArrowLeft', true),\\n 'embed right': makeEmbedArrowHandler('ArrowRight', false),\\n 'embed right shift': makeEmbedArrowHandler('ArrowRight', true),\\n 'table down': makeTableArrowHandler(false),\\n 'table up': makeTableArrowHandler(true)\\n }\\n};\\n\\nfunction makeCodeBlockHandler(indent) {\\n return {\\n key: 'Tab',\\n shiftKey: !indent,\\n format: {\\n 'code-block': true\\n },\\n\\n handler(range) {\\n const CodeBlock = this.quill.scroll.query('code-block');\\n const lines = range.length === 0 ? this.quill.getLines(range.index, 1) : this.quill.getLines(range);\\n let {\\n index,\\n length\\n } = range;\\n lines.forEach((line, i) => {\\n if (indent) {\\n line.insertAt(0, CodeBlock.TAB);\\n\\n if (i === 0) {\\n index += CodeBlock.TAB.length;\\n } else {\\n length += CodeBlock.TAB.length;\\n }\\n } else if (line.domNode.textContent.startsWith(CodeBlock.TAB)) {\\n line.deleteAt(0, CodeBlock.TAB.length);\\n\\n if (i === 0) {\\n index -= CodeBlock.TAB.length;\\n } else {\\n length -= CodeBlock.TAB.length;\\n }\\n }\\n });\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(index, length, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.SILENT);\\n }\\n\\n };\\n}\\n\\nfunction makeEmbedArrowHandler(key, shiftKey) {\\n const where = key === 'ArrowLeft' ? 'prefix' : 'suffix';\\n return {\\n key,\\n shiftKey,\\n altKey: null,\\n [where]: /^$/,\\n\\n handler(range) {\\n let {\\n index\\n } = range;\\n\\n if (key === 'ArrowRight') {\\n index += range.length + 1;\\n }\\n\\n const [leaf] = this.quill.getLeaf(index);\\n if (!(leaf instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\\\"EmbedBlot\\\"])) return true;\\n\\n if (key === 'ArrowLeft') {\\n if (shiftKey) {\\n this.quill.setSelection(range.index - 1, range.length + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n } else {\\n this.quill.setSelection(range.index - 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n } else if (shiftKey) {\\n this.quill.setSelection(range.index, range.length + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n } else {\\n this.quill.setSelection(range.index + range.length + 1, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n\\n return false;\\n }\\n\\n };\\n}\\n\\nfunction makeFormatHandler(format) {\\n return {\\n key: format[0],\\n shortKey: true,\\n\\n handler(range, context) {\\n this.quill.format(format, !context.format[format], _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n\\n };\\n}\\n\\nfunction makeTableArrowHandler(up) {\\n return {\\n key: up ? 'ArrowUp' : 'ArrowDown',\\n collapsed: true,\\n format: ['table'],\\n\\n handler(range, context) {\\n // TODO move to table module\\n const key = up ? 'prev' : 'next';\\n const cell = context.line;\\n const targetRow = cell.parent[key];\\n\\n if (targetRow != null) {\\n if (targetRow.statics.blotName === 'table-row') {\\n let targetCell = targetRow.children.head;\\n let cur = cell;\\n\\n while (cur.prev != null) {\\n cur = cur.prev;\\n targetCell = targetCell.next;\\n }\\n\\n const index = targetCell.offset(this.quill.scroll) + Math.min(context.offset, targetCell.length() - 1);\\n this.quill.setSelection(index, 0, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n } else {\\n const targetLine = cell.table()[key];\\n\\n if (targetLine != null) {\\n if (up) {\\n this.quill.setSelection(targetLine.offset(this.quill.scroll) + targetLine.length() - 1, 0, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n } else {\\n this.quill.setSelection(targetLine.offset(this.quill.scroll), 0, _core_quill__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"].sources.USER);\\n }\\n }\\n }\\n\\n return false;\\n }\\n\\n };\\n}\\n\\nfunction normalize(binding) {\\n if (typeof binding === 'string' || typeof binding === 'number') {\\n binding = {\\n key: binding\\n };\\n } else if (typeof binding === 'object') {\\n binding = clone__WEBPACK_IMPORTED_MODULE_0___default()(binding, false);\\n } else {\\n return null;\\n }\\n\\n if (binding.shortKey) {\\n binding[SHORTKEY] = binding.shortKey;\\n delete binding.shortKey;\\n }\\n\\n return binding;\\n}\\n\\nfunction tableSide(table, row, cell, offset) {\\n if (row.prev == null && row.next == null) {\\n if (cell.prev == null && cell.next == null) {\\n return offset === 0 ? -1 : 1;\\n }\\n\\n return cell.prev == null ? -1 : 1;\\n }\\n\\n if (row.prev == null) {\\n return -1;\\n }\\n\\n if (row.next == null) {\\n return 1;\\n }\\n\\n return null;\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./modules/keyboard.js?\");\n\n/***/ }),\n\n/***/ \"./modules/syntax.js\":\n/*!***************************!*\\\n !*** ./modules/syntax.js ***!\n \\***************************/\n/*! exports provided: CodeBlock, CodeToken, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"CodeBlock\\\", function() { return SyntaxCodeBlock; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"CodeToken\\\", function() { return CodeToken; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Syntax; });\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _blots_inline__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../blots/inline */ \\\"./blots/inline.js\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n/* harmony import */ var _blots_block__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../blots/block */ \\\"./blots/block.js\\\");\\n/* harmony import */ var _blots_break__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../blots/break */ \\\"./blots/break.js\\\");\\n/* harmony import */ var _blots_cursor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../blots/cursor */ \\\"./blots/cursor.js\\\");\\n/* harmony import */ var _blots_text__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../blots/text */ \\\"./blots/text.js\\\");\\n/* harmony import */ var _formats_code__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../formats/code */ \\\"./formats/code.js\\\");\\n/* harmony import */ var _clipboard__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./clipboard */ \\\"./modules/clipboard.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nconst TokenAttributor = new parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"ClassAttributor\\\"]('code-token', 'hljs', {\\n scope: parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"Scope\\\"].INLINE\\n});\\n\\nclass CodeToken extends _blots_inline__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n static formats(node, scroll) {\\n while (node != null && node !== scroll.domNode) {\\n if (node.classList && node.classList.contains(_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].className)) {\\n return super.formats(node, scroll);\\n }\\n\\n node = node.parentNode;\\n }\\n\\n return undefined;\\n }\\n\\n constructor(scroll, domNode, value) {\\n super(scroll, domNode, value);\\n TokenAttributor.add(this.domNode, value);\\n }\\n\\n format(format, value) {\\n if (format !== CodeToken.blotName) {\\n super.format(format, value);\\n } else if (value) {\\n TokenAttributor.add(this.domNode, value);\\n } else {\\n TokenAttributor.remove(this.domNode);\\n this.domNode.classList.remove(this.statics.className);\\n }\\n }\\n\\n optimize(...args) {\\n super.optimize(...args);\\n\\n if (!TokenAttributor.value(this.domNode)) {\\n this.unwrap();\\n }\\n }\\n\\n}\\n\\nCodeToken.blotName = 'code-token';\\nCodeToken.className = 'ql-token';\\n\\nclass SyntaxCodeBlock extends _formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"] {\\n static create(value) {\\n const domNode = super.create(value);\\n\\n if (typeof value === 'string') {\\n domNode.setAttribute('data-language', value);\\n }\\n\\n return domNode;\\n }\\n\\n static formats(domNode) {\\n return domNode.getAttribute('data-language') || 'plain';\\n }\\n\\n static register() {} // Syntax module will register\\n\\n\\n format(name, value) {\\n if (name === this.statics.blotName && value) {\\n this.domNode.setAttribute('data-language', value);\\n } else {\\n super.format(name, value);\\n }\\n }\\n\\n replaceWith(name, value) {\\n this.formatAt(0, this.length(), CodeToken.blotName, false);\\n return super.replaceWith(name, value);\\n }\\n\\n}\\n\\nclass SyntaxCodeBlockContainer extends _formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"CodeBlockContainer\\\"] {\\n attach() {\\n super.attach();\\n this.forceNext = false;\\n this.scroll.emitMount(this);\\n }\\n\\n format(name, value) {\\n if (name === SyntaxCodeBlock.blotName) {\\n this.forceNext = true;\\n this.children.forEach(child => {\\n child.format(name, value);\\n });\\n }\\n }\\n\\n formatAt(index, length, name, value) {\\n if (name === SyntaxCodeBlock.blotName) {\\n this.forceNext = true;\\n }\\n\\n super.formatAt(index, length, name, value);\\n }\\n\\n highlight(highlight, forced = false) {\\n if (this.children.head == null) return;\\n const nodes = Array.from(this.domNode.childNodes).filter(node => node !== this.uiNode);\\n const text = \\\"\\\".concat(nodes.map(node => node.textContent).join('\\\\n'), \\\"\\\\n\\\");\\n const language = SyntaxCodeBlock.formats(this.children.head.domNode);\\n\\n if (forced || this.forceNext || this.cachedText !== text) {\\n if (text.trim().length > 0 || this.cachedText == null) {\\n const oldDelta = this.children.reduce((delta, child) => {\\n return delta.concat(Object(_blots_block__WEBPACK_IMPORTED_MODULE_5__[\\\"blockDelta\\\"])(child, false));\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a());\\n const delta = highlight(text, language);\\n oldDelta.diff(delta).reduce((index, {\\n retain,\\n attributes\\n }) => {\\n // Should be all retains\\n if (!retain) return index;\\n\\n if (attributes) {\\n Object.keys(attributes).forEach(format => {\\n if ([SyntaxCodeBlock.blotName, CodeToken.blotName].includes(format)) {\\n this.formatAt(index, retain, format, attributes[format]);\\n }\\n });\\n }\\n\\n return index + retain;\\n }, 0);\\n }\\n\\n this.cachedText = text;\\n this.forceNext = false;\\n }\\n }\\n\\n optimize(context) {\\n super.optimize(context);\\n\\n if (this.parent != null && this.children.head != null && this.uiNode != null) {\\n const language = SyntaxCodeBlock.formats(this.children.head.domNode);\\n\\n if (language !== this.uiNode.value) {\\n this.uiNode.value = language;\\n }\\n }\\n }\\n\\n}\\n\\nSyntaxCodeBlockContainer.allowedChildren = [SyntaxCodeBlock];\\nSyntaxCodeBlock.requiredContainer = SyntaxCodeBlockContainer;\\nSyntaxCodeBlock.allowedChildren = [CodeToken, _blots_cursor__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"], _blots_text__WEBPACK_IMPORTED_MODULE_8__[\\\"default\\\"], _blots_break__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"]];\\n\\nclass Syntax extends _core_module__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"] {\\n static register() {\\n _core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].register(CodeToken, true);\\n _core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].register(SyntaxCodeBlock, true);\\n _core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].register(SyntaxCodeBlockContainer, true);\\n }\\n\\n constructor(quill, options) {\\n super(quill, options);\\n\\n if (this.options.hljs == null) {\\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\\n }\\n\\n this.languages = this.options.languages.reduce((memo, {\\n key\\n }) => {\\n memo[key] = true;\\n return memo;\\n }, {});\\n this.highlightBlot = this.highlightBlot.bind(this);\\n this.initListener();\\n this.initTimer();\\n }\\n\\n initListener() {\\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.SCROLL_BLOT_MOUNT, blot => {\\n if (!(blot instanceof SyntaxCodeBlockContainer)) return;\\n const select = this.quill.root.ownerDocument.createElement('select');\\n this.options.languages.forEach(({\\n key,\\n label\\n }) => {\\n const option = select.ownerDocument.createElement('option');\\n option.textContent = label;\\n option.setAttribute('value', key);\\n select.appendChild(option);\\n });\\n select.addEventListener('change', () => {\\n blot.format(SyntaxCodeBlock.blotName, select.value);\\n this.quill.root.focus(); // Prevent scrolling\\n\\n this.highlight(blot, true);\\n });\\n\\n if (blot.uiNode == null) {\\n blot.attachUI(select);\\n\\n if (blot.children.head) {\\n select.value = SyntaxCodeBlock.formats(blot.children.head.domNode);\\n }\\n }\\n });\\n }\\n\\n initTimer() {\\n let timer = null;\\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].events.SCROLL_OPTIMIZE, () => {\\n clearTimeout(timer);\\n timer = setTimeout(() => {\\n this.highlight();\\n timer = null;\\n }, this.options.interval);\\n });\\n }\\n\\n highlight(blot = null, force = false) {\\n if (this.quill.selection.composing) return;\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.USER);\\n const range = this.quill.getSelection();\\n const blots = blot == null ? this.quill.scroll.descendants(SyntaxCodeBlockContainer) : [blot];\\n blots.forEach(container => {\\n container.highlight(this.highlightBlot, force);\\n });\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.SILENT);\\n\\n if (range != null) {\\n this.quill.setSelection(range, _core_quill__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].sources.SILENT);\\n }\\n }\\n\\n highlightBlot(text, language = 'plain') {\\n language = this.languages[language] ? language : 'plain';\\n\\n if (language === 'plain') {\\n return Object(_blots_text__WEBPACK_IMPORTED_MODULE_8__[\\\"escapeText\\\"])(text).split('\\\\n').reduce((delta, line, i) => {\\n if (i !== 0) {\\n delta.insert('\\\\n', {\\n [_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].blotName]: language\\n });\\n }\\n\\n return delta.insert(line);\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a());\\n }\\n\\n const container = this.quill.root.ownerDocument.createElement('div');\\n container.classList.add(_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].className);\\n container.innerHTML = this.options.hljs.highlight(language, text).value;\\n return Object(_clipboard__WEBPACK_IMPORTED_MODULE_10__[\\\"traverse\\\"])(this.quill.scroll, container, [(node, delta) => {\\n const value = TokenAttributor.value(node);\\n\\n if (value) {\\n return delta.compose(new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a().retain(delta.length(), {\\n [CodeToken.blotName]: value\\n }));\\n }\\n\\n return delta;\\n }], [(node, delta) => {\\n return node.data.split('\\\\n').reduce((memo, nodeText, i) => {\\n if (i !== 0) memo.insert('\\\\n', {\\n [_formats_code__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"].blotName]: language\\n });\\n return memo.insert(nodeText);\\n }, delta);\\n }], new WeakMap());\\n }\\n\\n}\\n\\nSyntax.DEFAULTS = {\\n hljs: (() => {\\n return window.hljs;\\n })(),\\n interval: 1000,\\n languages: [{\\n key: 'plain',\\n label: 'Plain'\\n }, {\\n key: 'bash',\\n label: 'Bash'\\n }, {\\n key: 'cpp',\\n label: 'C++'\\n }, {\\n key: 'cs',\\n label: 'C#'\\n }, {\\n key: 'css',\\n label: 'CSS'\\n }, {\\n key: 'diff',\\n label: 'Diff'\\n }, {\\n key: 'xml',\\n label: 'HTML/XML'\\n }, {\\n key: 'java',\\n label: 'Java'\\n }, {\\n key: 'javascript',\\n label: 'Javascript'\\n }, {\\n key: 'markdown',\\n label: 'Markdown'\\n }, {\\n key: 'php',\\n label: 'PHP'\\n }, {\\n key: 'python',\\n label: 'Python'\\n }, {\\n key: 'ruby',\\n label: 'Ruby'\\n }, {\\n key: 'sql',\\n label: 'SQL'\\n }]\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./modules/syntax.js?\");\n\n/***/ }),\n\n/***/ \"./modules/table.js\":\n/*!**************************!*\\\n !*** ./modules/table.js ***!\n \\**************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n/* harmony import */ var _formats_table__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../formats/table */ \\\"./formats/table.js\\\");\\n\\n\\n\\n\\n\\nclass Table extends _core_module__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n static register() {\\n _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].register(_formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"TableCell\\\"]);\\n _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].register(_formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"TableRow\\\"]);\\n _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].register(_formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"TableBody\\\"]);\\n _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].register(_formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"TableContainer\\\"]);\\n }\\n\\n constructor(...args) {\\n super(...args);\\n this.listenBalanceCells();\\n }\\n\\n balanceTables() {\\n this.quill.scroll.descendants(_formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"TableContainer\\\"]).forEach(table => {\\n table.balanceCells();\\n });\\n }\\n\\n deleteColumn() {\\n const [table,, cell] = this.getTable();\\n if (cell == null) return;\\n table.deleteColumn(cell.cellOffset());\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n }\\n\\n deleteRow() {\\n const [, row] = this.getTable();\\n if (row == null) return;\\n row.remove();\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n }\\n\\n deleteTable() {\\n const [table] = this.getTable();\\n if (table == null) return;\\n const offset = table.offset();\\n table.remove();\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(offset, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.SILENT);\\n }\\n\\n getTable(range = this.quill.getSelection()) {\\n if (range == null) return [null, null, null, -1];\\n const [cell, offset] = this.quill.getLine(range.index);\\n\\n if (cell == null || cell.statics.blotName !== _formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"TableCell\\\"].blotName) {\\n return [null, null, null, -1];\\n }\\n\\n const row = cell.parent;\\n const table = row.parent.parent;\\n return [table, row, cell, offset];\\n }\\n\\n insertColumn(offset) {\\n const range = this.quill.getSelection();\\n const [table, row, cell] = this.getTable(range);\\n if (cell == null) return;\\n const column = cell.cellOffset();\\n table.insertColumn(column + offset);\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n let shift = row.rowOffset();\\n\\n if (offset === 0) {\\n shift += 1;\\n }\\n\\n this.quill.setSelection(range.index + shift, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.SILENT);\\n }\\n\\n insertColumnLeft() {\\n this.insertColumn(0);\\n }\\n\\n insertColumnRight() {\\n this.insertColumn(1);\\n }\\n\\n insertRow(offset) {\\n const range = this.quill.getSelection();\\n const [table, row, cell] = this.getTable(range);\\n if (cell == null) return;\\n const index = row.rowOffset();\\n table.insertRow(index + offset);\\n this.quill.update(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n\\n if (offset > 0) {\\n this.quill.setSelection(range, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.SILENT);\\n } else {\\n this.quill.setSelection(range.index + row.children.length, range.length, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.SILENT);\\n }\\n }\\n\\n insertRowAbove() {\\n this.insertRow(0);\\n }\\n\\n insertRowBelow() {\\n this.insertRow(1);\\n }\\n\\n insertTable(rows, columns) {\\n const range = this.quill.getSelection();\\n if (range == null) return;\\n const delta = new Array(rows).fill(0).reduce(memo => {\\n const text = new Array(columns).fill('\\\\n').join('');\\n return memo.insert(text, {\\n table: Object(_formats_table__WEBPACK_IMPORTED_MODULE_3__[\\\"tableId\\\"])()\\n });\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a().retain(range.index));\\n this.quill.updateContents(delta, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index, _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.SILENT);\\n this.balanceTables();\\n }\\n\\n listenBalanceCells() {\\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_OPTIMIZE, mutations => {\\n mutations.some(mutation => {\\n if (['TD', 'TR', 'TBODY', 'TABLE'].includes(mutation.target.tagName)) {\\n this.quill.once(_core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.TEXT_CHANGE, (delta, old, source) => {\\n if (source !== _core_quill__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER) return;\\n this.balanceTables();\\n });\\n return true;\\n }\\n\\n return false;\\n });\\n });\\n }\\n\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Table);\\n\\n//# sourceURL=webpack://Quill/./modules/table.js?\");\n\n/***/ }),\n\n/***/ \"./modules/toolbar.js\":\n/*!****************************!*\\\n !*** ./modules/toolbar.js ***!\n \\****************************/\n/*! exports provided: default, addControls */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Toolbar; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"addControls\\\", function() { return addControls; });\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \\\"./node_modules/parchment/src/parchment.ts\\\");\\n/* harmony import */ var _core_quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/quill */ \\\"./core/quill.js\\\");\\n/* harmony import */ var _core_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/logger */ \\\"./core/logger.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n\\n\\n\\n\\n\\nconst debug = Object(_core_logger__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"])('quill:toolbar');\\n\\nclass Toolbar extends _core_module__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"] {\\n constructor(quill, options) {\\n super(quill, options);\\n\\n if (Array.isArray(this.options.container)) {\\n const 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\\n if (!(this.container instanceof HTMLElement)) {\\n return debug.error('Container required for toolbar', this.options);\\n }\\n\\n this.container.classList.add('ql-toolbar');\\n this.controls = [];\\n this.handlers = {};\\n Object.keys(this.options.handlers).forEach(format => {\\n this.addHandler(format, this.options.handlers[format]);\\n });\\n Array.from(this.container.querySelectorAll('button, select')).forEach(input => {\\n this.attach(input);\\n });\\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].events.EDITOR_CHANGE, (type, range) => {\\n if (type === _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].events.SELECTION_CHANGE) {\\n this.update(range);\\n }\\n });\\n this.quill.on(_core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].events.SCROLL_OPTIMIZE, () => {\\n const [range] = this.quill.selection.getRange(); // quill.getSelection triggers update\\n\\n this.update(range);\\n });\\n }\\n\\n addHandler(format, handler) {\\n this.handlers[format] = handler;\\n }\\n\\n attach(input) {\\n let format = Array.from(input.classList).find(className => {\\n return className.indexOf('ql-') === 0;\\n });\\n if (!format) return;\\n format = format.slice('ql-'.length);\\n\\n if (input.tagName === 'BUTTON') {\\n input.setAttribute('type', 'button');\\n }\\n\\n if (this.handlers[format] == null && this.quill.scroll.query(format) == null) {\\n debug.warn('ignoring attaching to nonexistent format', format, input);\\n return;\\n }\\n\\n const eventName = input.tagName === 'SELECT' ? 'change' : 'click';\\n input.addEventListener(eventName, e => {\\n let value;\\n\\n if (input.tagName === 'SELECT') {\\n if (input.selectedIndex < 0) return;\\n const selected = input.options[input.selectedIndex];\\n\\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\\n e.preventDefault();\\n }\\n\\n this.quill.focus();\\n const [range] = this.quill.selection.getRange();\\n\\n if (this.handlers[format] != null) {\\n this.handlers[format].call(this, value);\\n } else if (this.quill.scroll.query(format).prototype instanceof parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"EmbedBlot\\\"]) {\\n value = prompt(\\\"Enter \\\".concat(format)); // eslint-disable-line no-alert\\n\\n if (!value) return;\\n this.quill.updateContents(new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a().retain(range.index).delete(range.length).insert({\\n [format]: value\\n }), _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n } else {\\n this.quill.format(format, value, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n\\n this.update(range);\\n });\\n this.controls.push([format, input]);\\n }\\n\\n update(range) {\\n const formats = range == null ? {} : this.quill.getFormat(range);\\n this.controls.forEach(pair => {\\n const [format, input] = pair;\\n\\n if (input.tagName === 'SELECT') {\\n let option;\\n\\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 let value = formats[format];\\n\\n if (typeof value === 'string') {\\n value = value.replace(/\\\"/g, '\\\\\\\\\\\"');\\n }\\n\\n option = input.querySelector(\\\"option[value=\\\\\\\"\\\".concat(value, \\\"\\\\\\\"]\\\"));\\n }\\n\\n if (option == null) {\\n input.value = ''; // TODO make configurable?\\n\\n input.selectedIndex = -1;\\n } else {\\n option.selected = true;\\n }\\n } else 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 const 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\\nToolbar.DEFAULTS = {};\\n\\nfunction addButton(container, format, value) {\\n const input = document.createElement('button');\\n input.setAttribute('type', 'button');\\n input.classList.add(\\\"ql-\\\".concat(format));\\n\\n if (value != null) {\\n input.value = value;\\n }\\n\\n container.appendChild(input);\\n}\\n\\nfunction addControls(container, groups) {\\n if (!Array.isArray(groups[0])) {\\n groups = [groups];\\n }\\n\\n groups.forEach(controls => {\\n const group = document.createElement('span');\\n group.classList.add('ql-formats');\\n controls.forEach(control => {\\n if (typeof control === 'string') {\\n addButton(group, control);\\n } else {\\n const format = Object.keys(control)[0];\\n const value = control[format];\\n\\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 const input = document.createElement('select');\\n input.classList.add(\\\"ql-\\\".concat(format));\\n values.forEach(value => {\\n const option = document.createElement('option');\\n\\n if (value !== false) {\\n option.setAttribute('value', value);\\n } else {\\n option.setAttribute('selected', 'selected');\\n }\\n\\n input.appendChild(option);\\n });\\n container.appendChild(input);\\n}\\n\\nToolbar.DEFAULTS = {\\n container: null,\\n handlers: {\\n clean() {\\n const range = this.quill.getSelection();\\n if (range == null) return;\\n\\n if (range.length === 0) {\\n const formats = this.quill.getFormat();\\n Object.keys(formats).forEach(name => {\\n // Clean functionality in existing apps only clean inline formats\\n if (this.quill.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_1__[\\\"Scope\\\"].INLINE) != null) {\\n this.quill.format(name, false, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n });\\n } else {\\n this.quill.removeFormat(range, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n },\\n\\n direction(value) {\\n const {\\n align\\n } = this.quill.getFormat();\\n\\n if (value === 'rtl' && align == null) {\\n this.quill.format('align', 'right', _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n } else if (!value && align === 'right') {\\n this.quill.format('align', false, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n\\n this.quill.format('direction', value, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n },\\n\\n indent(value) {\\n const range = this.quill.getSelection();\\n const formats = this.quill.getFormat(range);\\n const indent = parseInt(formats.indent || 0, 10);\\n\\n if (value === '+1' || value === '-1') {\\n let modifier = value === '+1' ? 1 : -1;\\n if (formats.direction === 'rtl') modifier *= -1;\\n this.quill.format('indent', indent + modifier, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n },\\n\\n link(value) {\\n if (value === true) {\\n value = prompt('Enter link URL:'); // eslint-disable-line no-alert\\n }\\n\\n this.quill.format('link', value, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n },\\n\\n list(value) {\\n const range = this.quill.getSelection();\\n const formats = this.quill.getFormat(range);\\n\\n if (value === 'check') {\\n if (formats.list === 'checked' || formats.list === 'unchecked') {\\n this.quill.format('list', false, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n } else {\\n this.quill.format('list', 'unchecked', _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n } else {\\n this.quill.format('list', value, _core_quill__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].sources.USER);\\n }\\n }\\n\\n }\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./modules/toolbar.js?\");\n\n/***/ }),\n\n/***/ \"./modules/uploader.js\":\n/*!*****************************!*\\\n !*** ./modules/uploader.js ***!\n \\*****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! quill-delta */ \\\"./node_modules/quill-delta/dist/Delta.js\\\");\\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _core_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/module */ \\\"./core/module.js\\\");\\n\\n\\n\\n\\nclass Uploader extends _core_module__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n constructor(quill, options) {\\n super(quill, options);\\n quill.root.addEventListener('drop', e => {\\n e.preventDefault();\\n let native;\\n\\n if (document.caretRangeFromPoint) {\\n native = document.caretRangeFromPoint(e.clientX, e.clientY);\\n } else if (document.caretPositionFromPoint) {\\n const position = document.caretPositionFromPoint(e.clientX, e.clientY);\\n native = document.createRange();\\n native.setStart(position.offsetNode, position.offset);\\n native.setEnd(position.offsetNode, position.offset);\\n } else {\\n return;\\n }\\n\\n const normalized = quill.selection.normalizeNative(native);\\n const range = quill.selection.normalizedToRange(normalized);\\n this.upload(range, e.dataTransfer.files);\\n });\\n }\\n\\n upload(range, files) {\\n const uploads = [];\\n Array.from(files).forEach(file => {\\n if (file && this.options.mimetypes.includes(file.type)) {\\n uploads.push(file);\\n }\\n });\\n\\n if (uploads.length > 0) {\\n this.options.handler.call(this, range, uploads);\\n }\\n }\\n\\n}\\n\\nUploader.DEFAULTS = {\\n mimetypes: ['image/png', 'image/jpeg'],\\n\\n handler(range, files) {\\n const promises = files.map(file => {\\n return new Promise(resolve => {\\n const reader = new FileReader();\\n\\n reader.onload = e => {\\n resolve(e.target.result);\\n };\\n\\n reader.readAsDataURL(file);\\n });\\n });\\n Promise.all(promises).then(images => {\\n const update = images.reduce((delta, image) => {\\n return delta.insert({\\n image\\n });\\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_0___default.a().retain(range.index).delete(range.length));\\n this.quill.updateContents(update, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n this.quill.setSelection(range.index + images.length, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.SILENT);\\n });\\n }\\n\\n};\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Uploader);\\n\\n//# sourceURL=webpack://Quill/./modules/uploader.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/array-filter/index.js\":\n/*!********************************************!*\\\n !*** ./node_modules/array-filter/index.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"\\n/**\\n * Array#filter.\\n *\\n * @param {Array} arr\\n * @param {Function} fn\\n * @param {Object=} self\\n * @return {Array}\\n * @throw TypeError\\n */\\n\\nmodule.exports = function (arr, fn, self) {\\n if (arr.filter) return arr.filter(fn, self);\\n if (void 0 === arr || null === arr) throw new TypeError;\\n if ('function' != typeof fn) throw new TypeError;\\n var ret = [];\\n for (var i = 0; i < arr.length; i++) {\\n if (!hasOwn.call(arr, i)) continue;\\n var val = arr[i];\\n if (fn.call(self, val, i, arr)) ret.push(val);\\n }\\n return ret;\\n};\\n\\nvar hasOwn = Object.prototype.hasOwnProperty;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/array-filter/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/available-typed-arrays/index.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/available-typed-arrays/index.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/* WEBPACK VAR INJECTION */(function(global) {\\n\\nvar filter = __webpack_require__(/*! array-filter */ \\\"./node_modules/array-filter/index.js\\\");\\n\\nmodule.exports = function availableTypedArrays() {\\n\\treturn filter([\\n\\t\\t'BigInt64Array',\\n\\t\\t'BigUint64Array',\\n\\t\\t'Float32Array',\\n\\t\\t'Float64Array',\\n\\t\\t'Int16Array',\\n\\t\\t'Int32Array',\\n\\t\\t'Int8Array',\\n\\t\\t'Uint16Array',\\n\\t\\t'Uint32Array',\\n\\t\\t'Uint8Array',\\n\\t\\t'Uint8ClampedArray'\\n\\t], function (typedArray) {\\n\\t\\treturn typeof global[typedArray] === 'function';\\n\\t});\\n};\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))\\n\\n//# sourceURL=webpack://Quill/./node_modules/available-typed-arrays/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/clone/clone.js\":\n/*!*************************************!*\\\n !*** ./node_modules/clone/clone.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"var 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//# sourceURL=webpack://Quill/./node_modules/clone/clone.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/index.js\":\n/*!******************************************!*\\\n !*** ./node_modules/deep-equal/index.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar objectKeys = __webpack_require__(/*! object-keys */ \\\"./node_modules/deep-equal/node_modules/object-keys/index.js\\\");\\nvar isArguments = __webpack_require__(/*! is-arguments */ \\\"./node_modules/is-arguments/index.js\\\");\\nvar is = __webpack_require__(/*! object-is */ \\\"./node_modules/object-is/index.js\\\");\\nvar isRegex = __webpack_require__(/*! is-regex */ \\\"./node_modules/deep-equal/node_modules/is-regex/index.js\\\");\\nvar flags = __webpack_require__(/*! regexp.prototype.flags */ \\\"./node_modules/regexp.prototype.flags/index.js\\\");\\nvar isArray = __webpack_require__(/*! isarray */ \\\"./node_modules/deep-equal/node_modules/isarray/index.js\\\");\\nvar isDate = __webpack_require__(/*! is-date-object */ \\\"./node_modules/deep-equal/node_modules/is-date-object/index.js\\\");\\nvar whichBoxedPrimitive = __webpack_require__(/*! which-boxed-primitive */ \\\"./node_modules/which-boxed-primitive/index.js\\\");\\nvar GetIntrinsic = __webpack_require__(/*! es-abstract/GetIntrinsic */ \\\"./node_modules/deep-equal/node_modules/es-abstract/GetIntrinsic.js\\\");\\nvar callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ \\\"./node_modules/deep-equal/node_modules/es-abstract/helpers/callBound.js\\\");\\nvar whichCollection = __webpack_require__(/*! which-collection */ \\\"./node_modules/which-collection/index.js\\\");\\nvar getIterator = __webpack_require__(/*! es-get-iterator */ \\\"./node_modules/es-get-iterator/index.js\\\");\\nvar getSideChannel = __webpack_require__(/*! side-channel */ \\\"./node_modules/side-channel/index.js\\\");\\nvar whichTypedArray = __webpack_require__(/*! which-typed-array */ \\\"./node_modules/which-typed-array/index.js\\\");\\nvar assign = __webpack_require__(/*! object.assign */ \\\"./node_modules/object.assign/index.js\\\");\\n\\nvar $getTime = callBound('Date.prototype.getTime');\\nvar gPO = Object.getPrototypeOf;\\nvar $objToString = callBound('Object.prototype.toString');\\n\\nvar $Set = GetIntrinsic('%Set%', true);\\nvar $mapHas = callBound('Map.prototype.has', true);\\nvar $mapGet = callBound('Map.prototype.get', true);\\nvar $mapSize = callBound('Map.prototype.size', true);\\nvar $setAdd = callBound('Set.prototype.add', true);\\nvar $setDelete = callBound('Set.prototype.delete', true);\\nvar $setHas = callBound('Set.prototype.has', true);\\nvar $setSize = callBound('Set.prototype.size', true);\\n\\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L401-L414\\nfunction setHasEqualElement(set, val1, opts, channel) {\\n var i = getIterator(set);\\n var result;\\n while ((result = i.next()) && !result.done) {\\n if (internalDeepEqual(val1, result.value, opts, channel)) { // eslint-disable-line no-use-before-define\\n // Remove the matching element to make sure we do not check that again.\\n $setDelete(set, result.value);\\n return true;\\n }\\n }\\n\\n return false;\\n}\\n\\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L416-L439\\nfunction findLooseMatchingPrimitives(prim) {\\n if (typeof prim === 'undefined') {\\n return null;\\n }\\n if (typeof prim === 'object') { // Only pass in null as object!\\n return void 0;\\n }\\n if (typeof prim === 'symbol') {\\n return false;\\n }\\n if (typeof prim === 'string' || typeof prim === 'number') {\\n // Loose equal entries exist only if the string is possible to convert to a regular number and not NaN.\\n return +prim === +prim; // eslint-disable-line no-implicit-coercion\\n }\\n return true;\\n}\\n\\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L449-L460\\nfunction mapMightHaveLoosePrim(a, b, prim, item, opts, channel) {\\n var altValue = findLooseMatchingPrimitives(prim);\\n if (altValue != null) {\\n return altValue;\\n }\\n var curB = $mapGet(b, altValue);\\n var looseOpts = assign({}, opts, { strict: false });\\n if (\\n (typeof curB === 'undefined' && !$mapHas(b, altValue))\\n // eslint-disable-next-line no-use-before-define\\n || !internalDeepEqual(item, curB, looseOpts, channel)\\n ) {\\n return false;\\n }\\n // eslint-disable-next-line no-use-before-define\\n return !$mapHas(a, altValue) && internalDeepEqual(item, curB, looseOpts, channel);\\n}\\n\\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L441-L447\\nfunction setMightHaveLoosePrim(a, b, prim) {\\n var altValue = findLooseMatchingPrimitives(prim);\\n if (altValue != null) {\\n return altValue;\\n }\\n\\n return $setHas(b, altValue) && !$setHas(a, altValue);\\n}\\n\\n// taken from https://github.com/browserify/commonjs-assert/blob/bba838e9ba9e28edf3127ce6974624208502f6bc/internal/util/comparisons.js#L518-L533\\nfunction mapHasEqualEntry(set, map, key1, item1, opts, channel) {\\n var i = getIterator(set);\\n var result;\\n var key2;\\n while ((result = i.next()) && !result.done) {\\n key2 = result.value;\\n if (\\n // eslint-disable-next-line no-use-before-define\\n internalDeepEqual(key1, key2, opts, channel)\\n // eslint-disable-next-line no-use-before-define\\n && internalDeepEqual(item1, $mapGet(map, key2), opts, channel)\\n ) {\\n $setDelete(set, key2);\\n return true;\\n }\\n }\\n\\n return false;\\n}\\n\\nfunction internalDeepEqual(actual, expected, options, channel) {\\n var opts = options || {};\\n\\n // 7.1. All identical values are equivalent, as determined by ===.\\n if (opts.strict ? is(actual, expected) : actual === expected) {\\n return true;\\n }\\n\\n var actualBoxed = whichBoxedPrimitive(actual);\\n var expectedBoxed = whichBoxedPrimitive(expected);\\n if (actualBoxed !== expectedBoxed) {\\n return false;\\n }\\n\\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\\n return opts.strict ? is(actual, expected) : actual == expected; // eslint-disable-line eqeqeq\\n }\\n\\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 */\\n // see https://github.com/nodejs/node/commit/d3aafd02efd3a403d646a3044adcf14e63a88d32 for memos/channel inspiration\\n\\n var hasActual = channel.has(actual);\\n var hasExpected = channel.has(expected);\\n var sentinel;\\n if (hasActual && hasExpected) {\\n if (channel.get(actual) === channel.get(expected)) {\\n return true;\\n }\\n } else {\\n sentinel = {};\\n }\\n if (!hasActual) { channel.set(actual, sentinel); }\\n if (!hasExpected) { channel.set(expected, sentinel); }\\n\\n // eslint-disable-next-line no-use-before-define\\n return objEquiv(actual, expected, opts, channel);\\n}\\n\\nfunction isBuffer(x) {\\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\\n return false;\\n }\\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\\n return false;\\n }\\n if (x.length > 0 && typeof x[0] !== 'number') {\\n return false;\\n }\\n\\n return !!(x.constructor && x.constructor.isBuffer && x.constructor.isBuffer(x));\\n}\\n\\nfunction setEquiv(a, b, opts, channel) {\\n if ($setSize(a) !== $setSize(b)) {\\n return false;\\n }\\n var iA = getIterator(a);\\n var iB = getIterator(b);\\n var resultA;\\n var resultB;\\n var set;\\n while ((resultA = iA.next()) && !resultA.done) {\\n if (resultA.value && typeof resultA.value === 'object') {\\n if (!set) { set = new $Set(); }\\n $setAdd(set, resultA.value);\\n } else if (!$setHas(b, resultA.value)) {\\n if (opts.strict) { return false; }\\n if (!setMightHaveLoosePrim(a, b, resultA.value)) {\\n return false;\\n }\\n if (!set) { set = new $Set(); }\\n $setAdd(set, resultA.value);\\n }\\n }\\n if (set) {\\n while ((resultB = iB.next()) && !resultB.done) {\\n // We have to check if a primitive value is already matching and only if it's not, go hunting for it.\\n if (resultB.value && typeof resultB.value === 'object') {\\n if (!setHasEqualElement(set, resultB.value, opts.strict, channel)) {\\n return false;\\n }\\n } else if (\\n !opts.strict\\n && !$setHas(a, resultB.value)\\n && !setHasEqualElement(set, resultB.value, opts.strict, channel)\\n ) {\\n return false;\\n }\\n }\\n return $setSize(set) === 0;\\n }\\n return true;\\n}\\n\\nfunction mapEquiv(a, b, opts, channel) {\\n if ($mapSize(a) !== $mapSize(b)) {\\n return false;\\n }\\n var iA = getIterator(a);\\n var iB = getIterator(b);\\n var resultA;\\n var resultB;\\n var set;\\n var key;\\n var item1;\\n var item2;\\n while ((resultA = iA.next()) && !resultA.done) {\\n key = resultA.value[0];\\n item1 = resultA.value[1];\\n if (key && typeof key === 'object') {\\n if (!set) { set = new $Set(); }\\n $setAdd(set, key);\\n } else {\\n item2 = $mapGet(b, key);\\n if ((typeof item2 === 'undefined' && !$mapHas(b, key)) || !internalDeepEqual(item1, item2, opts, channel)) {\\n if (opts.strict) {\\n return false;\\n }\\n if (!mapMightHaveLoosePrim(a, b, key, item1, opts, channel)) {\\n return false;\\n }\\n if (!set) { set = new $Set(); }\\n $setAdd(set, key);\\n }\\n }\\n }\\n\\n if (set) {\\n while ((resultB = iB.next()) && !resultB.done) {\\n key = resultB.value[0];\\n item2 = resultB.value[1];\\n if (key && typeof key === 'object') {\\n if (!mapHasEqualEntry(set, a, key, item2, opts, channel)) {\\n return false;\\n }\\n } else if (\\n !opts.strict\\n && (!a.has(key) || !internalDeepEqual($mapGet(a, key), item2, opts, channel))\\n && !mapHasEqualEntry(set, a, key, item2, assign({}, opts, { strict: false }), channel)\\n ) {\\n return false;\\n }\\n }\\n return $setSize(set) === 0;\\n }\\n return true;\\n}\\n\\nfunction objEquiv(a, b, opts, channel) {\\n /* eslint max-statements: [2, 100], max-lines-per-function: [2, 120], max-depth: [2, 5] */\\n var i, key;\\n\\n if (typeof a !== typeof b) { return false; }\\n if (a == null || b == null) { return false; }\\n\\n if ($objToString(a) !== $objToString(b)) { return false; }\\n\\n if (isArguments(a) !== isArguments(b)) { return false; }\\n\\n var aIsArray = isArray(a);\\n var bIsArray = isArray(b);\\n if (aIsArray !== bIsArray) { return false; }\\n\\n // TODO: replace when a cross-realm brand check is available\\n var aIsError = a instanceof Error;\\n var bIsError = b instanceof Error;\\n if (aIsError !== bIsError) { return false; }\\n if (aIsError || bIsError) {\\n if (a.name !== b.name || a.message !== b.message) { return false; }\\n }\\n\\n var aIsRegex = isRegex(a);\\n var bIsRegex = isRegex(b);\\n if (aIsRegex !== bIsRegex) { return false; }\\n if ((aIsRegex || bIsRegex) && (a.source !== b.source || flags(a) !== flags(b))) {\\n return false;\\n }\\n\\n var aIsDate = isDate(a);\\n var bIsDate = isDate(b);\\n if (aIsDate !== bIsDate) { return false; }\\n if (aIsDate || bIsDate) { // && would work too, because both are true or both false here\\n if ($getTime(a) !== $getTime(b)) { return false; }\\n }\\n if (opts.strict && gPO && gPO(a) !== gPO(b)) { return false; }\\n\\n if (whichTypedArray(a) !== whichTypedArray(b)) {\\n return false;\\n }\\n\\n var aIsBuffer = isBuffer(a);\\n var bIsBuffer = isBuffer(b);\\n if (aIsBuffer !== bIsBuffer) { return false; }\\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\\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\\n if (typeof a !== typeof b) { return false; }\\n\\n var ka = objectKeys(a);\\n var kb = objectKeys(b);\\n // having the same number of owned properties (keys incorporates hasOwnProperty)\\n if (ka.length !== kb.length) { return false; }\\n\\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]) { return false; } // eslint-disable-line eqeqeq\\n }\\n\\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\\n for (i = ka.length - 1; i >= 0; i--) {\\n key = ka[i];\\n if (!internalDeepEqual(a[key], b[key], opts, channel)) { return false; }\\n }\\n\\n var aCollection = whichCollection(a);\\n var bCollection = whichCollection(b);\\n if (aCollection !== bCollection) {\\n return false;\\n }\\n if (aCollection === 'Set' || bCollection === 'Set') { // aCollection === bCollection\\n return setEquiv(a, b, opts, channel);\\n }\\n if (aCollection === 'Map') { // aCollection === bCollection\\n return mapEquiv(a, b, opts, channel);\\n }\\n\\n return true;\\n}\\n\\nmodule.exports = function deepEqual(a, b, opts) {\\n return internalDeepEqual(a, b, opts, getSideChannel());\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/es-abstract/GetIntrinsic.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/es-abstract/GetIntrinsic.js ***!\n \\**************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* globals\\n\\tAtomics,\\n\\tSharedArrayBuffer,\\n*/\\n\\nvar undefined;\\n\\nvar $TypeError = TypeError;\\n\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD({}, '');\\n\\t} catch (e) {\\n\\t\\t$gOPD = null; // this is IE 8, which has a broken gOPD\\n\\t}\\n}\\n\\nvar throwTypeError = function () { throw new $TypeError(); };\\nvar ThrowTypeError = $gOPD\\n\\t? (function () {\\n\\t\\ttry {\\n\\t\\t\\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\\n\\t\\t\\targuments.callee; // IE 8 does not throw here\\n\\t\\t\\treturn throwTypeError;\\n\\t\\t} catch (calleeThrows) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\\n\\t\\t\\t\\treturn $gOPD(arguments, 'callee').get;\\n\\t\\t\\t} catch (gOPDthrows) {\\n\\t\\t\\t\\treturn throwTypeError;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}())\\n\\t: throwTypeError;\\n\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\\n\\nvar generator; // = function * () {};\\nvar generatorFunction = generator ? getProto(generator) : undefined;\\nvar asyncFn; // async function() {};\\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\\nvar asyncGen; // async function * () {};\\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\\n\\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\\n\\nvar INTRINSICS = {\\n\\t'%Array%': Array,\\n\\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\\n\\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\\n\\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\\n\\t'%ArrayPrototype%': Array.prototype,\\n\\t'%ArrayProto_entries%': Array.prototype.entries,\\n\\t'%ArrayProto_forEach%': Array.prototype.forEach,\\n\\t'%ArrayProto_keys%': Array.prototype.keys,\\n\\t'%ArrayProto_values%': Array.prototype.values,\\n\\t'%AsyncFromSyncIteratorPrototype%': undefined,\\n\\t'%AsyncFunction%': asyncFunction,\\n\\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\\n\\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\\n\\t'%AsyncGeneratorFunction%': asyncGenFunction,\\n\\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\\n\\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\\n\\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\\n\\t'%Boolean%': Boolean,\\n\\t'%BooleanPrototype%': Boolean.prototype,\\n\\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\\n\\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\\n\\t'%Date%': Date,\\n\\t'%DatePrototype%': Date.prototype,\\n\\t'%decodeURI%': decodeURI,\\n\\t'%decodeURIComponent%': decodeURIComponent,\\n\\t'%encodeURI%': encodeURI,\\n\\t'%encodeURIComponent%': encodeURIComponent,\\n\\t'%Error%': Error,\\n\\t'%ErrorPrototype%': Error.prototype,\\n\\t'%eval%': eval, // eslint-disable-line no-eval\\n\\t'%EvalError%': EvalError,\\n\\t'%EvalErrorPrototype%': EvalError.prototype,\\n\\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\\n\\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\\n\\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\\n\\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\\n\\t'%Function%': Function,\\n\\t'%FunctionPrototype%': Function.prototype,\\n\\t'%Generator%': generator ? getProto(generator()) : undefined,\\n\\t'%GeneratorFunction%': generatorFunction,\\n\\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\\n\\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\\n\\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\\n\\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\\n\\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\\n\\t'%isFinite%': isFinite,\\n\\t'%isNaN%': isNaN,\\n\\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\\n\\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\\n\\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\\n\\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\\n\\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\\n\\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\\n\\t'%Math%': Math,\\n\\t'%Number%': Number,\\n\\t'%NumberPrototype%': Number.prototype,\\n\\t'%Object%': Object,\\n\\t'%ObjectPrototype%': Object.prototype,\\n\\t'%ObjProto_toString%': Object.prototype.toString,\\n\\t'%ObjProto_valueOf%': Object.prototype.valueOf,\\n\\t'%parseFloat%': parseFloat,\\n\\t'%parseInt%': parseInt,\\n\\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\\n\\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\\n\\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\\n\\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\\n\\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\\n\\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\\n\\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\\n\\t'%RangeError%': RangeError,\\n\\t'%RangeErrorPrototype%': RangeError.prototype,\\n\\t'%ReferenceError%': ReferenceError,\\n\\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\\n\\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\\n\\t'%RegExp%': RegExp,\\n\\t'%RegExpPrototype%': RegExp.prototype,\\n\\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\\n\\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\\n\\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\\n\\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\\n\\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\\n\\t'%String%': String,\\n\\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\\n\\t'%StringPrototype%': String.prototype,\\n\\t'%Symbol%': hasSymbols ? Symbol : undefined,\\n\\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\\n\\t'%SyntaxError%': SyntaxError,\\n\\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\\n\\t'%ThrowTypeError%': ThrowTypeError,\\n\\t'%TypedArray%': TypedArray,\\n\\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\\n\\t'%TypeError%': $TypeError,\\n\\t'%TypeErrorPrototype%': $TypeError.prototype,\\n\\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\\n\\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\\n\\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\\n\\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\\n\\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\\n\\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\\n\\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\\n\\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\\n\\t'%URIError%': URIError,\\n\\t'%URIErrorPrototype%': URIError.prototype,\\n\\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\\n\\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\\n\\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\\n\\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\\n};\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar $replace = bind.call(Function.call, String.prototype.replace);\\n\\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\\nvar rePropName = /[^%.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|%$))/g;\\nvar reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g; /** Used to match backslashes in property paths. */\\nvar stringToPath = function stringToPath(string) {\\n\\tvar result = [];\\n\\t$replace(string, rePropName, function (match, number, quote, subString) {\\n\\t\\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\\n\\t});\\n\\treturn result;\\n};\\n/* end adaptation */\\n\\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\\n\\tif (!(name in INTRINSICS)) {\\n\\t\\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\\n\\t}\\n\\n\\t// istanbul ignore if // hopefully this is impossible to test :-)\\n\\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\\n\\t\\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\\n\\t}\\n\\n\\treturn INTRINSICS[name];\\n};\\n\\nmodule.exports = function GetIntrinsic(name, allowMissing) {\\n\\tif (typeof name !== 'string' || name.length === 0) {\\n\\t\\tthrow new TypeError('intrinsic name must be a non-empty string');\\n\\t}\\n\\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\\n\\t\\tthrow new TypeError('\\\"allowMissing\\\" argument must be a boolean');\\n\\t}\\n\\n\\tvar parts = stringToPath(name);\\n\\n\\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\\n\\tfor (var i = 1; i < parts.length; i += 1) {\\n\\t\\tif (value != null) {\\n\\t\\t\\tif ($gOPD && (i + 1) >= parts.length) {\\n\\t\\t\\t\\tvar desc = $gOPD(value, parts[i]);\\n\\t\\t\\t\\tif (!allowMissing && !(parts[i] in value)) {\\n\\t\\t\\t\\t\\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = value[parts[i]];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/es-abstract/GetIntrinsic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/es-abstract/helpers/callBind.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/es-abstract/helpers/callBind.js ***!\n \\******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/deep-equal/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $Function = GetIntrinsic('%Function%');\\nvar $apply = $Function.apply;\\nvar $call = $Function.call;\\n\\nmodule.exports = function callBind() {\\n\\treturn bind.apply($call, arguments);\\n};\\n\\nmodule.exports.apply = function applyBind() {\\n\\treturn bind.apply($apply, arguments);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/es-abstract/helpers/callBind.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/es-abstract/helpers/callBound.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/es-abstract/helpers/callBound.js ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/deep-equal/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar callBind = __webpack_require__(/*! ./callBind */ \\\"./node_modules/deep-equal/node_modules/es-abstract/helpers/callBind.js\\\");\\n\\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\\n\\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\\n\\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\\n\\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {\\n\\t\\treturn callBind(intrinsic);\\n\\t}\\n\\treturn intrinsic;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/es-abstract/helpers/callBound.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/is-date-object/index.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/is-date-object/index.js ***!\n \\**********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar getDay = Date.prototype.getDay;\\nvar tryDateObject = function tryDateGetDayCall(value) {\\n\\ttry {\\n\\t\\tgetDay.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nvar toStr = Object.prototype.toString;\\nvar dateClass = '[object Date]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isDateObject(value) {\\n\\tif (typeof value !== 'object' || value === null) {\\n\\t\\treturn false;\\n\\t}\\n\\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/is-date-object/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/is-regex/index.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/is-regex/index.js ***!\n \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar has = __webpack_require__(/*! has */ \\\"./node_modules/has/src/index.js\\\");\\nvar regexExec = RegExp.prototype.exec;\\nvar gOPD = Object.getOwnPropertyDescriptor;\\n\\nvar tryRegexExecCall = function tryRegexExec(value) {\\n\\ttry {\\n\\t\\tvar lastIndex = value.lastIndex;\\n\\t\\tvalue.lastIndex = 0; // eslint-disable-line no-param-reassign\\n\\n\\t\\tregexExec.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t} finally {\\n\\t\\tvalue.lastIndex = lastIndex; // eslint-disable-line no-param-reassign\\n\\t}\\n};\\nvar toStr = Object.prototype.toString;\\nvar regexClass = '[object RegExp]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isRegex(value) {\\n\\tif (!value || typeof value !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\tif (!hasToStringTag) {\\n\\t\\treturn toStr.call(value) === regexClass;\\n\\t}\\n\\n\\tvar descriptor = gOPD(value, 'lastIndex');\\n\\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\\n\\tif (!hasLastIndexDataProperty) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\treturn tryRegexExecCall(value);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/is-regex/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/isarray/index.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/isarray/index.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"var toString = {}.toString;\\n\\nmodule.exports = Array.isArray || function (arr) {\\n return toString.call(arr) == '[object Array]';\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/isarray/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/object-keys/implementation.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/object-keys/implementation.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar keysShim;\\nif (!Object.keys) {\\n\\t// modified from https://github.com/es-shims/es5-shim\\n\\tvar has = Object.prototype.hasOwnProperty;\\n\\tvar toStr = Object.prototype.toString;\\n\\tvar isArgs = __webpack_require__(/*! ./isArguments */ \\\"./node_modules/deep-equal/node_modules/object-keys/isArguments.js\\\"); // eslint-disable-line global-require\\n\\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\\n\\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\\n\\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\\n\\tvar dontEnums = [\\n\\t\\t'toString',\\n\\t\\t'toLocaleString',\\n\\t\\t'valueOf',\\n\\t\\t'hasOwnProperty',\\n\\t\\t'isPrototypeOf',\\n\\t\\t'propertyIsEnumerable',\\n\\t\\t'constructor'\\n\\t];\\n\\tvar equalsConstructorPrototype = function (o) {\\n\\t\\tvar ctor = o.constructor;\\n\\t\\treturn ctor && ctor.prototype === o;\\n\\t};\\n\\tvar excludedKeys = {\\n\\t\\t$applicationCache: true,\\n\\t\\t$console: true,\\n\\t\\t$external: true,\\n\\t\\t$frame: true,\\n\\t\\t$frameElement: true,\\n\\t\\t$frames: true,\\n\\t\\t$innerHeight: true,\\n\\t\\t$innerWidth: true,\\n\\t\\t$onmozfullscreenchange: true,\\n\\t\\t$onmozfullscreenerror: true,\\n\\t\\t$outerHeight: true,\\n\\t\\t$outerWidth: true,\\n\\t\\t$pageXOffset: true,\\n\\t\\t$pageYOffset: true,\\n\\t\\t$parent: true,\\n\\t\\t$scrollLeft: true,\\n\\t\\t$scrollTop: true,\\n\\t\\t$scrollX: true,\\n\\t\\t$scrollY: true,\\n\\t\\t$self: true,\\n\\t\\t$webkitIndexedDB: true,\\n\\t\\t$webkitStorageInfo: true,\\n\\t\\t$window: true\\n\\t};\\n\\tvar hasAutomationEqualityBug = (function () {\\n\\t\\t/* global window */\\n\\t\\tif (typeof window === 'undefined') { return false; }\\n\\t\\tfor (var k in window) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\\n\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\tequalsConstructorPrototype(window[k]);\\n\\t\\t\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn false;\\n\\t}());\\n\\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\\n\\t\\t/* global window */\\n\\t\\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\\n\\t\\t\\treturn equalsConstructorPrototype(o);\\n\\t\\t}\\n\\t\\ttry {\\n\\t\\t\\treturn equalsConstructorPrototype(o);\\n\\t\\t} catch (e) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t};\\n\\n\\tkeysShim = function keys(object) {\\n\\t\\tvar isObject = object !== null && typeof object === 'object';\\n\\t\\tvar isFunction = toStr.call(object) === '[object Function]';\\n\\t\\tvar isArguments = isArgs(object);\\n\\t\\tvar isString = isObject && toStr.call(object) === '[object String]';\\n\\t\\tvar theKeys = [];\\n\\n\\t\\tif (!isObject && !isFunction && !isArguments) {\\n\\t\\t\\tthrow new TypeError('Object.keys called on a non-object');\\n\\t\\t}\\n\\n\\t\\tvar skipProto = hasProtoEnumBug && isFunction;\\n\\t\\tif (isString && object.length > 0 && !has.call(object, 0)) {\\n\\t\\t\\tfor (var i = 0; i < object.length; ++i) {\\n\\t\\t\\t\\ttheKeys.push(String(i));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (isArguments && object.length > 0) {\\n\\t\\t\\tfor (var j = 0; j < object.length; ++j) {\\n\\t\\t\\t\\ttheKeys.push(String(j));\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tfor (var name in object) {\\n\\t\\t\\t\\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\\n\\t\\t\\t\\t\\ttheKeys.push(String(name));\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (hasDontEnumBug) {\\n\\t\\t\\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\\n\\n\\t\\t\\tfor (var k = 0; k < dontEnums.length; ++k) {\\n\\t\\t\\t\\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\\n\\t\\t\\t\\t\\ttheKeys.push(dontEnums[k]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn theKeys;\\n\\t};\\n}\\nmodule.exports = keysShim;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/object-keys/implementation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/object-keys/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/object-keys/index.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar slice = Array.prototype.slice;\\nvar isArgs = __webpack_require__(/*! ./isArguments */ \\\"./node_modules/deep-equal/node_modules/object-keys/isArguments.js\\\");\\n\\nvar origKeys = Object.keys;\\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(/*! ./implementation */ \\\"./node_modules/deep-equal/node_modules/object-keys/implementation.js\\\");\\n\\nvar originalKeys = Object.keys;\\n\\nkeysShim.shim = function shimObjectKeys() {\\n\\tif (Object.keys) {\\n\\t\\tvar keysWorksWithArguments = (function () {\\n\\t\\t\\t// Safari 5.0 bug\\n\\t\\t\\tvar args = Object.keys(arguments);\\n\\t\\t\\treturn args && args.length === arguments.length;\\n\\t\\t}(1, 2));\\n\\t\\tif (!keysWorksWithArguments) {\\n\\t\\t\\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\\n\\t\\t\\t\\tif (isArgs(object)) {\\n\\t\\t\\t\\t\\treturn originalKeys(slice.call(object));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn originalKeys(object);\\n\\t\\t\\t};\\n\\t\\t}\\n\\t} else {\\n\\t\\tObject.keys = keysShim;\\n\\t}\\n\\treturn Object.keys || keysShim;\\n};\\n\\nmodule.exports = keysShim;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/object-keys/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/deep-equal/node_modules/object-keys/isArguments.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/deep-equal/node_modules/object-keys/isArguments.js ***!\n \\*************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar toStr = Object.prototype.toString;\\n\\nmodule.exports = function isArguments(value) {\\n\\tvar str = toStr.call(value);\\n\\tvar isArgs = str === '[object Arguments]';\\n\\tif (!isArgs) {\\n\\t\\tisArgs = str !== '[object Array]' &&\\n\\t\\t\\tvalue !== null &&\\n\\t\\t\\ttypeof value === 'object' &&\\n\\t\\t\\ttypeof value.length === 'number' &&\\n\\t\\t\\tvalue.length >= 0 &&\\n\\t\\t\\ttoStr.call(value.callee) === '[object Function]';\\n\\t}\\n\\treturn isArgs;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/deep-equal/node_modules/object-keys/isArguments.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/define-properties/index.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/define-properties/index.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar keys = __webpack_require__(/*! object-keys */ \\\"./node_modules/object-keys/index.js\\\");\\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\\n\\nvar toStr = Object.prototype.toString;\\nvar concat = Array.prototype.concat;\\nvar origDefineProperty = Object.defineProperty;\\n\\nvar isFunction = function (fn) {\\n\\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\\n};\\n\\nvar arePropertyDescriptorsSupported = function () {\\n\\tvar obj = {};\\n\\ttry {\\n\\t\\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\\n\\t\\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\\n\\t\\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\treturn obj.x === obj;\\n\\t} catch (e) { /* this is IE 8. */\\n\\t\\treturn false;\\n\\t}\\n};\\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\\n\\nvar defineProperty = function (object, name, value, predicate) {\\n\\tif (name in object && (!isFunction(predicate) || !predicate())) {\\n\\t\\treturn;\\n\\t}\\n\\tif (supportsDescriptors) {\\n\\t\\torigDefineProperty(object, name, {\\n\\t\\t\\tconfigurable: true,\\n\\t\\t\\tenumerable: false,\\n\\t\\t\\tvalue: value,\\n\\t\\t\\twritable: true\\n\\t\\t});\\n\\t} else {\\n\\t\\tobject[name] = value;\\n\\t}\\n};\\n\\nvar defineProperties = function (object, map) {\\n\\tvar predicates = arguments.length > 2 ? arguments[2] : {};\\n\\tvar props = keys(map);\\n\\tif (hasSymbols) {\\n\\t\\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\\n\\t}\\n\\tfor (var i = 0; i < props.length; i += 1) {\\n\\t\\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\\n\\t}\\n};\\n\\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\\n\\nmodule.exports = defineProperties;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/define-properties/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/es-get-iterator/index.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/es-get-iterator/index.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/* WEBPACK VAR INJECTION */(function(process) {\\n\\n/* eslint global-require: 0 */\\n// the code is structured this way so that bundlers can\\n// alias out `has-symbols` to `() => true` or `() => false` if your target\\n// environments' Symbol capabilities are known, and then use\\n// dead code elimination on the rest of this module.\\n//\\n// Similarly, `isarray` can be aliased to `Array.isArray` if\\n// available in all target environments.\\n\\nvar isArguments = __webpack_require__(/*! is-arguments */ \\\"./node_modules/is-arguments/index.js\\\");\\n\\nif (__webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")() || __webpack_require__(/*! has-symbols/shams */ \\\"./node_modules/has-symbols/shams.js\\\")()) {\\n\\tvar $iterator = Symbol.iterator;\\n\\t// Symbol is available natively or shammed\\n\\t// natively:\\n\\t// - Chrome >= 38\\n\\t// - Edge 12-14?, Edge >= 15 for sure\\n\\t// - FF >= 36\\n\\t// - Safari >= 9\\n\\t// - node >= 0.12\\n\\tmodule.exports = function getIterator(iterable) {\\n\\t\\t// alternatively, `iterable[$iterator]?.()`\\n\\t\\tif (iterable != null && typeof iterable[$iterator] !== 'undefined') {\\n\\t\\t\\treturn iterable[$iterator]();\\n\\t\\t}\\n\\t\\tif (isArguments(iterable)) {\\n\\t\\t\\t// arguments objects lack Symbol.iterator\\n\\t\\t\\t// - node 0.12\\n\\t\\t\\treturn Array.prototype[$iterator].call(iterable);\\n\\t\\t}\\n\\t};\\n} else {\\n\\t// Symbol is not available, native or shammed\\n\\tvar isArray = __webpack_require__(/*! isarray */ \\\"./node_modules/es-get-iterator/node_modules/isarray/index.js\\\");\\n\\tvar isString = __webpack_require__(/*! is-string */ \\\"./node_modules/is-string/index.js\\\");\\n\\tvar GetIntrinsic = __webpack_require__(/*! es-abstract/GetIntrinsic */ \\\"./node_modules/es-get-iterator/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\tvar $Map = GetIntrinsic('%Map%', true);\\n\\tvar $Set = GetIntrinsic('%Set%', true);\\n\\tvar callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ \\\"./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBound.js\\\");\\n\\tvar $arrayPush = callBound('Array.prototype.push');\\n\\tvar $charCodeAt = callBound('String.prototype.charCodeAt');\\n\\tvar $stringSlice = callBound('String.prototype.slice');\\n\\n\\tvar advanceStringIndex = function advanceStringIndex(S, index) {\\n\\t\\tvar length = S.length;\\n\\t\\tif ((index + 1) >= length) {\\n\\t\\t\\treturn index + 1;\\n\\t\\t}\\n\\n\\t\\tvar first = $charCodeAt(S, index);\\n\\t\\tif (first < 0xD800 || first > 0xDBFF) {\\n\\t\\t\\treturn index + 1;\\n\\t\\t}\\n\\n\\t\\tvar second = $charCodeAt(S, index + 1);\\n\\t\\tif (second < 0xDC00 || second > 0xDFFF) {\\n\\t\\t\\treturn index + 1;\\n\\t\\t}\\n\\n\\t\\treturn index + 2;\\n\\t};\\n\\n\\tvar getArrayIterator = function getArrayIterator(arraylike) {\\n\\t\\tvar i = 0;\\n\\t\\treturn {\\n\\t\\t\\tnext: function next() {\\n\\t\\t\\t\\tvar done = i >= arraylike.length;\\n\\t\\t\\t\\tvar value;\\n\\t\\t\\t\\tif (!done) {\\n\\t\\t\\t\\t\\tvalue = arraylike[i];\\n\\t\\t\\t\\t\\ti += 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tdone: done,\\n\\t\\t\\t\\t\\tvalue: value\\n\\t\\t\\t\\t};\\n\\t\\t\\t}\\n\\t\\t};\\n\\t};\\n\\n\\tvar getNonCollectionIterator = function getNonCollectionIterator(iterable) {\\n\\t\\tif (isArray(iterable) || isArguments(iterable)) {\\n\\t\\t\\treturn getArrayIterator(iterable);\\n\\t\\t}\\n\\t\\tif (isString(iterable)) {\\n\\t\\t\\tvar i = 0;\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tnext: function next() {\\n\\t\\t\\t\\t\\tvar nextIndex = advanceStringIndex(iterable, i);\\n\\t\\t\\t\\t\\tvar value = $stringSlice(iterable, i, nextIndex);\\n\\t\\t\\t\\t\\ti = nextIndex;\\n\\t\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\t\\tdone: nextIndex > iterable.length,\\n\\t\\t\\t\\t\\t\\tvalue: value\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t}\\n\\t};\\n\\n\\tif (!$Map && !$Set) {\\n\\t\\t// the only language iterables are Array, String, arguments\\n\\t\\t// - Safari <= 6.0\\n\\t\\t// - Chrome < 38\\n\\t\\t// - node < 0.12\\n\\t\\t// - FF < 13\\n\\t\\t// - IE < 11\\n\\t\\t// - Edge < 11\\n\\n\\t\\tmodule.exports = getNonCollectionIterator;\\n\\t} else {\\n\\t\\t// either Map or Set are available, but Symbol is not\\n\\t\\t// - es6-shim on an ES5 browser\\n\\t\\t// - Safari 6.2 (maybe 6.1?)\\n\\t\\t// - FF v[13, 36)\\n\\t\\t// - IE 11\\n\\t\\t// - Edge 11\\n\\t\\t// - Safari v[6, 9)\\n\\n\\t\\tvar isMap = __webpack_require__(/*! is-map */ \\\"./node_modules/is-map/index.js\\\");\\n\\t\\tvar isSet = __webpack_require__(/*! is-set */ \\\"./node_modules/is-set/index.js\\\");\\n\\n\\t\\t// Firefox >= 27, IE 11, Safari 6.2 - 9, Edge 11, es6-shim in older envs, all have forEach\\n\\t\\tvar $mapForEach = callBound('Map.prototype.forEach', true);\\n\\t\\tvar $setForEach = callBound('Set.prototype.forEach', true);\\n\\t\\tif (typeof process === 'undefined' || !process.versions || !process.versions.node) { // \\\"if is not node\\\"\\n\\n\\t\\t\\t// Firefox 17 - 26 has `.iterator()`, whose iterator `.next()` either\\n\\t\\t\\t// returns a value, or throws a StopIteration object. These browsers\\n\\t\\t\\t// do not have any other mechanism for iteration.\\n\\t\\t\\tvar $mapIterator = callBound('Map.prototype.iterator', true);\\n\\t\\t\\tvar $setIterator = callBound('Set.prototype.iterator', true);\\n\\t\\t\\tvar getStopIterationIterator = function (iterator) {\\n\\t\\t\\t\\tvar done = false;\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tnext: function next() {\\n\\t\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\t\\t\\t\\tdone: done,\\n\\t\\t\\t\\t\\t\\t\\t\\tvalue: done ? undefined : iterator.next()\\n\\t\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\t\\t\\t\\tdone = true;\\n\\t\\t\\t\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\t\\t\\t\\tdone: true,\\n\\t\\t\\t\\t\\t\\t\\t\\tvalue: undefined\\n\\t\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\t// Firefox 27-35, and some older es6-shim versions, use a string \\\"@@iterator\\\" property\\n\\t\\t// this returns a proper iterator object, so we should use it instead of forEach.\\n\\t\\t// newer es6-shim versions use a string \\\"_es6-shim iterator_\\\" property.\\n\\t\\tvar $mapAtAtIterator = callBound('Map.prototype.@@iterator', true) || callBound('Map.prototype._es6-shim iterator_', true);\\n\\t\\tvar $setAtAtIterator = callBound('Set.prototype.@@iterator', true) || callBound('Set.prototype._es6-shim iterator_', true);\\n\\n\\t\\tvar getCollectionIterator = function getCollectionIterator(iterable) {\\n\\t\\t\\tif (isMap(iterable)) {\\n\\t\\t\\t\\tif ($mapIterator) {\\n\\t\\t\\t\\t\\treturn getStopIterationIterator($mapIterator(iterable));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ($mapAtAtIterator) {\\n\\t\\t\\t\\t\\treturn $mapAtAtIterator(iterable);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ($mapForEach) {\\n\\t\\t\\t\\t\\tvar entries = [];\\n\\t\\t\\t\\t\\t$mapForEach(iterable, function (v, k) {\\n\\t\\t\\t\\t\\t\\t$arrayPush(entries, [k, v]);\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\treturn getArrayIterator(entries);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif (isSet(iterable)) {\\n\\t\\t\\t\\tif ($setIterator) {\\n\\t\\t\\t\\t\\treturn getStopIterationIterator($setIterator(iterable));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ($setAtAtIterator) {\\n\\t\\t\\t\\t\\treturn $setAtAtIterator(iterable);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ($setForEach) {\\n\\t\\t\\t\\t\\tvar values = [];\\n\\t\\t\\t\\t\\t$setForEach(iterable, function (v) {\\n\\t\\t\\t\\t\\t\\t$arrayPush(values, v);\\n\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\treturn getArrayIterator(values);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\tmodule.exports = function getIterator(iterable) {\\n\\t\\t\\treturn getCollectionIterator(iterable) || getNonCollectionIterator(iterable);\\n\\t\\t};\\n\\t}\\n}\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ \\\"./node_modules/process/browser.js\\\")))\\n\\n//# sourceURL=webpack://Quill/./node_modules/es-get-iterator/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/es-get-iterator/node_modules/es-abstract/GetIntrinsic.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/es-get-iterator/node_modules/es-abstract/GetIntrinsic.js ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* globals\\n\\tAtomics,\\n\\tSharedArrayBuffer,\\n*/\\n\\nvar undefined;\\n\\nvar $TypeError = TypeError;\\n\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD({}, '');\\n\\t} catch (e) {\\n\\t\\t$gOPD = null; // this is IE 8, which has a broken gOPD\\n\\t}\\n}\\n\\nvar throwTypeError = function () { throw new $TypeError(); };\\nvar ThrowTypeError = $gOPD\\n\\t? (function () {\\n\\t\\ttry {\\n\\t\\t\\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\\n\\t\\t\\targuments.callee; // IE 8 does not throw here\\n\\t\\t\\treturn throwTypeError;\\n\\t\\t} catch (calleeThrows) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\\n\\t\\t\\t\\treturn $gOPD(arguments, 'callee').get;\\n\\t\\t\\t} catch (gOPDthrows) {\\n\\t\\t\\t\\treturn throwTypeError;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}())\\n\\t: throwTypeError;\\n\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\\n\\nvar generator; // = function * () {};\\nvar generatorFunction = generator ? getProto(generator) : undefined;\\nvar asyncFn; // async function() {};\\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\\nvar asyncGen; // async function * () {};\\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\\n\\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\\n\\nvar INTRINSICS = {\\n\\t'%Array%': Array,\\n\\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\\n\\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\\n\\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\\n\\t'%ArrayPrototype%': Array.prototype,\\n\\t'%ArrayProto_entries%': Array.prototype.entries,\\n\\t'%ArrayProto_forEach%': Array.prototype.forEach,\\n\\t'%ArrayProto_keys%': Array.prototype.keys,\\n\\t'%ArrayProto_values%': Array.prototype.values,\\n\\t'%AsyncFromSyncIteratorPrototype%': undefined,\\n\\t'%AsyncFunction%': asyncFunction,\\n\\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\\n\\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\\n\\t'%AsyncGeneratorFunction%': asyncGenFunction,\\n\\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\\n\\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\\n\\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\\n\\t'%Boolean%': Boolean,\\n\\t'%BooleanPrototype%': Boolean.prototype,\\n\\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\\n\\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\\n\\t'%Date%': Date,\\n\\t'%DatePrototype%': Date.prototype,\\n\\t'%decodeURI%': decodeURI,\\n\\t'%decodeURIComponent%': decodeURIComponent,\\n\\t'%encodeURI%': encodeURI,\\n\\t'%encodeURIComponent%': encodeURIComponent,\\n\\t'%Error%': Error,\\n\\t'%ErrorPrototype%': Error.prototype,\\n\\t'%eval%': eval, // eslint-disable-line no-eval\\n\\t'%EvalError%': EvalError,\\n\\t'%EvalErrorPrototype%': EvalError.prototype,\\n\\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\\n\\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\\n\\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\\n\\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\\n\\t'%Function%': Function,\\n\\t'%FunctionPrototype%': Function.prototype,\\n\\t'%Generator%': generator ? getProto(generator()) : undefined,\\n\\t'%GeneratorFunction%': generatorFunction,\\n\\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\\n\\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\\n\\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\\n\\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\\n\\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\\n\\t'%isFinite%': isFinite,\\n\\t'%isNaN%': isNaN,\\n\\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\\n\\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\\n\\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\\n\\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\\n\\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\\n\\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\\n\\t'%Math%': Math,\\n\\t'%Number%': Number,\\n\\t'%NumberPrototype%': Number.prototype,\\n\\t'%Object%': Object,\\n\\t'%ObjectPrototype%': Object.prototype,\\n\\t'%ObjProto_toString%': Object.prototype.toString,\\n\\t'%ObjProto_valueOf%': Object.prototype.valueOf,\\n\\t'%parseFloat%': parseFloat,\\n\\t'%parseInt%': parseInt,\\n\\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\\n\\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\\n\\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\\n\\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\\n\\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\\n\\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\\n\\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\\n\\t'%RangeError%': RangeError,\\n\\t'%RangeErrorPrototype%': RangeError.prototype,\\n\\t'%ReferenceError%': ReferenceError,\\n\\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\\n\\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\\n\\t'%RegExp%': RegExp,\\n\\t'%RegExpPrototype%': RegExp.prototype,\\n\\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\\n\\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\\n\\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\\n\\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\\n\\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\\n\\t'%String%': String,\\n\\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\\n\\t'%StringPrototype%': String.prototype,\\n\\t'%Symbol%': hasSymbols ? Symbol : undefined,\\n\\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\\n\\t'%SyntaxError%': SyntaxError,\\n\\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\\n\\t'%ThrowTypeError%': ThrowTypeError,\\n\\t'%TypedArray%': TypedArray,\\n\\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\\n\\t'%TypeError%': $TypeError,\\n\\t'%TypeErrorPrototype%': $TypeError.prototype,\\n\\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\\n\\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\\n\\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\\n\\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\\n\\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\\n\\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\\n\\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\\n\\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\\n\\t'%URIError%': URIError,\\n\\t'%URIErrorPrototype%': URIError.prototype,\\n\\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\\n\\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\\n\\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\\n\\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\\n};\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar $replace = bind.call(Function.call, String.prototype.replace);\\n\\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\\nvar rePropName = /[^%.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|%$))/g;\\nvar reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g; /** Used to match backslashes in property paths. */\\nvar stringToPath = function stringToPath(string) {\\n\\tvar result = [];\\n\\t$replace(string, rePropName, function (match, number, quote, subString) {\\n\\t\\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\\n\\t});\\n\\treturn result;\\n};\\n/* end adaptation */\\n\\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\\n\\tif (!(name in INTRINSICS)) {\\n\\t\\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\\n\\t}\\n\\n\\t// istanbul ignore if // hopefully this is impossible to test :-)\\n\\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\\n\\t\\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\\n\\t}\\n\\n\\treturn INTRINSICS[name];\\n};\\n\\nmodule.exports = function GetIntrinsic(name, allowMissing) {\\n\\tif (typeof name !== 'string' || name.length === 0) {\\n\\t\\tthrow new TypeError('intrinsic name must be a non-empty string');\\n\\t}\\n\\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\\n\\t\\tthrow new TypeError('\\\"allowMissing\\\" argument must be a boolean');\\n\\t}\\n\\n\\tvar parts = stringToPath(name);\\n\\n\\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\\n\\tfor (var i = 1; i < parts.length; i += 1) {\\n\\t\\tif (value != null) {\\n\\t\\t\\tif ($gOPD && (i + 1) >= parts.length) {\\n\\t\\t\\t\\tvar desc = $gOPD(value, parts[i]);\\n\\t\\t\\t\\tif (!allowMissing && !(parts[i] in value)) {\\n\\t\\t\\t\\t\\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = value[parts[i]];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/es-get-iterator/node_modules/es-abstract/GetIntrinsic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBind.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBind.js ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/es-get-iterator/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $Function = GetIntrinsic('%Function%');\\nvar $apply = $Function.apply;\\nvar $call = $Function.call;\\n\\nmodule.exports = function callBind() {\\n\\treturn bind.apply($call, arguments);\\n};\\n\\nmodule.exports.apply = function applyBind() {\\n\\treturn bind.apply($apply, arguments);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBind.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBound.js\":\n/*!************************************************************************************!*\\\n !*** ./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBound.js ***!\n \\************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/es-get-iterator/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar callBind = __webpack_require__(/*! ./callBind */ \\\"./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBind.js\\\");\\n\\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\\n\\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\\n\\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\\n\\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {\\n\\t\\treturn callBind(intrinsic);\\n\\t}\\n\\treturn intrinsic;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/es-get-iterator/node_modules/es-abstract/helpers/callBound.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/es-get-iterator/node_modules/isarray/index.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/es-get-iterator/node_modules/isarray/index.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"var toString = {}.toString;\\n\\nmodule.exports = Array.isArray || function (arr) {\\n return toString.call(arr) == '[object Array]';\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/es-get-iterator/node_modules/isarray/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/eventemitter3/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/eventemitter3/index.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"'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 * @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 {*} 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 * @private\\n */\\nfunction EE(fn, context, once) {\\n this.fn = fn;\\n this.context = context;\\n this.once = once || false;\\n}\\n\\n/**\\n * Add a listener for a given event.\\n *\\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\\n * @param {(String|Symbol)} event The event name.\\n * @param {Function} fn The listener function.\\n * @param {*} context The context to invoke the listener with.\\n * @param {Boolean} once Specify if the listener is a one-time listener.\\n * @returns {EventEmitter}\\n * @private\\n */\\nfunction addListener(emitter, event, fn, context, once) {\\n if (typeof fn !== 'function') {\\n throw new TypeError('The listener must be a function');\\n }\\n\\n var listener = new EE(fn, context || emitter, once)\\n , evt = prefix ? prefix + event : event;\\n\\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\\n else emitter._events[evt] = [emitter._events[evt], listener];\\n\\n return emitter;\\n}\\n\\n/**\\n * Clear event by name.\\n *\\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\\n * @param {(String|Symbol)} evt The Event name.\\n * @private\\n */\\nfunction clearEvent(emitter, evt) {\\n if (--emitter._eventsCount === 0) emitter._events = new Events();\\n else delete emitter._events[evt];\\n}\\n\\n/**\\n * Minimal `EventEmitter` interface that is molded against the Node.js\\n * `EventEmitter` interface.\\n *\\n * @constructor\\n * @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 * @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 * @returns {Array} The registered listeners.\\n * @public\\n */\\nEventEmitter.prototype.listeners = function listeners(event) {\\n var evt = prefix ? prefix + event : event\\n , handlers = this._events[evt];\\n\\n if (!handlers) return [];\\n if (handlers.fn) return [handlers.fn];\\n\\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\\n ee[i] = handlers[i].fn;\\n }\\n\\n return ee;\\n};\\n\\n/**\\n * Return the number of listeners listening to a given event.\\n *\\n * @param {(String|Symbol)} event The event name.\\n * @returns {Number} The number of listeners.\\n * @public\\n */\\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\\n var evt = prefix ? prefix + event : event\\n , listeners = this._events[evt];\\n\\n if (!listeners) return 0;\\n if (listeners.fn) return 1;\\n return listeners.length;\\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 * @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 {*} [context=this] The context to invoke the listener with.\\n * @returns {EventEmitter} `this`.\\n * @public\\n */\\nEventEmitter.prototype.on = function on(event, fn, context) {\\n return addListener(this, event, fn, context, false);\\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 {*} [context=this] The context to invoke the listener with.\\n * @returns {EventEmitter} `this`.\\n * @public\\n */\\nEventEmitter.prototype.once = function once(event, fn, context) {\\n return addListener(this, event, fn, context, true);\\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 {*} context Only remove the listeners that have this context.\\n * @param {Boolean} once Only remove one-time listeners.\\n * @returns {EventEmitter} `this`.\\n * @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 clearEvent(this, 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 clearEvent(this, 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 clearEvent(this, 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 * @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]) clearEvent(this, evt);\\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// 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//# sourceURL=webpack://Quill/./node_modules/eventemitter3/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/extend/index.js\":\n/*!**************************************!*\\\n !*** ./node_modules/extend/index.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"'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//# sourceURL=webpack://Quill/./node_modules/extend/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/fast-diff/diff.js\":\n/*!****************************************!*\\\n !*** ./node_modules/fast-diff/diff.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"/**\\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|Object} [cursor_pos] Edit position in text1 or object with more info\\n * @return {Array} Array of diff tuples.\\n */\\nfunction diff_main(text1, text2, cursor_pos, _fix_unicode) {\\n // Check for equality\\n if (text1 === text2) {\\n if (text1) {\\n return [[DIFF_EQUAL, text1]];\\n }\\n return [];\\n }\\n\\n if (cursor_pos != null) {\\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\\n if (editdiff) {\\n return editdiff;\\n }\\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, _fix_unicode);\\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 = [\\n [DIFF_INSERT, longtext.substring(0, i)],\\n [DIFF_EQUAL, shorttext],\\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]\\n ];\\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 (\\n x1 < text1_length && y1 < text2_length &&\\n text1.charAt(x1) === text2.charAt(y1)\\n ) {\\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 (\\n x2 < text1_length && y2 < text2_length &&\\n text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1)\\n ) {\\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 (\\n text1.substring(pointerstart, pointermid) ==\\n text2.substring(pointerstart, pointermid)\\n ) {\\n pointermin = pointermid;\\n pointerstart = pointermin;\\n } else {\\n pointermax = pointermid;\\n }\\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\\n }\\n\\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\\n pointermid--;\\n }\\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 || text1.slice(-1) !== text2.slice(-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 (\\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\\n text2.substring(text2.length - pointermid, text2.length - pointerend)\\n ) {\\n pointermin = pointermid;\\n pointerend = pointermin;\\n } else {\\n pointermax = pointermid;\\n }\\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\\n }\\n\\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\\n pointermid--;\\n }\\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.} 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.} 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(\\n longtext.substring(i), shorttext.substring(j));\\n var suffixLength = diff_commonSuffix(\\n longtext.substring(0, i), shorttext.substring(0, j));\\n if (best_common.length < suffixLength + prefixLength) {\\n best_common = shorttext.substring(\\n j - suffixLength, j) + 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 [\\n best_longtext_a, best_longtext_b,\\n best_shorttext_a, best_shorttext_b, best_common\\n ];\\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, Math.ceil(longtext.length / 4));\\n // Check again based on the third quarter.\\n var hm2 = diff_halfMatchI_(longtext, shorttext, 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 * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\\n */\\nfunction diff_cleanupMerge(diffs, fix_unicode) {\\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 if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\\n diffs.splice(pointer, 1);\\n continue;\\n }\\n switch (diffs[pointer][0]) {\\n case DIFF_INSERT:\\n\\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 var previous_equality = pointer - count_insert - count_delete - 1;\\n if (fix_unicode) {\\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\\n // we assume that the old and new text in the diff are complete and correct\\n // unicode-encoded JS strings, but the tuple boundaries may fall between\\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\\n // of the previous equality and the beginning of this equality. this may create\\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\\n // particular case, both equalities go away, we absorb any previous inequalities,\\n // and we keep scanning for the next equality before rewriting the tuples.\\n if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) {\\n var stray = diffs[previous_equality][1].slice(-1);\\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(0, -1);\\n text_delete = stray + text_delete;\\n text_insert = stray + text_insert;\\n if (!diffs[previous_equality][1]) {\\n // emptied out previous equality, so delete it and include previous delete/insert\\n diffs.splice(previous_equality, 1);\\n pointer--;\\n var k = previous_equality - 1;\\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\\n count_insert++;\\n text_insert = diffs[k][1] + text_insert;\\n k--;\\n }\\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\\n count_delete++;\\n text_delete = diffs[k][1] + text_delete;\\n k--;\\n }\\n previous_equality = k;\\n }\\n }\\n if (starts_with_pair_end(diffs[pointer][1])) {\\n var stray = diffs[pointer][1].charAt(0);\\n diffs[pointer][1] = diffs[pointer][1].slice(1);\\n text_delete += stray;\\n text_insert += stray;\\n }\\n }\\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\\n // for empty equality not at end, wait for next equality\\n diffs.splice(pointer, 1);\\n break;\\n }\\n if (text_delete.length > 0 || text_insert.length > 0) {\\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\\n if (text_delete.length > 0 && text_insert.length > 0) {\\n // Factor out any common prefixes.\\n commonlength = diff_commonPrefix(text_insert, text_delete);\\n if (commonlength !== 0) {\\n if (previous_equality >= 0) {\\n diffs[previous_equality][1] += text_insert.substring(0, commonlength);\\n } else {\\n diffs.splice(0, 0, [DIFF_EQUAL, 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 suffixes.\\n commonlength = diff_commonSuffix(text_insert, text_delete);\\n if (commonlength !== 0) {\\n diffs[pointer][1] =\\n text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\\n text_insert = text_insert.substring(0, text_insert.length - commonlength);\\n text_delete = text_delete.substring(0, text_delete.length - commonlength);\\n }\\n }\\n // Delete the offending records and add the merged ones.\\n var n = count_insert + count_delete;\\n if (text_delete.length === 0 && text_insert.length === 0) {\\n diffs.splice(pointer - n, n);\\n pointer = pointer - n;\\n } else if (text_delete.length === 0) {\\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\\n pointer = pointer - n + 1;\\n } else if (text_insert.length === 0) {\\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\\n pointer = pointer - n + 1;\\n } else {\\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\\n pointer = pointer - n + 2;\\n }\\n }\\n 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: ABAC -> ABAC\\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, fix_unicode);\\n }\\n};\\n\\nfunction is_surrogate_pair_start(charCode) {\\n return charCode >= 0xD800 && charCode <= 0xDBFF;\\n}\\n\\nfunction is_surrogate_pair_end(charCode) {\\n return charCode >= 0xDC00 && charCode <= 0xDFFF;\\n}\\n\\nfunction starts_with_pair_end(str) {\\n return is_surrogate_pair_end(str.charCodeAt(0));\\n}\\n\\nfunction ends_with_pair_start(str) {\\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\\n}\\n\\nfunction remove_empty_tuples(tuples) {\\n var ret = [];\\n for (var i = 0; i < tuples.length; i++) {\\n if (tuples[i][1].length > 0) {\\n ret.push(tuples[i]);\\n }\\n }\\n return ret;\\n}\\n\\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\\n return null;\\n }\\n return remove_empty_tuples([\\n [DIFF_EQUAL, before],\\n [DIFF_DELETE, oldMiddle],\\n [DIFF_INSERT, newMiddle],\\n [DIFF_EQUAL, after]\\n ]);\\n}\\n\\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\\n // note: this runs after equality check has ruled out exact equality\\n var oldRange = typeof cursor_pos === 'number' ?\\n { index: cursor_pos, length: 0 } : cursor_pos.oldRange;\\n var newRange = typeof cursor_pos === 'number' ?\\n null : cursor_pos.newRange;\\n // take into account the old and new selection to generate the best diff\\n // possible for a text edit. for example, a text change from \\\"xxx\\\" to \\\"xx\\\"\\n // could be a delete or forwards-delete of any one of the x's, or the\\n // result of selecting two of the x's and typing \\\"x\\\".\\n var oldLength = oldText.length;\\n var newLength = newText.length;\\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\\n // see if we have an insert or delete before or after cursor\\n var oldCursor = oldRange.index;\\n var oldBefore = oldText.slice(0, oldCursor);\\n var oldAfter = oldText.slice(oldCursor);\\n var maybeNewCursor = newRange ? newRange.index : null;\\n editBefore: {\\n // is this an insert or delete right before oldCursor?\\n var newCursor = oldCursor + newLength - oldLength;\\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\\n break editBefore;\\n }\\n if (newCursor < 0 || newCursor > newLength) {\\n break editBefore;\\n }\\n var newBefore = newText.slice(0, newCursor);\\n var newAfter = newText.slice(newCursor);\\n if (newAfter !== oldAfter) {\\n break editBefore;\\n }\\n var prefixLength = Math.min(oldCursor, newCursor);\\n var oldPrefix = oldBefore.slice(0, prefixLength);\\n var newPrefix = newBefore.slice(0, prefixLength);\\n if (oldPrefix !== newPrefix) {\\n break editBefore;\\n }\\n var oldMiddle = oldBefore.slice(prefixLength);\\n var newMiddle = newBefore.slice(prefixLength);\\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\\n }\\n editAfter: {\\n // is this an insert or delete right after oldCursor?\\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\\n break editAfter;\\n }\\n var cursor = oldCursor;\\n var newBefore = newText.slice(0, cursor);\\n var newAfter = newText.slice(cursor);\\n if (newBefore !== oldBefore) {\\n break editAfter;\\n }\\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\\n if (oldSuffix !== newSuffix) {\\n break editAfter;\\n }\\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\\n }\\n }\\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\\n replaceRange: {\\n // see if diff could be a splice of the old selection range\\n var oldPrefix = oldText.slice(0, oldRange.index);\\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\\n var prefixLength = oldPrefix.length;\\n var suffixLength = oldSuffix.length;\\n if (newLength < prefixLength + suffixLength) {\\n break replaceRange;\\n }\\n var newPrefix = newText.slice(0, prefixLength);\\n var newSuffix = newText.slice(newLength - suffixLength);\\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\\n break replaceRange;\\n }\\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\\n }\\n }\\n\\n return null;\\n}\\n\\nfunction diff(text1, text2, cursor_pos) {\\n // only pass fix_unicode=true at the top level, not when diff_main is\\n // recursively invoked\\n return diff_main(text1, text2, cursor_pos, true);\\n}\\n\\ndiff.INSERT = DIFF_INSERT;\\ndiff.DELETE = DIFF_DELETE;\\ndiff.EQUAL = DIFF_EQUAL;\\n\\nmodule.exports = diff;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/fast-diff/diff.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/foreach/index.js\":\n/*!***************************************!*\\\n !*** ./node_modules/foreach/index.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"\\nvar hasOwn = Object.prototype.hasOwnProperty;\\nvar toString = Object.prototype.toString;\\n\\nmodule.exports = function forEach (obj, fn, ctx) {\\n if (toString.call(fn) !== '[object Function]') {\\n throw new TypeError('iterator must be a function');\\n }\\n var l = obj.length;\\n if (l === +l) {\\n for (var i = 0; i < l; i++) {\\n fn.call(ctx, obj[i], i, obj);\\n }\\n } else {\\n for (var k in obj) {\\n if (hasOwn.call(obj, k)) {\\n fn.call(ctx, obj[k], k, obj);\\n }\\n }\\n }\\n};\\n\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/foreach/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/function-bind/implementation.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/function-bind/implementation.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* eslint no-invalid-this: 1 */\\n\\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\\nvar slice = Array.prototype.slice;\\nvar toStr = Object.prototype.toString;\\nvar funcType = '[object Function]';\\n\\nmodule.exports = function bind(that) {\\n var target = this;\\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\\n throw new TypeError(ERROR_MESSAGE + target);\\n }\\n var args = slice.call(arguments, 1);\\n\\n var bound;\\n var binder = function () {\\n if (this instanceof bound) {\\n var result = target.apply(\\n this,\\n args.concat(slice.call(arguments))\\n );\\n if (Object(result) === result) {\\n return result;\\n }\\n return this;\\n } else {\\n return target.apply(\\n that,\\n args.concat(slice.call(arguments))\\n );\\n }\\n };\\n\\n var boundLength = Math.max(0, target.length - args.length);\\n var boundArgs = [];\\n for (var i = 0; i < boundLength; i++) {\\n boundArgs.push('$' + i);\\n }\\n\\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\\n\\n if (target.prototype) {\\n var Empty = function Empty() {};\\n Empty.prototype = target.prototype;\\n bound.prototype = new Empty();\\n Empty.prototype = null;\\n }\\n\\n return bound;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/function-bind/implementation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/function-bind/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/function-bind/index.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar implementation = __webpack_require__(/*! ./implementation */ \\\"./node_modules/function-bind/implementation.js\\\");\\n\\nmodule.exports = Function.prototype.bind || implementation;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/function-bind/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/has-symbols/index.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/has-symbols/index.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/* WEBPACK VAR INJECTION */(function(global) {\\n\\nvar origSymbol = global.Symbol;\\nvar hasSymbolSham = __webpack_require__(/*! ./shams */ \\\"./node_modules/has-symbols/shams.js\\\");\\n\\nmodule.exports = function hasNativeSymbols() {\\n\\tif (typeof origSymbol !== 'function') { return false; }\\n\\tif (typeof Symbol !== 'function') { return false; }\\n\\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\\n\\tif (typeof Symbol('bar') !== 'symbol') { return false; }\\n\\n\\treturn hasSymbolSham();\\n};\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))\\n\\n//# sourceURL=webpack://Quill/./node_modules/has-symbols/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/has-symbols/shams.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/has-symbols/shams.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\\nmodule.exports = function hasSymbols() {\\n\\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\\n\\tif (typeof Symbol.iterator === 'symbol') { return true; }\\n\\n\\tvar obj = {};\\n\\tvar sym = Symbol('test');\\n\\tvar symObj = Object(sym);\\n\\tif (typeof sym === 'string') { return false; }\\n\\n\\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\\n\\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\\n\\n\\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\\n\\t// if (sym instanceof Symbol) { return false; }\\n\\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\\n\\t// if (!(symObj instanceof Symbol)) { return false; }\\n\\n\\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\\n\\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\\n\\n\\tvar symVal = 42;\\n\\tobj[sym] = symVal;\\n\\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax\\n\\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\\n\\n\\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\\n\\n\\tvar syms = Object.getOwnPropertySymbols(obj);\\n\\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\\n\\n\\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\\n\\n\\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\\n\\t\\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\\n\\t\\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\\n\\t}\\n\\n\\treturn true;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/has-symbols/shams.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/has/src/index.js\":\n/*!***************************************!*\\\n !*** ./node_modules/has/src/index.js ***!\n \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/has/src/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-arguments/index.js\":\n/*!********************************************!*\\\n !*** ./node_modules/is-arguments/index.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\nvar toStr = Object.prototype.toString;\\n\\nvar isStandardArguments = function isArguments(value) {\\n\\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\\n\\t\\treturn false;\\n\\t}\\n\\treturn toStr.call(value) === '[object Arguments]';\\n};\\n\\nvar isLegacyArguments = function isArguments(value) {\\n\\tif (isStandardArguments(value)) {\\n\\t\\treturn true;\\n\\t}\\n\\treturn value !== null &&\\n\\t\\ttypeof value === 'object' &&\\n\\t\\ttypeof value.length === 'number' &&\\n\\t\\tvalue.length >= 0 &&\\n\\t\\ttoStr.call(value) !== '[object Array]' &&\\n\\t\\ttoStr.call(value.callee) === '[object Function]';\\n};\\n\\nvar supportsStandardArguments = (function () {\\n\\treturn isStandardArguments(arguments);\\n}());\\n\\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\\n\\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-arguments/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-bigint/index.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/is-bigint/index.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nif (typeof BigInt === 'function') {\\n\\tvar bigIntValueOf = BigInt.prototype.valueOf;\\n\\tvar tryBigInt = function tryBigIntObject(value) {\\n\\t\\ttry {\\n\\t\\t\\tbigIntValueOf.call(value);\\n\\t\\t\\treturn true;\\n\\t\\t} catch (e) {\\n\\t\\t}\\n\\t\\treturn false;\\n\\t};\\n\\n\\tmodule.exports = function isBigInt(value) {\\n\\t\\tif (\\n\\t\\t\\tvalue === null\\n\\t\\t\\t|| typeof value === 'undefined'\\n\\t\\t\\t|| typeof value === 'boolean'\\n\\t\\t\\t|| typeof value === 'string'\\n\\t\\t\\t|| typeof value === 'number'\\n\\t\\t\\t|| typeof value === 'symbol'\\n\\t\\t\\t|| typeof value === 'function'\\n\\t\\t) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\tif (typeof value === 'bigint') { // eslint-disable-line valid-typeof\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\n\\t\\treturn tryBigInt(value);\\n\\t};\\n} else {\\n\\tmodule.exports = function isBigInt(value) {\\n\\t\\treturn false && false;\\n\\t};\\n}\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-bigint/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-boolean-object/index.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/is-boolean-object/index.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar boolToStr = Boolean.prototype.toString;\\n\\nvar tryBooleanObject = function booleanBrandCheck(value) {\\n\\ttry {\\n\\t\\tboolToStr.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t}\\n};\\nvar toStr = Object.prototype.toString;\\nvar boolClass = '[object Boolean]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isBoolean(value) {\\n\\tif (typeof value === 'boolean') {\\n\\t\\treturn true;\\n\\t}\\n\\tif (value === null || typeof value !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\treturn hasToStringTag && Symbol.toStringTag in value ? tryBooleanObject(value) : toStr.call(value) === boolClass;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-boolean-object/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-date-object/index.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/is-date-object/index.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar getDay = Date.prototype.getDay;\\nvar tryDateObject = function tryDateObject(value) {\\n\\ttry {\\n\\t\\tgetDay.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nvar toStr = Object.prototype.toString;\\nvar dateClass = '[object Date]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isDateObject(value) {\\n\\tif (typeof value !== 'object' || value === null) { return false; }\\n\\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-date-object/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-map/index.js\":\n/*!**************************************!*\\\n !*** ./node_modules/is-map/index.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar $Map = typeof Map === 'function' && Map.prototype ? Map : null;\\nvar $Set = typeof Set === 'function' && Set.prototype ? Set : null;\\n\\nvar exported;\\n\\nif (!$Map) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isMap(x) {\\n\\t\\t// `Map` is not present in this environment.\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nvar $mapHas = $Map ? Map.prototype.has : null;\\nvar $setHas = $Set ? Set.prototype.has : null;\\nif (!exported && !$mapHas) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isMap(x) {\\n\\t\\t// `Map` does not have a `has` method\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nmodule.exports = exported || function isMap(x) {\\n\\tif (!x || typeof x !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\ttry {\\n\\t\\t$mapHas.call(x);\\n\\t\\tif ($setHas) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t$setHas.call(x);\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn x instanceof $Map; // core-js workaround, pre-v2.5.0\\n\\t} catch (e) {}\\n\\treturn false;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-map/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-number-object/index.js\":\n/*!************************************************!*\\\n !*** ./node_modules/is-number-object/index.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar numToStr = Number.prototype.toString;\\nvar tryNumberObject = function tryNumberObject(value) {\\n\\ttry {\\n\\t\\tnumToStr.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t}\\n};\\nvar toStr = Object.prototype.toString;\\nvar numClass = '[object Number]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isNumberObject(value) {\\n\\tif (typeof value === 'number') {\\n\\t\\treturn true;\\n\\t}\\n\\tif (typeof value !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\treturn hasToStringTag ? tryNumberObject(value) : toStr.call(value) === numClass;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-number-object/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-regex/index.js\":\n/*!****************************************!*\\\n !*** ./node_modules/is-regex/index.js ***!\n \\****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar has = __webpack_require__(/*! has */ \\\"./node_modules/has/src/index.js\\\");\\nvar regexExec = RegExp.prototype.exec;\\nvar gOPD = Object.getOwnPropertyDescriptor;\\n\\nvar tryRegexExecCall = function tryRegexExec(value) {\\n\\ttry {\\n\\t\\tvar lastIndex = value.lastIndex;\\n\\t\\tvalue.lastIndex = 0;\\n\\n\\t\\tregexExec.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t} finally {\\n\\t\\tvalue.lastIndex = lastIndex;\\n\\t}\\n};\\nvar toStr = Object.prototype.toString;\\nvar regexClass = '[object RegExp]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isRegex(value) {\\n\\tif (!value || typeof value !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\tif (!hasToStringTag) {\\n\\t\\treturn toStr.call(value) === regexClass;\\n\\t}\\n\\n\\tvar descriptor = gOPD(value, 'lastIndex');\\n\\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\\n\\tif (!hasLastIndexDataProperty) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\treturn tryRegexExecCall(value);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-regex/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-set/index.js\":\n/*!**************************************!*\\\n !*** ./node_modules/is-set/index.js ***!\n \\**************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar $Map = typeof Map === 'function' && Map.prototype ? Map : null;\\nvar $Set = typeof Set === 'function' && Set.prototype ? Set : null;\\n\\nvar exported;\\n\\nif (!$Set) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isSet(x) {\\n\\t\\t// `Set` is not present in this environment.\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nvar $mapHas = $Map ? Map.prototype.has : null;\\nvar $setHas = $Set ? Set.prototype.has : null;\\nif (!exported && !$setHas) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isSet(x) {\\n\\t\\t// `Set` does not have a `has` method\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nmodule.exports = exported || function isSet(x) {\\n\\tif (!x || typeof x !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\ttry {\\n\\t\\t$setHas.call(x);\\n\\t\\tif ($mapHas) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t$mapHas.call(x);\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn x instanceof $Set; // core-js workaround, pre-v2.5.0\\n\\t} catch (e) {}\\n\\treturn false;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-set/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-string/index.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/is-string/index.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar strValue = String.prototype.valueOf;\\nvar tryStringObject = function tryStringObject(value) {\\n\\ttry {\\n\\t\\tstrValue.call(value);\\n\\t\\treturn true;\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t}\\n};\\nvar toStr = Object.prototype.toString;\\nvar strClass = '[object String]';\\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\\n\\nmodule.exports = function isString(value) {\\n\\tif (typeof value === 'string') {\\n\\t\\treturn true;\\n\\t}\\n\\tif (typeof value !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\treturn hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-string/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-typed-array/index.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/is-typed-array/index.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/* WEBPACK VAR INJECTION */(function(global) {\\n\\nvar forEach = __webpack_require__(/*! foreach */ \\\"./node_modules/foreach/index.js\\\");\\nvar availableTypedArrays = __webpack_require__(/*! available-typed-arrays */ \\\"./node_modules/available-typed-arrays/index.js\\\");\\nvar callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ \\\"./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBound.js\\\");\\n\\nvar $toString = callBound('Object.prototype.toString');\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\\n\\nvar typedArrays = availableTypedArrays();\\n\\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\\n\\tfor (var i = 0; i < array.length; i += 1) {\\n\\t\\tif (array[i] === value) {\\n\\t\\t\\treturn i;\\n\\t\\t}\\n\\t}\\n\\treturn -1;\\n};\\nvar $slice = callBound('String.prototype.slice');\\nvar toStrTags = {};\\nvar gOPD = __webpack_require__(/*! es-abstract/helpers/getOwnPropertyDescriptor */ \\\"./node_modules/is-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js\\\");\\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\\nif (hasToStringTag && gOPD && getPrototypeOf) {\\n\\tforEach(typedArrays, function (typedArray) {\\n\\t\\tvar arr = new global[typedArray]();\\n\\t\\tif (!(Symbol.toStringTag in arr)) {\\n\\t\\t\\tthrow new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');\\n\\t\\t}\\n\\t\\tvar proto = getPrototypeOf(arr);\\n\\t\\tvar descriptor = gOPD(proto, Symbol.toStringTag);\\n\\t\\tif (!descriptor) {\\n\\t\\t\\tvar superProto = getPrototypeOf(proto);\\n\\t\\t\\tdescriptor = gOPD(superProto, Symbol.toStringTag);\\n\\t\\t}\\n\\t\\ttoStrTags[typedArray] = descriptor.get;\\n\\t});\\n}\\n\\nvar tryTypedArrays = function tryAllTypedArrays(value) {\\n\\tvar anyTrue = false;\\n\\tforEach(toStrTags, function (getter, typedArray) {\\n\\t\\tif (!anyTrue) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tanyTrue = getter.call(value) === typedArray;\\n\\t\\t\\t} catch (e) { /**/ }\\n\\t\\t}\\n\\t});\\n\\treturn anyTrue;\\n};\\n\\nmodule.exports = function isTypedArray(value) {\\n\\tif (!value || typeof value !== 'object') { return false; }\\n\\tif (!hasToStringTag) {\\n\\t\\tvar tag = $slice($toString(value), 8, -1);\\n\\t\\treturn $indexOf(typedArrays, tag) > -1;\\n\\t}\\n\\tif (!gOPD) { return false; }\\n\\treturn tryTypedArrays(value);\\n};\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-typed-array/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-typed-array/node_modules/es-abstract/GetIntrinsic.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/is-typed-array/node_modules/es-abstract/GetIntrinsic.js ***!\n \\******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* globals\\n\\tAtomics,\\n\\tSharedArrayBuffer,\\n*/\\n\\nvar undefined;\\n\\nvar $TypeError = TypeError;\\n\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD({}, '');\\n\\t} catch (e) {\\n\\t\\t$gOPD = null; // this is IE 8, which has a broken gOPD\\n\\t}\\n}\\n\\nvar throwTypeError = function () { throw new $TypeError(); };\\nvar ThrowTypeError = $gOPD\\n\\t? (function () {\\n\\t\\ttry {\\n\\t\\t\\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\\n\\t\\t\\targuments.callee; // IE 8 does not throw here\\n\\t\\t\\treturn throwTypeError;\\n\\t\\t} catch (calleeThrows) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\\n\\t\\t\\t\\treturn $gOPD(arguments, 'callee').get;\\n\\t\\t\\t} catch (gOPDthrows) {\\n\\t\\t\\t\\treturn throwTypeError;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}())\\n\\t: throwTypeError;\\n\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\\n\\nvar generator; // = function * () {};\\nvar generatorFunction = generator ? getProto(generator) : undefined;\\nvar asyncFn; // async function() {};\\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\\nvar asyncGen; // async function * () {};\\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\\n\\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\\n\\nvar INTRINSICS = {\\n\\t'%Array%': Array,\\n\\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\\n\\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\\n\\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\\n\\t'%ArrayPrototype%': Array.prototype,\\n\\t'%ArrayProto_entries%': Array.prototype.entries,\\n\\t'%ArrayProto_forEach%': Array.prototype.forEach,\\n\\t'%ArrayProto_keys%': Array.prototype.keys,\\n\\t'%ArrayProto_values%': Array.prototype.values,\\n\\t'%AsyncFromSyncIteratorPrototype%': undefined,\\n\\t'%AsyncFunction%': asyncFunction,\\n\\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\\n\\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\\n\\t'%AsyncGeneratorFunction%': asyncGenFunction,\\n\\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\\n\\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\\n\\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\\n\\t'%Boolean%': Boolean,\\n\\t'%BooleanPrototype%': Boolean.prototype,\\n\\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\\n\\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\\n\\t'%Date%': Date,\\n\\t'%DatePrototype%': Date.prototype,\\n\\t'%decodeURI%': decodeURI,\\n\\t'%decodeURIComponent%': decodeURIComponent,\\n\\t'%encodeURI%': encodeURI,\\n\\t'%encodeURIComponent%': encodeURIComponent,\\n\\t'%Error%': Error,\\n\\t'%ErrorPrototype%': Error.prototype,\\n\\t'%eval%': eval, // eslint-disable-line no-eval\\n\\t'%EvalError%': EvalError,\\n\\t'%EvalErrorPrototype%': EvalError.prototype,\\n\\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\\n\\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\\n\\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\\n\\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\\n\\t'%Function%': Function,\\n\\t'%FunctionPrototype%': Function.prototype,\\n\\t'%Generator%': generator ? getProto(generator()) : undefined,\\n\\t'%GeneratorFunction%': generatorFunction,\\n\\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\\n\\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\\n\\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\\n\\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\\n\\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\\n\\t'%isFinite%': isFinite,\\n\\t'%isNaN%': isNaN,\\n\\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\\n\\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\\n\\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\\n\\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\\n\\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\\n\\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\\n\\t'%Math%': Math,\\n\\t'%Number%': Number,\\n\\t'%NumberPrototype%': Number.prototype,\\n\\t'%Object%': Object,\\n\\t'%ObjectPrototype%': Object.prototype,\\n\\t'%ObjProto_toString%': Object.prototype.toString,\\n\\t'%ObjProto_valueOf%': Object.prototype.valueOf,\\n\\t'%parseFloat%': parseFloat,\\n\\t'%parseInt%': parseInt,\\n\\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\\n\\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\\n\\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\\n\\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\\n\\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\\n\\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\\n\\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\\n\\t'%RangeError%': RangeError,\\n\\t'%RangeErrorPrototype%': RangeError.prototype,\\n\\t'%ReferenceError%': ReferenceError,\\n\\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\\n\\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\\n\\t'%RegExp%': RegExp,\\n\\t'%RegExpPrototype%': RegExp.prototype,\\n\\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\\n\\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\\n\\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\\n\\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\\n\\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\\n\\t'%String%': String,\\n\\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\\n\\t'%StringPrototype%': String.prototype,\\n\\t'%Symbol%': hasSymbols ? Symbol : undefined,\\n\\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\\n\\t'%SyntaxError%': SyntaxError,\\n\\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\\n\\t'%ThrowTypeError%': ThrowTypeError,\\n\\t'%TypedArray%': TypedArray,\\n\\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\\n\\t'%TypeError%': $TypeError,\\n\\t'%TypeErrorPrototype%': $TypeError.prototype,\\n\\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\\n\\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\\n\\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\\n\\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\\n\\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\\n\\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\\n\\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\\n\\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\\n\\t'%URIError%': URIError,\\n\\t'%URIErrorPrototype%': URIError.prototype,\\n\\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\\n\\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\\n\\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\\n\\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\\n};\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar $replace = bind.call(Function.call, String.prototype.replace);\\n\\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\\nvar rePropName = /[^%.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|%$))/g;\\nvar reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g; /** Used to match backslashes in property paths. */\\nvar stringToPath = function stringToPath(string) {\\n\\tvar result = [];\\n\\t$replace(string, rePropName, function (match, number, quote, subString) {\\n\\t\\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\\n\\t});\\n\\treturn result;\\n};\\n/* end adaptation */\\n\\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\\n\\tif (!(name in INTRINSICS)) {\\n\\t\\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\\n\\t}\\n\\n\\t// istanbul ignore if // hopefully this is impossible to test :-)\\n\\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\\n\\t\\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\\n\\t}\\n\\n\\treturn INTRINSICS[name];\\n};\\n\\nmodule.exports = function GetIntrinsic(name, allowMissing) {\\n\\tif (typeof name !== 'string' || name.length === 0) {\\n\\t\\tthrow new TypeError('intrinsic name must be a non-empty string');\\n\\t}\\n\\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\\n\\t\\tthrow new TypeError('\\\"allowMissing\\\" argument must be a boolean');\\n\\t}\\n\\n\\tvar parts = stringToPath(name);\\n\\n\\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\\n\\tfor (var i = 1; i < parts.length; i += 1) {\\n\\t\\tif (value != null) {\\n\\t\\t\\tif ($gOPD && (i + 1) >= parts.length) {\\n\\t\\t\\t\\tvar desc = $gOPD(value, parts[i]);\\n\\t\\t\\t\\tif (!allowMissing && !(parts[i] in value)) {\\n\\t\\t\\t\\t\\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = value[parts[i]];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-typed-array/node_modules/es-abstract/GetIntrinsic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBind.js\":\n/*!**********************************************************************************!*\\\n !*** ./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBind.js ***!\n \\**********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/is-typed-array/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $Function = GetIntrinsic('%Function%');\\nvar $apply = $Function.apply;\\nvar $call = $Function.call;\\n\\nmodule.exports = function callBind() {\\n\\treturn bind.apply($call, arguments);\\n};\\n\\nmodule.exports.apply = function applyBind() {\\n\\treturn bind.apply($apply, arguments);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBind.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBound.js\":\n/*!***********************************************************************************!*\\\n !*** ./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBound.js ***!\n \\***********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/is-typed-array/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar callBind = __webpack_require__(/*! ./callBind */ \\\"./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBind.js\\\");\\n\\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\\n\\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\\n\\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\\n\\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {\\n\\t\\treturn callBind(intrinsic);\\n\\t}\\n\\treturn intrinsic;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-typed-array/node_modules/es-abstract/helpers/callBound.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js\":\n/*!**************************************************************************************************!*\\\n !*** ./node_modules/is-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js ***!\n \\**************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/is-typed-array/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD([], 'length');\\n\\t} catch (e) {\\n\\t\\t// IE 8 has a broken gOPD\\n\\t\\t$gOPD = null;\\n\\t}\\n}\\n\\nmodule.exports = $gOPD;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-weakmap/index.js\":\n/*!******************************************!*\\\n !*** ./node_modules/is-weakmap/index.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar $WeakMap = typeof WeakMap === 'function' && WeakMap.prototype ? WeakMap : null;\\nvar $WeakSet = typeof WeakSet === 'function' && WeakSet.prototype ? WeakSet : null;\\n\\nvar exported;\\n\\nif (!$WeakMap) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isWeakMap(x) {\\n\\t\\t// `WeakMap` is not present in this environment.\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nvar $mapHas = $WeakMap ? $WeakMap.prototype.has : null;\\nvar $setHas = $WeakSet ? $WeakSet.prototype.has : null;\\nif (!exported && !$mapHas) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isWeakMap(x) {\\n\\t\\t// `WeakMap` does not have a `has` method\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nmodule.exports = exported || function isWeakMap(x) {\\n\\tif (!x || typeof x !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\ttry {\\n\\t\\t$mapHas.call(x, $mapHas);\\n\\t\\tif ($setHas) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t$setHas.call(x, $setHas);\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn x instanceof $WeakMap; // core-js workaround, pre-v3\\n\\t} catch (e) {}\\n\\treturn false;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-weakmap/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/is-weakset/index.js\":\n/*!******************************************!*\\\n !*** ./node_modules/is-weakset/index.js ***!\n \\******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar $WeakMap = typeof WeakMap === 'function' && WeakMap.prototype ? WeakMap : null;\\nvar $WeakSet = typeof WeakSet === 'function' && WeakSet.prototype ? WeakSet : null;\\n\\nvar exported;\\n\\nif (!$WeakMap) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\texported = function isWeakSet(x) {\\n\\t\\t// `WeakSet` is not present in this environment.\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nvar $mapHas = $WeakMap ? $WeakMap.prototype.has : null;\\nvar $setHas = $WeakSet ? $WeakSet.prototype.has : null;\\nif (!exported && !$setHas) {\\n\\t// eslint-disable-next-line no-unused-vars\\n\\tmodule.exports = function isWeakSet(x) {\\n\\t\\t// `WeakSet` does not have a `has` method\\n\\t\\treturn false;\\n\\t};\\n}\\n\\nmodule.exports = exported || function isWeakSet(x) {\\n\\tif (!x || typeof x !== 'object') {\\n\\t\\treturn false;\\n\\t}\\n\\ttry {\\n\\t\\t$setHas.call(x, $setHas);\\n\\t\\tif ($mapHas) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t$mapHas.call(x, $mapHas);\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn x instanceof $WeakSet; // core-js workaround, pre-v3\\n\\t} catch (e) {}\\n\\treturn false;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/is-weakset/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object-inspect/index.js\":\n/*!**********************************************!*\\\n !*** ./node_modules/object-inspect/index.js ***!\n \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var hasMap = typeof Map === 'function' && Map.prototype;\\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\\nvar mapForEach = hasMap && Map.prototype.forEach;\\nvar hasSet = typeof Set === 'function' && Set.prototype;\\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\\nvar setForEach = hasSet && Set.prototype.forEach;\\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\\nvar booleanValueOf = Boolean.prototype.valueOf;\\nvar objectToString = Object.prototype.toString;\\nvar match = String.prototype.match;\\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\\n\\nvar inspectCustom = __webpack_require__(/*! ./util.inspect */ 1).custom;\\nvar inspectSymbol = inspectCustom && isSymbol(inspectCustom) ? inspectCustom : null;\\n\\nmodule.exports = function inspect_(obj, options, depth, seen) {\\n var opts = options || {};\\n\\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\\n throw new TypeError('option \\\"quoteStyle\\\" must be \\\"single\\\" or \\\"double\\\"');\\n }\\n\\n if (typeof obj === 'undefined') {\\n return 'undefined';\\n }\\n if (obj === null) {\\n return 'null';\\n }\\n if (typeof obj === 'boolean') {\\n return obj ? 'true' : 'false';\\n }\\n\\n if (typeof obj === 'string') {\\n return inspectString(obj, opts);\\n }\\n if (typeof obj === 'number') {\\n if (obj === 0) {\\n return Infinity / obj > 0 ? '0' : '-0';\\n }\\n return String(obj);\\n }\\n if (typeof obj === 'bigint') { // eslint-disable-line valid-typeof\\n return String(obj) + 'n';\\n }\\n\\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\\n if (typeof depth === 'undefined') { depth = 0; }\\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\\n return '[Object]';\\n }\\n\\n if (typeof seen === 'undefined') {\\n seen = [];\\n } else if (indexOf(seen, obj) >= 0) {\\n return '[Circular]';\\n }\\n\\n function inspect(value, from) {\\n if (from) {\\n seen = seen.slice();\\n seen.push(from);\\n }\\n return inspect_(value, opts, depth + 1, seen);\\n }\\n\\n if (typeof obj === 'function') {\\n var name = nameOf(obj);\\n return '[Function' + (name ? ': ' + name : '') + ']';\\n }\\n if (isSymbol(obj)) {\\n var symString = Symbol.prototype.toString.call(obj);\\n return typeof obj === 'object' ? markBoxed(symString) : symString;\\n }\\n if (isElement(obj)) {\\n var s = '<' + String(obj.nodeName).toLowerCase();\\n var attrs = obj.attributes || [];\\n for (var i = 0; i < attrs.length; i++) {\\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\\n }\\n s += '>';\\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\\n s += '';\\n return s;\\n }\\n if (isArray(obj)) {\\n if (obj.length === 0) { return '[]'; }\\n return '[ ' + arrObjKeys(obj, inspect).join(', ') + ' ]';\\n }\\n if (isError(obj)) {\\n var parts = arrObjKeys(obj, inspect);\\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\\n return '{ [' + String(obj) + '] ' + parts.join(', ') + ' }';\\n }\\n if (typeof obj === 'object') {\\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function') {\\n return obj[inspectSymbol]();\\n } else if (typeof obj.inspect === 'function') {\\n return obj.inspect();\\n }\\n }\\n if (isMap(obj)) {\\n var mapParts = [];\\n mapForEach.call(obj, function (value, key) {\\n mapParts.push(inspect(key, obj) + ' => ' + inspect(value, obj));\\n });\\n return collectionOf('Map', mapSize.call(obj), mapParts);\\n }\\n if (isSet(obj)) {\\n var setParts = [];\\n setForEach.call(obj, function (value) {\\n setParts.push(inspect(value, obj));\\n });\\n return collectionOf('Set', setSize.call(obj), setParts);\\n }\\n if (isWeakMap(obj)) {\\n return weakCollectionOf('WeakMap');\\n }\\n if (isWeakSet(obj)) {\\n return weakCollectionOf('WeakSet');\\n }\\n if (isNumber(obj)) {\\n return markBoxed(inspect(Number(obj)));\\n }\\n if (isBigInt(obj)) {\\n return markBoxed(inspect(bigIntValueOf.call(obj)));\\n }\\n if (isBoolean(obj)) {\\n return markBoxed(booleanValueOf.call(obj));\\n }\\n if (isString(obj)) {\\n return markBoxed(inspect(String(obj)));\\n }\\n if (!isDate(obj) && !isRegExp(obj)) {\\n var xs = arrObjKeys(obj, inspect);\\n if (xs.length === 0) { return '{}'; }\\n return '{ ' + xs.join(', ') + ' }';\\n }\\n return String(obj);\\n};\\n\\nfunction wrapQuotes(s, defaultStyle, opts) {\\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\\\"' : \\\"'\\\";\\n return quoteChar + s + quoteChar;\\n}\\n\\nfunction quote(s) {\\n return String(s).replace(/\\\"/g, '"');\\n}\\n\\nfunction isArray(obj) { return toStr(obj) === '[object Array]'; }\\nfunction isDate(obj) { return toStr(obj) === '[object Date]'; }\\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]'; }\\nfunction isError(obj) { return toStr(obj) === '[object Error]'; }\\nfunction isSymbol(obj) { return toStr(obj) === '[object Symbol]'; }\\nfunction isString(obj) { return toStr(obj) === '[object String]'; }\\nfunction isNumber(obj) { return toStr(obj) === '[object Number]'; }\\nfunction isBigInt(obj) { return toStr(obj) === '[object BigInt]'; }\\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]'; }\\n\\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\\nfunction has(obj, key) {\\n return hasOwn.call(obj, key);\\n}\\n\\nfunction toStr(obj) {\\n return objectToString.call(obj);\\n}\\n\\nfunction nameOf(f) {\\n if (f.name) { return f.name; }\\n var m = match.call(f, /^function\\\\s*([\\\\w$]+)/);\\n if (m) { return m[1]; }\\n return null;\\n}\\n\\nfunction indexOf(xs, x) {\\n if (xs.indexOf) { return xs.indexOf(x); }\\n for (var i = 0, l = xs.length; i < l; i++) {\\n if (xs[i] === x) { return i; }\\n }\\n return -1;\\n}\\n\\nfunction isMap(x) {\\n if (!mapSize || !x || typeof x !== 'object') {\\n return false;\\n }\\n try {\\n mapSize.call(x);\\n try {\\n setSize.call(x);\\n } catch (s) {\\n return true;\\n }\\n return x instanceof Map; // core-js workaround, pre-v2.5.0\\n } catch (e) {}\\n return false;\\n}\\n\\nfunction isWeakMap(x) {\\n if (!weakMapHas || !x || typeof x !== 'object') {\\n return false;\\n }\\n try {\\n weakMapHas.call(x, weakMapHas);\\n try {\\n weakSetHas.call(x, weakSetHas);\\n } catch (s) {\\n return true;\\n }\\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\\n } catch (e) {}\\n return false;\\n}\\n\\nfunction isSet(x) {\\n if (!setSize || !x || typeof x !== 'object') {\\n return false;\\n }\\n try {\\n setSize.call(x);\\n try {\\n mapSize.call(x);\\n } catch (m) {\\n return true;\\n }\\n return x instanceof Set; // core-js workaround, pre-v2.5.0\\n } catch (e) {}\\n return false;\\n}\\n\\nfunction isWeakSet(x) {\\n if (!weakSetHas || !x || typeof x !== 'object') {\\n return false;\\n }\\n try {\\n weakSetHas.call(x, weakSetHas);\\n try {\\n weakMapHas.call(x, weakMapHas);\\n } catch (s) {\\n return true;\\n }\\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\\n } catch (e) {}\\n return false;\\n}\\n\\nfunction isElement(x) {\\n if (!x || typeof x !== 'object') { return false; }\\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\\n return true;\\n }\\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\\n}\\n\\nfunction inspectString(str, opts) {\\n // eslint-disable-next-line no-control-regex\\n var s = str.replace(/(['\\\\\\\\])/g, '\\\\\\\\$1').replace(/[\\\\x00-\\\\x1f]/g, lowbyte);\\n return wrapQuotes(s, 'single', opts);\\n}\\n\\nfunction lowbyte(c) {\\n var n = c.charCodeAt(0);\\n var x = {\\n 8: 'b', 9: 't', 10: 'n', 12: 'f', 13: 'r'\\n }[n];\\n if (x) { return '\\\\\\\\' + x; }\\n return '\\\\\\\\x' + (n < 0x10 ? '0' : '') + n.toString(16);\\n}\\n\\nfunction markBoxed(str) {\\n return 'Object(' + str + ')';\\n}\\n\\nfunction weakCollectionOf(type) {\\n return type + ' { ? }';\\n}\\n\\nfunction collectionOf(type, size, entries) {\\n return type + ' (' + size + ') {' + entries.join(', ') + '}';\\n}\\n\\nfunction arrObjKeys(obj, inspect) {\\n var isArr = isArray(obj);\\n var xs = [];\\n if (isArr) {\\n xs.length = obj.length;\\n for (var i = 0; i < obj.length; i++) {\\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\\n }\\n }\\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\\n if ((/[^\\\\w$]/).test(key)) {\\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\\n } else {\\n xs.push(key + ': ' + inspect(obj[key], obj));\\n }\\n }\\n return xs;\\n}\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object-inspect/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object-is/index.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/object-is/index.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n// http://www.ecma-international.org/ecma-262/6.0/#sec-object.is\\n\\nvar numberIsNaN = function (value) {\\n\\treturn value !== value;\\n};\\n\\nmodule.exports = function is(a, b) {\\n\\tif (a === 0 && b === 0) {\\n\\t\\treturn 1 / a === 1 / b;\\n\\t}\\n\\tif (a === b) {\\n\\t\\treturn true;\\n\\t}\\n\\tif (numberIsNaN(a) && numberIsNaN(b)) {\\n\\t\\treturn true;\\n\\t}\\n\\treturn false;\\n};\\n\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object-is/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object-keys/index.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/object-keys/index.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n// modified from https://github.com/es-shims/es5-shim\\nvar has = Object.prototype.hasOwnProperty;\\nvar toStr = Object.prototype.toString;\\nvar slice = Array.prototype.slice;\\nvar isArgs = __webpack_require__(/*! ./isArguments */ \\\"./node_modules/object-keys/isArguments.js\\\");\\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\\nvar dontEnums = [\\n\\t'toString',\\n\\t'toLocaleString',\\n\\t'valueOf',\\n\\t'hasOwnProperty',\\n\\t'isPrototypeOf',\\n\\t'propertyIsEnumerable',\\n\\t'constructor'\\n];\\nvar equalsConstructorPrototype = function (o) {\\n\\tvar ctor = o.constructor;\\n\\treturn ctor && ctor.prototype === o;\\n};\\nvar excludedKeys = {\\n\\t$applicationCache: true,\\n\\t$console: true,\\n\\t$external: true,\\n\\t$frame: true,\\n\\t$frameElement: true,\\n\\t$frames: true,\\n\\t$innerHeight: true,\\n\\t$innerWidth: true,\\n\\t$outerHeight: true,\\n\\t$outerWidth: true,\\n\\t$pageXOffset: true,\\n\\t$pageYOffset: true,\\n\\t$parent: true,\\n\\t$scrollLeft: true,\\n\\t$scrollTop: true,\\n\\t$scrollX: true,\\n\\t$scrollY: true,\\n\\t$self: true,\\n\\t$webkitIndexedDB: true,\\n\\t$webkitStorageInfo: true,\\n\\t$window: true\\n};\\nvar hasAutomationEqualityBug = (function () {\\n\\t/* global window */\\n\\tif (typeof window === 'undefined') { return false; }\\n\\tfor (var k in window) {\\n\\t\\ttry {\\n\\t\\t\\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\tequalsConstructorPrototype(window[k]);\\n\\t\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} catch (e) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n}());\\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\\n\\t/* global window */\\n\\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\\n\\t\\treturn equalsConstructorPrototype(o);\\n\\t}\\n\\ttry {\\n\\t\\treturn equalsConstructorPrototype(o);\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t}\\n};\\n\\nvar keysShim = function keys(object) {\\n\\tvar isObject = object !== null && typeof object === 'object';\\n\\tvar isFunction = toStr.call(object) === '[object Function]';\\n\\tvar isArguments = isArgs(object);\\n\\tvar isString = isObject && toStr.call(object) === '[object String]';\\n\\tvar theKeys = [];\\n\\n\\tif (!isObject && !isFunction && !isArguments) {\\n\\t\\tthrow new TypeError('Object.keys called on a non-object');\\n\\t}\\n\\n\\tvar skipProto = hasProtoEnumBug && isFunction;\\n\\tif (isString && object.length > 0 && !has.call(object, 0)) {\\n\\t\\tfor (var i = 0; i < object.length; ++i) {\\n\\t\\t\\ttheKeys.push(String(i));\\n\\t\\t}\\n\\t}\\n\\n\\tif (isArguments && object.length > 0) {\\n\\t\\tfor (var j = 0; j < object.length; ++j) {\\n\\t\\t\\ttheKeys.push(String(j));\\n\\t\\t}\\n\\t} else {\\n\\t\\tfor (var name in object) {\\n\\t\\t\\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\\n\\t\\t\\t\\ttheKeys.push(String(name));\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tif (hasDontEnumBug) {\\n\\t\\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\\n\\n\\t\\tfor (var k = 0; k < dontEnums.length; ++k) {\\n\\t\\t\\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\\n\\t\\t\\t\\ttheKeys.push(dontEnums[k]);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn theKeys;\\n};\\n\\nkeysShim.shim = function shimObjectKeys() {\\n\\tif (Object.keys) {\\n\\t\\tvar keysWorksWithArguments = (function () {\\n\\t\\t\\t// Safari 5.0 bug\\n\\t\\t\\treturn (Object.keys(arguments) || '').length === 2;\\n\\t\\t}(1, 2));\\n\\t\\tif (!keysWorksWithArguments) {\\n\\t\\t\\tvar originalKeys = Object.keys;\\n\\t\\t\\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\\n\\t\\t\\t\\tif (isArgs(object)) {\\n\\t\\t\\t\\t\\treturn originalKeys(slice.call(object));\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\treturn originalKeys(object);\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t}\\n\\t} else {\\n\\t\\tObject.keys = keysShim;\\n\\t}\\n\\treturn Object.keys || keysShim;\\n};\\n\\nmodule.exports = keysShim;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object-keys/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object-keys/isArguments.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/object-keys/isArguments.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar toStr = Object.prototype.toString;\\n\\nmodule.exports = function isArguments(value) {\\n\\tvar str = toStr.call(value);\\n\\tvar isArgs = str === '[object Arguments]';\\n\\tif (!isArgs) {\\n\\t\\tisArgs = str !== '[object Array]' &&\\n\\t\\t\\tvalue !== null &&\\n\\t\\t\\ttypeof value === 'object' &&\\n\\t\\t\\ttypeof value.length === 'number' &&\\n\\t\\t\\tvalue.length >= 0 &&\\n\\t\\t\\ttoStr.call(value.callee) === '[object Function]';\\n\\t}\\n\\treturn isArgs;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object-keys/isArguments.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object.assign/implementation.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/object.assign/implementation.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n// modified from https://github.com/es-shims/es6-shim\\nvar keys = __webpack_require__(/*! object-keys */ \\\"./node_modules/object-keys/index.js\\\");\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar canBeObject = function (obj) {\\n\\treturn typeof obj !== 'undefined' && obj !== null;\\n};\\nvar hasSymbols = __webpack_require__(/*! has-symbols/shams */ \\\"./node_modules/has-symbols/shams.js\\\")();\\nvar toObject = Object;\\nvar push = bind.call(Function.call, Array.prototype.push);\\nvar propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);\\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\\n\\nmodule.exports = function assign(target, source1) {\\n\\tif (!canBeObject(target)) { throw new TypeError('target must be an object'); }\\n\\tvar objTarget = toObject(target);\\n\\tvar s, source, i, props, syms, value, key;\\n\\tfor (s = 1; s < arguments.length; ++s) {\\n\\t\\tsource = toObject(arguments[s]);\\n\\t\\tprops = keys(source);\\n\\t\\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\\n\\t\\tif (getSymbols) {\\n\\t\\t\\tsyms = getSymbols(source);\\n\\t\\t\\tfor (i = 0; i < syms.length; ++i) {\\n\\t\\t\\t\\tkey = syms[i];\\n\\t\\t\\t\\tif (propIsEnumerable(source, key)) {\\n\\t\\t\\t\\t\\tpush(props, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tfor (i = 0; i < props.length; ++i) {\\n\\t\\t\\tkey = props[i];\\n\\t\\t\\tvalue = source[key];\\n\\t\\t\\tif (propIsEnumerable(source, key)) {\\n\\t\\t\\t\\tobjTarget[key] = value;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn objTarget;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object.assign/implementation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object.assign/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/object.assign/index.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar defineProperties = __webpack_require__(/*! define-properties */ \\\"./node_modules/define-properties/index.js\\\");\\n\\nvar implementation = __webpack_require__(/*! ./implementation */ \\\"./node_modules/object.assign/implementation.js\\\");\\nvar getPolyfill = __webpack_require__(/*! ./polyfill */ \\\"./node_modules/object.assign/polyfill.js\\\");\\nvar shim = __webpack_require__(/*! ./shim */ \\\"./node_modules/object.assign/shim.js\\\");\\n\\nvar polyfill = getPolyfill();\\n\\ndefineProperties(polyfill, {\\n\\tgetPolyfill: getPolyfill,\\n\\timplementation: implementation,\\n\\tshim: shim\\n});\\n\\nmodule.exports = polyfill;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object.assign/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object.assign/polyfill.js\":\n/*!************************************************!*\\\n !*** ./node_modules/object.assign/polyfill.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar implementation = __webpack_require__(/*! ./implementation */ \\\"./node_modules/object.assign/implementation.js\\\");\\n\\nvar lacksProperEnumerationOrder = function () {\\n\\tif (!Object.assign) {\\n\\t\\treturn false;\\n\\t}\\n\\t// v8, specifically in node 4.x, has a bug with incorrect property enumeration order\\n\\t// note: this does not detect the bug unless there's 20 characters\\n\\tvar str = 'abcdefghijklmnopqrst';\\n\\tvar letters = str.split('');\\n\\tvar map = {};\\n\\tfor (var i = 0; i < letters.length; ++i) {\\n\\t\\tmap[letters[i]] = letters[i];\\n\\t}\\n\\tvar obj = Object.assign({}, map);\\n\\tvar actual = '';\\n\\tfor (var k in obj) {\\n\\t\\tactual += k;\\n\\t}\\n\\treturn str !== actual;\\n};\\n\\nvar assignHasPendingExceptions = function () {\\n\\tif (!Object.assign || !Object.preventExtensions) {\\n\\t\\treturn false;\\n\\t}\\n\\t// Firefox 37 still has \\\"pending exception\\\" logic in its Object.assign implementation,\\n\\t// which is 72% slower than our shim, and Firefox 40's native implementation.\\n\\tvar thrower = Object.preventExtensions({ 1: 2 });\\n\\ttry {\\n\\t\\tObject.assign(thrower, 'xy');\\n\\t} catch (e) {\\n\\t\\treturn thrower[1] === 'y';\\n\\t}\\n\\treturn false;\\n};\\n\\nmodule.exports = function getPolyfill() {\\n\\tif (!Object.assign) {\\n\\t\\treturn implementation;\\n\\t}\\n\\tif (lacksProperEnumerationOrder()) {\\n\\t\\treturn implementation;\\n\\t}\\n\\tif (assignHasPendingExceptions()) {\\n\\t\\treturn implementation;\\n\\t}\\n\\treturn Object.assign;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object.assign/polyfill.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object.assign/shim.js\":\n/*!********************************************!*\\\n !*** ./node_modules/object.assign/shim.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar define = __webpack_require__(/*! define-properties */ \\\"./node_modules/define-properties/index.js\\\");\\nvar getPolyfill = __webpack_require__(/*! ./polyfill */ \\\"./node_modules/object.assign/polyfill.js\\\");\\n\\nmodule.exports = function shimAssign() {\\n\\tvar polyfill = getPolyfill();\\n\\tdefine(\\n\\t\\tObject,\\n\\t\\t{ assign: polyfill },\\n\\t\\t{ assign: function () { return Object.assign !== polyfill; } }\\n\\t);\\n\\treturn polyfill;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/object.assign/shim.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/attributor/attributor.ts\":\n/*!*************************************************************!*\\\n !*** ./node_modules/parchment/src/attributor/attributor.ts ***!\n \\*************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Attributor; });\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n\\nclass Attributor {\\n constructor(attrName, keyName, options = {}) {\\n this.attrName = attrName;\\n this.keyName = keyName;\\n const attributeBit = _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].TYPE & _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].ATTRIBUTE;\\n this.scope =\\n options.scope != null\\n ? // Ignore type bits, force attribute bit\\n (options.scope & _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].LEVEL) | attributeBit\\n : _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].ATTRIBUTE;\\n if (options.whitelist != null) {\\n this.whitelist = options.whitelist;\\n }\\n }\\n static keys(node) {\\n return Array.from(node.attributes).map((item) => item.name);\\n }\\n add(node, value) {\\n if (!this.canAdd(node, value)) {\\n return false;\\n }\\n node.setAttribute(this.keyName, value);\\n return true;\\n }\\n canAdd(_node, value) {\\n if (this.whitelist == null) {\\n return true;\\n }\\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 remove(node) {\\n node.removeAttribute(this.keyName);\\n }\\n value(node) {\\n const value = node.getAttribute(this.keyName);\\n if (this.canAdd(node, value) && value) {\\n return value;\\n }\\n return '';\\n }\\n}\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/attributor/attributor.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/attributor/class.ts\":\n/*!********************************************************!*\\\n !*** ./node_modules/parchment/src/attributor/class.ts ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attributor */ \\\"./node_modules/parchment/src/attributor/attributor.ts\\\");\\n\\nfunction match(node, prefix) {\\n const className = node.getAttribute('class') || '';\\n return className\\n .split(/\\\\s+/)\\n .filter((name) => name.indexOf(`${prefix}-`) === 0);\\n}\\nclass ClassAttributor extends _attributor__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static keys(node) {\\n return (node.getAttribute('class') || '')\\n .split(/\\\\s+/)\\n .map((name) => name.split('-').slice(0, -1).join('-'));\\n }\\n add(node, value) {\\n if (!this.canAdd(node, value)) {\\n return false;\\n }\\n this.remove(node);\\n node.classList.add(`${this.keyName}-${value}`);\\n return true;\\n }\\n remove(node) {\\n const matches = match(node, this.keyName);\\n matches.forEach((name) => {\\n node.classList.remove(name);\\n });\\n if (node.classList.length === 0) {\\n node.removeAttribute('class');\\n }\\n }\\n value(node) {\\n const result = match(node, this.keyName)[0] || '';\\n const value = result.slice(this.keyName.length + 1); // +1 for hyphen\\n return this.canAdd(node, value) ? value : '';\\n }\\n}\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ClassAttributor);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/attributor/class.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/attributor/store.ts\":\n/*!********************************************************!*\\\n !*** ./node_modules/parchment/src/attributor/store.ts ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../registry */ \\\"./node_modules/parchment/src/registry.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _attributor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./attributor */ \\\"./node_modules/parchment/src/attributor/attributor.ts\\\");\\n/* harmony import */ var _class__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./class */ \\\"./node_modules/parchment/src/attributor/class.ts\\\");\\n/* harmony import */ var _style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style */ \\\"./node_modules/parchment/src/attributor/style.ts\\\");\\n\\n\\n\\n\\n\\nclass AttributorStore {\\n constructor(domNode) {\\n this.attributes = {};\\n this.domNode = domNode;\\n this.build();\\n }\\n attribute(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 build() {\\n this.attributes = {};\\n const blot = _registry__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].find(this.domNode);\\n if (blot == null) {\\n return;\\n }\\n const attributes = _attributor__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].keys(this.domNode);\\n const classes = _class__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].keys(this.domNode);\\n const styles = _style__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"].keys(this.domNode);\\n attributes\\n .concat(classes)\\n .concat(styles)\\n .forEach((name) => {\\n const attr = blot.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].ATTRIBUTE);\\n if (attr instanceof _attributor__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"]) {\\n this.attributes[attr.attrName] = attr;\\n }\\n });\\n }\\n copy(target) {\\n Object.keys(this.attributes).forEach((key) => {\\n const value = this.attributes[key].value(this.domNode);\\n target.format(key, value);\\n });\\n }\\n move(target) {\\n this.copy(target);\\n Object.keys(this.attributes).forEach((key) => {\\n this.attributes[key].remove(this.domNode);\\n });\\n this.attributes = {};\\n }\\n values() {\\n return Object.keys(this.attributes).reduce((attributes, name) => {\\n attributes[name] = this.attributes[name].value(this.domNode);\\n return attributes;\\n }, {});\\n }\\n}\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (AttributorStore);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/attributor/store.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/attributor/style.ts\":\n/*!********************************************************!*\\\n !*** ./node_modules/parchment/src/attributor/style.ts ***!\n \\********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./attributor */ \\\"./node_modules/parchment/src/attributor/attributor.ts\\\");\\n\\nfunction camelize(name) {\\n const parts = name.split('-');\\n const rest = parts\\n .slice(1)\\n .map((part) => part[0].toUpperCase() + part.slice(1))\\n .join('');\\n return parts[0] + rest;\\n}\\nclass StyleAttributor extends _attributor__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static keys(node) {\\n return (node.getAttribute('style') || '').split(';').map((value) => {\\n const arr = value.split(':');\\n return arr[0].trim();\\n });\\n }\\n add(node, value) {\\n if (!this.canAdd(node, value)) {\\n return false;\\n }\\n // @ts-ignore\\n node.style[camelize(this.keyName)] = value;\\n return true;\\n }\\n remove(node) {\\n // @ts-ignore\\n node.style[camelize(this.keyName)] = '';\\n if (!node.getAttribute('style')) {\\n node.removeAttribute('style');\\n }\\n }\\n value(node) {\\n // @ts-ignore\\n const value = node.style[camelize(this.keyName)];\\n return this.canAdd(node, value) ? value : '';\\n }\\n}\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (StyleAttributor);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/attributor/style.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/abstract/container.ts\":\n/*!***************************************************************!*\\\n !*** ./node_modules/parchment/src/blot/abstract/container.ts ***!\n \\***************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _parent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parent */ \\\"./node_modules/parchment/src/blot/abstract/parent.ts\\\");\\n\\n\\nclass ContainerBlot extends _parent__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {\\n checkMerge() {\\n return (this.next !== null && this.next.statics.blotName === this.statics.blotName);\\n }\\n deleteAt(index, length) {\\n super.deleteAt(index, length);\\n this.enforceAllowedChildren();\\n }\\n formatAt(index, length, name, value) {\\n super.formatAt(index, length, name, value);\\n this.enforceAllowedChildren();\\n }\\n insertAt(index, value, def) {\\n super.insertAt(index, value, def);\\n this.enforceAllowedChildren();\\n }\\n optimize(context) {\\n super.optimize(context);\\n if (this.children.length > 0 && this.next != null && this.checkMerge()) {\\n this.next.moveChildren(this);\\n this.next.remove();\\n }\\n }\\n}\\nContainerBlot.blotName = 'container';\\nContainerBlot.scope = _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].BLOCK_BLOT;\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ContainerBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/abstract/container.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/abstract/leaf.ts\":\n/*!**********************************************************!*\\\n !*** ./node_modules/parchment/src/blot/abstract/leaf.ts ***!\n \\**********************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _shadow__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shadow */ \\\"./node_modules/parchment/src/blot/abstract/shadow.ts\\\");\\n\\n\\nclass LeafBlot extends _shadow__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {\\n static value(_domNode) {\\n return true;\\n }\\n index(node, offset) {\\n if (this.domNode === node ||\\n this.domNode.compareDocumentPosition(node) &\\n Node.DOCUMENT_POSITION_CONTAINED_BY) {\\n return Math.min(offset, 1);\\n }\\n return -1;\\n }\\n position(index, _inclusive) {\\n const childNodes = Array.from(this.parent.domNode.childNodes);\\n let offset = childNodes.indexOf(this.domNode);\\n if (index > 0) {\\n offset += 1;\\n }\\n return [this.parent.domNode, offset];\\n }\\n value() {\\n return {\\n [this.statics.blotName]: this.statics.value(this.domNode) || true,\\n };\\n }\\n}\\nLeafBlot.scope = _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].INLINE_BLOT;\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (LeafBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/abstract/leaf.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/abstract/parent.ts\":\n/*!************************************************************!*\\\n !*** ./node_modules/parchment/src/blot/abstract/parent.ts ***!\n \\************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _collection_linked_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../collection/linked-list */ \\\"./node_modules/parchment/src/collection/linked-list.ts\\\");\\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../error */ \\\"./node_modules/parchment/src/error.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _shadow__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./shadow */ \\\"./node_modules/parchment/src/blot/abstract/shadow.ts\\\");\\n\\n\\n\\n\\nfunction makeAttachedBlot(node, scroll) {\\n let blot = scroll.find(node);\\n if (blot == null) {\\n try {\\n blot = scroll.create(node);\\n }\\n catch (e) {\\n blot = scroll.create(_scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].INLINE);\\n Array.from(node.childNodes).forEach((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}\\nclass ParentBlot extends _shadow__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"] {\\n constructor(scroll, domNode) {\\n super(scroll, domNode);\\n this.uiNode = null;\\n this.build();\\n }\\n appendChild(other) {\\n this.insertBefore(other);\\n }\\n attach() {\\n super.attach();\\n this.children.forEach((child) => {\\n child.attach();\\n });\\n }\\n attachUI(node) {\\n if (this.uiNode != null) {\\n this.uiNode.remove();\\n }\\n this.uiNode = node;\\n if (ParentBlot.uiClass) {\\n this.uiNode.classList.add(ParentBlot.uiClass);\\n }\\n this.uiNode.setAttribute('contenteditable', 'false');\\n this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\\n }\\n build() {\\n this.children = new _collection_linked_list__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]();\\n // Need to be reversed for if DOM nodes already in order\\n Array.from(this.domNode.childNodes)\\n .filter((node) => node !== this.uiNode)\\n .reverse()\\n .forEach((node) => {\\n try {\\n const child = makeAttachedBlot(node, this.scroll);\\n this.insertBefore(child, this.children.head || undefined);\\n }\\n catch (err) {\\n if (err instanceof _error__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"]) {\\n return;\\n }\\n else {\\n throw err;\\n }\\n }\\n });\\n }\\n deleteAt(index, length) {\\n if (index === 0 && length === this.length()) {\\n return this.remove();\\n }\\n this.children.forEachAt(index, length, (child, offset, childLength) => {\\n child.deleteAt(offset, childLength);\\n });\\n }\\n descendant(criteria, index = 0) {\\n const [child, offset] = this.children.find(index);\\n if ((criteria.blotName == null && criteria(child)) ||\\n (criteria.blotName != null && child instanceof criteria)) {\\n return [child, offset];\\n }\\n else if (child instanceof ParentBlot) {\\n return child.descendant(criteria, offset);\\n }\\n else {\\n return [null, -1];\\n }\\n }\\n descendants(criteria, index = 0, length = Number.MAX_VALUE) {\\n let descendants = [];\\n let lengthLeft = length;\\n this.children.forEachAt(index, length, (child, childIndex, childLength) => {\\n if ((criteria.blotName == null && criteria(child)) ||\\n (criteria.blotName != null && child instanceof criteria)) {\\n descendants.push(child);\\n }\\n if (child instanceof ParentBlot) {\\n descendants = descendants.concat(child.descendants(criteria, childIndex, lengthLeft));\\n }\\n lengthLeft -= childLength;\\n });\\n return descendants;\\n }\\n detach() {\\n this.children.forEach((child) => {\\n child.detach();\\n });\\n super.detach();\\n }\\n enforceAllowedChildren() {\\n let done = false;\\n this.children.forEach((child) => {\\n if (done) {\\n return;\\n }\\n const allowed = this.statics.allowedChildren.some((def) => child instanceof def);\\n if (allowed) {\\n return;\\n }\\n if (child.statics.scope === _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].BLOCK_BLOT) {\\n if (child.next != null) {\\n this.splitAfter(child);\\n }\\n if (child.prev != null) {\\n this.splitAfter(child.prev);\\n }\\n child.parent.unwrap();\\n done = true;\\n }\\n else if (child instanceof ParentBlot) {\\n child.unwrap();\\n }\\n else {\\n child.remove();\\n }\\n });\\n }\\n formatAt(index, length, name, value) {\\n this.children.forEachAt(index, length, (child, offset, childLength) => {\\n child.formatAt(offset, childLength, name, value);\\n });\\n }\\n insertAt(index, value, def) {\\n const [child, offset] = this.children.find(index);\\n if (child) {\\n child.insertAt(offset, value, def);\\n }\\n else {\\n const blot = def == null\\n ? this.scroll.create('text', value)\\n : this.scroll.create(value, def);\\n this.appendChild(blot);\\n }\\n }\\n insertBefore(childBlot, refBlot) {\\n if (childBlot.parent != null) {\\n childBlot.parent.children.remove(childBlot);\\n }\\n let refDomNode = null;\\n this.children.insertBefore(childBlot, refBlot || null);\\n childBlot.parent = this;\\n if (refBlot != null) {\\n refDomNode = refBlot.domNode;\\n }\\n if (this.domNode.parentNode !== childBlot.domNode ||\\n this.domNode.nextSibling !== refDomNode) {\\n this.domNode.insertBefore(childBlot.domNode, refDomNode);\\n }\\n childBlot.attach();\\n }\\n length() {\\n return this.children.reduce((memo, child) => {\\n return memo + child.length();\\n }, 0);\\n }\\n moveChildren(targetParent, refNode) {\\n this.children.forEach((child) => {\\n targetParent.insertBefore(child, refNode);\\n });\\n }\\n optimize(context) {\\n super.optimize(context);\\n this.enforceAllowedChildren();\\n if (this.uiNode != null && this.uiNode !== this.domNode.firstChild) {\\n this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\\n }\\n if (this.children.length === 0) {\\n if (this.statics.defaultChild != null) {\\n const child = this.scroll.create(this.statics.defaultChild.blotName);\\n this.appendChild(child);\\n // TODO double check if necessary\\n // child.optimize(context);\\n }\\n else {\\n this.remove();\\n }\\n }\\n }\\n path(index, inclusive = false) {\\n const [child, offset] = this.children.find(index, inclusive);\\n const position = [[this, index]];\\n if (child instanceof ParentBlot) {\\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 removeChild(child) {\\n this.children.remove(child);\\n }\\n replaceWith(name, value) {\\n const replacement = typeof name === 'string' ? this.scroll.create(name, value) : name;\\n if (replacement instanceof ParentBlot) {\\n this.moveChildren(replacement);\\n }\\n return super.replaceWith(replacement);\\n }\\n split(index, force = false) {\\n if (!force) {\\n if (index === 0) {\\n return this;\\n }\\n if (index === this.length()) {\\n return this.next;\\n }\\n }\\n const after = this.clone();\\n if (this.parent) {\\n this.parent.insertBefore(after, this.next || undefined);\\n }\\n this.children.forEachAt(index, this.length(), (child, offset, _length) => {\\n const split = child.split(offset, force);\\n if (split != null) {\\n after.appendChild(split);\\n }\\n });\\n return after;\\n }\\n splitAfter(child) {\\n const after = this.clone();\\n while (child.next != null) {\\n after.appendChild(child.next);\\n }\\n if (this.parent) {\\n this.parent.insertBefore(after, this.next || undefined);\\n }\\n return after;\\n }\\n unwrap() {\\n if (this.parent) {\\n this.moveChildren(this.parent, this.next || undefined);\\n }\\n this.remove();\\n }\\n update(mutations, _context) {\\n const addedNodes = [];\\n const removedNodes = [];\\n mutations.forEach((mutation) => {\\n if (mutation.target === this.domNode && mutation.type === 'childList') {\\n addedNodes.push(...mutation.addedNodes);\\n removedNodes.push(...mutation.removedNodes);\\n }\\n });\\n removedNodes.forEach((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) &\\n Node.DOCUMENT_POSITION_CONTAINED_BY) {\\n return;\\n }\\n const blot = this.scroll.find(node);\\n if (blot == null) {\\n return;\\n }\\n if (blot.domNode.parentNode == null ||\\n blot.domNode.parentNode === this.domNode) {\\n blot.detach();\\n }\\n });\\n addedNodes\\n .filter((node) => {\\n return node.parentNode === this.domNode || node === this.uiNode;\\n })\\n .sort((a, b) => {\\n if (a === b) {\\n return 0;\\n }\\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\\n return 1;\\n }\\n return -1;\\n })\\n .forEach((node) => {\\n let refBlot = null;\\n if (node.nextSibling != null) {\\n refBlot = this.scroll.find(node.nextSibling);\\n }\\n const blot = makeAttachedBlot(node, this.scroll);\\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 this.enforceAllowedChildren();\\n }\\n}\\nParentBlot.uiClass = '';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ParentBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/abstract/parent.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/abstract/shadow.ts\":\n/*!************************************************************!*\\\n !*** ./node_modules/parchment/src/blot/abstract/shadow.ts ***!\n \\************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../error */ \\\"./node_modules/parchment/src/error.ts\\\");\\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../registry */ \\\"./node_modules/parchment/src/registry.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n\\n\\n\\nclass ShadowBlot {\\n constructor(scroll, domNode) {\\n this.scroll = scroll;\\n this.domNode = domNode;\\n _registry__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].blots.set(domNode, this);\\n this.prev = null;\\n this.next = null;\\n }\\n static create(value) {\\n if (this.tagName == null) {\\n throw new _error__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]('Blot definition missing tagName');\\n }\\n let node;\\n if (Array.isArray(this.tagName)) {\\n if (typeof value === 'string') {\\n value = value.toUpperCase();\\n if (parseInt(value, 10).toString() === value) {\\n value = parseInt(value, 10);\\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 // Hack for accessing inherited static methods\\n get statics() {\\n return this.constructor;\\n }\\n attach() {\\n // Nothing to do\\n }\\n clone() {\\n const domNode = this.domNode.cloneNode(false);\\n return this.scroll.create(domNode);\\n }\\n detach() {\\n if (this.parent != null) {\\n this.parent.removeChild(this);\\n }\\n _registry__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].blots.delete(this.domNode);\\n }\\n deleteAt(index, length) {\\n const blot = this.isolate(index, length);\\n blot.remove();\\n }\\n formatAt(index, length, name, value) {\\n const blot = this.isolate(index, length);\\n if (this.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].BLOT) != null && value) {\\n blot.wrap(name, value);\\n }\\n else if (this.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].ATTRIBUTE) != null) {\\n const parent = this.scroll.create(this.statics.scope);\\n blot.wrap(parent);\\n parent.format(name, value);\\n }\\n }\\n insertAt(index, value, def) {\\n const blot = def == null\\n ? this.scroll.create('text', value)\\n : this.scroll.create(value, def);\\n const ref = this.split(index);\\n this.parent.insertBefore(blot, ref || undefined);\\n }\\n isolate(index, length) {\\n const target = this.split(index);\\n if (target == null) {\\n throw new Error('Attempt to isolate at end');\\n }\\n target.split(length);\\n return target;\\n }\\n length() {\\n return 1;\\n }\\n offset(root = this.parent) {\\n if (this.parent == null || this === root) {\\n return 0;\\n }\\n return this.parent.children.offset(this) + this.parent.offset(root);\\n }\\n optimize(_context) {\\n if (this.statics.requiredContainer &&\\n !(this.parent instanceof this.statics.requiredContainer)) {\\n this.wrap(this.statics.requiredContainer.blotName);\\n }\\n }\\n remove() {\\n if (this.domNode.parentNode != null) {\\n this.domNode.parentNode.removeChild(this.domNode);\\n }\\n this.detach();\\n }\\n replaceWith(name, value) {\\n const replacement = typeof name === 'string' ? this.scroll.create(name, value) : name;\\n if (this.parent != null) {\\n this.parent.insertBefore(replacement, this.next || undefined);\\n this.remove();\\n }\\n return replacement;\\n }\\n split(index, _force) {\\n return index === 0 ? this : this.next;\\n }\\n update(_mutations, _context) {\\n // Nothing to do by default\\n }\\n wrap(name, value) {\\n const wrapper = typeof name === 'string'\\n ? this.scroll.create(name, value)\\n : name;\\n if (this.parent != null) {\\n this.parent.insertBefore(wrapper, this.next || undefined);\\n }\\n if (typeof wrapper.appendChild !== 'function') {\\n throw new _error__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"](`Cannot wrap ${name}`);\\n }\\n wrapper.appendChild(this);\\n return wrapper;\\n }\\n}\\nShadowBlot.blotName = 'abstract';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ShadowBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/abstract/shadow.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/block.ts\":\n/*!**************************************************!*\\\n !*** ./node_modules/parchment/src/blot/block.ts ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _attributor_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../attributor/attributor */ \\\"./node_modules/parchment/src/attributor/attributor.ts\\\");\\n/* harmony import */ var _attributor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../attributor/store */ \\\"./node_modules/parchment/src/attributor/store.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _abstract_leaf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./abstract/leaf */ \\\"./node_modules/parchment/src/blot/abstract/leaf.ts\\\");\\n/* harmony import */ var _abstract_parent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./abstract/parent */ \\\"./node_modules/parchment/src/blot/abstract/parent.ts\\\");\\n/* harmony import */ var _inline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./inline */ \\\"./node_modules/parchment/src/blot/inline.ts\\\");\\n\\n\\n\\n\\n\\n\\nclass BlockBlot extends _abstract_parent__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"] {\\n constructor(scroll, domNode) {\\n super(scroll, domNode);\\n this.attributes = new _attributor_store__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"](this.domNode);\\n }\\n static formats(domNode, scroll) {\\n const match = scroll.query(BlockBlot.blotName);\\n if (match != null &&\\n domNode.tagName === match.tagName) {\\n return undefined;\\n }\\n else if (typeof this.tagName === 'string') {\\n return true;\\n }\\n else if (Array.isArray(this.tagName)) {\\n return domNode.tagName.toLowerCase();\\n }\\n }\\n format(name, value) {\\n const format = this.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].BLOCK);\\n if (format == null) {\\n return;\\n }\\n else if (format instanceof _attributor_attributor__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]) {\\n this.attributes.attribute(format, value);\\n }\\n else if (name === this.statics.blotName && !value) {\\n this.replaceWith(BlockBlot.blotName);\\n }\\n else if (value &&\\n (name !== this.statics.blotName || this.formats()[name] !== value)) {\\n this.replaceWith(name, value);\\n }\\n }\\n formats() {\\n const formats = this.attributes.values();\\n const format = this.statics.formats(this.domNode, this.scroll);\\n if (format != null) {\\n formats[this.statics.blotName] = format;\\n }\\n return formats;\\n }\\n formatAt(index, length, name, value) {\\n if (this.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].BLOCK) != null) {\\n this.format(name, value);\\n }\\n else {\\n super.formatAt(index, length, name, value);\\n }\\n }\\n insertAt(index, value, def) {\\n if (def == null || this.scroll.query(value, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].INLINE) != null) {\\n // Insert text or inline\\n super.insertAt(index, value, def);\\n }\\n else {\\n const after = this.split(index);\\n if (after != null) {\\n const blot = this.scroll.create(value, def);\\n after.parent.insertBefore(blot, after);\\n }\\n else {\\n throw new Error('Attempt to insertAt after block boundaries');\\n }\\n }\\n }\\n replaceWith(name, value) {\\n const replacement = super.replaceWith(name, value);\\n this.attributes.copy(replacement);\\n return replacement;\\n }\\n update(mutations, context) {\\n super.update(mutations, context);\\n const attributeChanged = mutations.some((mutation) => mutation.target === this.domNode && mutation.type === 'attributes');\\n if (attributeChanged) {\\n this.attributes.build();\\n }\\n }\\n}\\nBlockBlot.blotName = 'block';\\nBlockBlot.scope = _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].BLOCK_BLOT;\\nBlockBlot.tagName = 'P';\\nBlockBlot.allowedChildren = [\\n _inline__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"],\\n BlockBlot,\\n _abstract_leaf__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"],\\n];\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (BlockBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/block.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/embed.ts\":\n/*!**************************************************!*\\\n !*** ./node_modules/parchment/src/blot/embed.ts ***!\n \\**************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _abstract_leaf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./abstract/leaf */ \\\"./node_modules/parchment/src/blot/abstract/leaf.ts\\\");\\n\\nclass EmbedBlot extends _abstract_leaf__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n static formats(_domNode, _scroll) {\\n return undefined;\\n }\\n format(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.formatAt(0, this.length(), name, value);\\n }\\n formatAt(index, length, name, value) {\\n if (index === 0 && length === this.length()) {\\n this.format(name, value);\\n }\\n else {\\n super.formatAt(index, length, name, value);\\n }\\n }\\n formats() {\\n return this.statics.formats(this.domNode, this.scroll);\\n }\\n}\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (EmbedBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/embed.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/inline.ts\":\n/*!***************************************************!*\\\n !*** ./node_modules/parchment/src/blot/inline.ts ***!\n \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _attributor_attributor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../attributor/attributor */ \\\"./node_modules/parchment/src/attributor/attributor.ts\\\");\\n/* harmony import */ var _attributor_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../attributor/store */ \\\"./node_modules/parchment/src/attributor/store.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _abstract_leaf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./abstract/leaf */ \\\"./node_modules/parchment/src/blot/abstract/leaf.ts\\\");\\n/* harmony import */ var _abstract_parent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./abstract/parent */ \\\"./node_modules/parchment/src/blot/abstract/parent.ts\\\");\\n\\n\\n\\n\\n\\n// Shallow object comparison\\nfunction isEqual(obj1, obj2) {\\n if (Object.keys(obj1).length !== Object.keys(obj2).length) {\\n return false;\\n }\\n // @ts-ignore\\n for (const prop in obj1) {\\n // @ts-ignore\\n if (obj1[prop] !== obj2[prop]) {\\n return false;\\n }\\n }\\n return true;\\n}\\nclass InlineBlot extends _abstract_parent__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"] {\\n constructor(scroll, domNode) {\\n super(scroll, domNode);\\n this.attributes = new _attributor_store__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"](this.domNode);\\n }\\n static formats(domNode, scroll) {\\n const match = scroll.query(InlineBlot.blotName);\\n if (match != null &&\\n domNode.tagName === match.tagName) {\\n return undefined;\\n }\\n else 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 format(name, value) {\\n if (name === this.statics.blotName && !value) {\\n this.children.forEach((child) => {\\n if (!(child instanceof InlineBlot)) {\\n child = child.wrap(InlineBlot.blotName, true);\\n }\\n this.attributes.copy(child);\\n });\\n this.unwrap();\\n }\\n else {\\n const format = this.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].INLINE);\\n if (format == null) {\\n return;\\n }\\n if (format instanceof _attributor_attributor__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]) {\\n this.attributes.attribute(format, value);\\n }\\n else if (value &&\\n (name !== this.statics.blotName || this.formats()[name] !== value)) {\\n this.replaceWith(name, value);\\n }\\n }\\n }\\n formats() {\\n const formats = this.attributes.values();\\n const format = this.statics.formats(this.domNode, this.scroll);\\n if (format != null) {\\n formats[this.statics.blotName] = format;\\n }\\n return formats;\\n }\\n formatAt(index, length, name, value) {\\n if (this.formats()[name] != null ||\\n this.scroll.query(name, _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].ATTRIBUTE)) {\\n const blot = this.isolate(index, length);\\n blot.format(name, value);\\n }\\n else {\\n super.formatAt(index, length, name, value);\\n }\\n }\\n optimize(context) {\\n super.optimize(context);\\n const formats = this.formats();\\n if (Object.keys(formats).length === 0) {\\n return this.unwrap(); // unformatted span\\n }\\n const next = this.next;\\n if (next instanceof InlineBlot &&\\n next.prev === this &&\\n isEqual(formats, next.formats())) {\\n next.moveChildren(this);\\n next.remove();\\n }\\n }\\n replaceWith(name, value) {\\n const replacement = super.replaceWith(name, value);\\n this.attributes.copy(replacement);\\n return replacement;\\n }\\n update(mutations, context) {\\n super.update(mutations, context);\\n const attributeChanged = mutations.some((mutation) => mutation.target === this.domNode && mutation.type === 'attributes');\\n if (attributeChanged) {\\n this.attributes.build();\\n }\\n }\\n wrap(name, value) {\\n const wrapper = super.wrap(name, value);\\n if (wrapper instanceof InlineBlot) {\\n this.attributes.move(wrapper);\\n }\\n return wrapper;\\n }\\n}\\nInlineBlot.allowedChildren = [InlineBlot, _abstract_leaf__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"]];\\nInlineBlot.blotName = 'inline';\\nInlineBlot.scope = _scope__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].INLINE_BLOT;\\nInlineBlot.tagName = 'SPAN';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (InlineBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/inline.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/scroll.ts\":\n/*!***************************************************!*\\\n !*** ./node_modules/parchment/src/blot/scroll.ts ***!\n \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../registry */ \\\"./node_modules/parchment/src/registry.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _abstract_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./abstract/container */ \\\"./node_modules/parchment/src/blot/abstract/container.ts\\\");\\n/* harmony import */ var _abstract_parent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./abstract/parent */ \\\"./node_modules/parchment/src/blot/abstract/parent.ts\\\");\\n/* harmony import */ var _block__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block */ \\\"./node_modules/parchment/src/blot/block.ts\\\");\\n\\n\\n\\n\\n\\nconst OBSERVER_CONFIG = {\\n attributes: true,\\n characterData: true,\\n characterDataOldValue: true,\\n childList: true,\\n subtree: true,\\n};\\nconst MAX_OPTIMIZE_ITERATIONS = 100;\\nclass ScrollBlot extends _abstract_parent__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"] {\\n constructor(registry, node) {\\n // @ts-ignore\\n super(null, node);\\n this.registry = registry;\\n this.scroll = this;\\n this.build();\\n this.observer = new MutationObserver((mutations) => {\\n this.update(mutations);\\n });\\n this.observer.observe(this.domNode, OBSERVER_CONFIG);\\n this.attach();\\n }\\n create(input, value) {\\n return this.registry.create(this, input, value);\\n }\\n find(node, bubble = false) {\\n return this.registry.find(node, bubble);\\n }\\n query(query, scope = _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].ANY) {\\n return this.registry.query(query, scope);\\n }\\n register(...definitions) {\\n return this.registry.register(...definitions);\\n }\\n build() {\\n if (this.scroll == null) {\\n return;\\n }\\n super.build();\\n }\\n detach() {\\n super.detach();\\n this.observer.disconnect();\\n }\\n deleteAt(index, length) {\\n this.update();\\n if (index === 0 && length === this.length()) {\\n this.children.forEach((child) => {\\n child.remove();\\n });\\n }\\n else {\\n super.deleteAt(index, length);\\n }\\n }\\n formatAt(index, length, name, value) {\\n this.update();\\n super.formatAt(index, length, name, value);\\n }\\n insertAt(index, value, def) {\\n this.update();\\n super.insertAt(index, value, def);\\n }\\n optimize(mutations = [], context = {}) {\\n super.optimize(context);\\n const mutationsMap = context.mutationsMap || new WeakMap();\\n // We must modify mutations directly, cannot make copy and then modify\\n let records = Array.from(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 }\\n const mark = (blot, markParent = true) => {\\n if (blot == null || blot === this) {\\n return;\\n }\\n if (blot.domNode.parentNode == null) {\\n return;\\n }\\n if (!mutationsMap.has(blot.domNode)) {\\n mutationsMap.set(blot.domNode, []);\\n }\\n if (markParent) {\\n mark(blot.parent);\\n }\\n };\\n const optimize = (blot) => {\\n // Post-order traversal\\n if (!mutationsMap.has(blot.domNode)) {\\n return;\\n }\\n if (blot instanceof _abstract_parent__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"]) {\\n blot.children.forEach(optimize);\\n }\\n mutationsMap.delete(blot.domNode);\\n blot.optimize(context);\\n };\\n let remaining = mutations;\\n for (let 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((mutation) => {\\n const blot = this.find(mutation.target, true);\\n if (blot == null) {\\n return;\\n }\\n if (blot.domNode === mutation.target) {\\n if (mutation.type === 'childList') {\\n mark(this.find(mutation.previousSibling, false));\\n Array.from(mutation.addedNodes).forEach((node) => {\\n const child = this.find(node, false);\\n mark(child, false);\\n if (child instanceof _abstract_parent__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"]) {\\n child.children.forEach((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 = Array.from(this.observer.takeRecords());\\n records = remaining.slice();\\n while (records.length > 0) {\\n mutations.push(records.pop());\\n }\\n }\\n }\\n update(mutations, context = {}) {\\n mutations = mutations || this.observer.takeRecords();\\n const mutationsMap = new WeakMap();\\n mutations\\n .map((mutation) => {\\n const blot = _registry__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].find(mutation.target, true);\\n if (blot == null) {\\n return null;\\n }\\n if (mutationsMap.has(blot.domNode)) {\\n mutationsMap.get(blot.domNode).push(mutation);\\n return null;\\n }\\n else {\\n mutationsMap.set(blot.domNode, [mutation]);\\n return blot;\\n }\\n })\\n .forEach((blot) => {\\n if (blot != null && blot !== this && mutationsMap.has(blot.domNode)) {\\n blot.update(mutationsMap.get(blot.domNode) || [], context);\\n }\\n });\\n context.mutationsMap = mutationsMap;\\n if (mutationsMap.has(this.domNode)) {\\n super.update(mutationsMap.get(this.domNode), context);\\n }\\n this.optimize(mutations, context);\\n }\\n}\\nScrollBlot.blotName = 'scroll';\\nScrollBlot.defaultChild = _block__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"];\\nScrollBlot.allowedChildren = [_block__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"], _abstract_container__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"]];\\nScrollBlot.scope = _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].BLOCK_BLOT;\\nScrollBlot.tagName = 'DIV';\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ScrollBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/scroll.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/blot/text.ts\":\n/*!*************************************************!*\\\n !*** ./node_modules/parchment/src/blot/text.ts ***!\n \\*************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony import */ var _abstract_leaf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./abstract/leaf */ \\\"./node_modules/parchment/src/blot/abstract/leaf.ts\\\");\\n\\n\\nclass TextBlot extends _abstract_leaf__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"] {\\n constructor(scroll, node) {\\n super(scroll, node);\\n this.text = this.statics.value(this.domNode);\\n }\\n static create(value) {\\n return document.createTextNode(value);\\n }\\n static value(domNode) {\\n return domNode.data;\\n }\\n deleteAt(index, length) {\\n this.domNode.data = this.text =\\n this.text.slice(0, index) + this.text.slice(index + length);\\n }\\n index(node, offset) {\\n if (this.domNode === node) {\\n return offset;\\n }\\n return -1;\\n }\\n insertAt(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.insertAt(index, value, def);\\n }\\n }\\n length() {\\n return this.text.length;\\n }\\n optimize(context) {\\n super.optimize(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 position(index, _inclusive = false) {\\n return [this.domNode, index];\\n }\\n split(index, force = false) {\\n if (!force) {\\n if (index === 0) {\\n return this;\\n }\\n if (index === this.length()) {\\n return this.next;\\n }\\n }\\n const after = this.scroll.create(this.domNode.splitText(index));\\n this.parent.insertBefore(after, this.next || undefined);\\n this.text = this.statics.value(this.domNode);\\n return after;\\n }\\n update(mutations, _context) {\\n if (mutations.some((mutation) => {\\n return (mutation.type === 'characterData' && mutation.target === this.domNode);\\n })) {\\n this.text = this.statics.value(this.domNode);\\n }\\n }\\n value() {\\n return this.text;\\n }\\n}\\nTextBlot.blotName = 'text';\\nTextBlot.scope = _scope__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].INLINE_BLOT;\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (TextBlot);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/blot/text.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/collection/linked-list.ts\":\n/*!**************************************************************!*\\\n !*** ./node_modules/parchment/src/collection/linked-list.ts ***!\n \\**************************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\nclass LinkedList {\\n constructor() {\\n this.head = null;\\n this.tail = null;\\n this.length = 0;\\n }\\n append(...nodes) {\\n this.insertBefore(nodes[0], null);\\n if (nodes.length > 1) {\\n const rest = nodes.slice(1);\\n this.append(...rest);\\n }\\n }\\n at(index) {\\n const next = this.iterator();\\n let cur = next();\\n while (cur && index > 0) {\\n index -= 1;\\n cur = next();\\n }\\n return cur;\\n }\\n contains(node) {\\n const next = this.iterator();\\n let cur = next();\\n while (cur) {\\n if (cur === node) {\\n return true;\\n }\\n cur = next();\\n }\\n return false;\\n }\\n indexOf(node) {\\n const next = this.iterator();\\n let cur = next();\\n let index = 0;\\n while (cur) {\\n if (cur === node) {\\n return index;\\n }\\n index += 1;\\n cur = next();\\n }\\n return -1;\\n }\\n insertBefore(node, refNode) {\\n if (node == null) {\\n return;\\n }\\n this.remove(node);\\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 offset(target) {\\n let index = 0;\\n let cur = this.head;\\n while (cur != null) {\\n if (cur === target) {\\n return index;\\n }\\n index += cur.length();\\n cur = cur.next;\\n }\\n return -1;\\n }\\n remove(node) {\\n if (!this.contains(node)) {\\n return;\\n }\\n if (node.prev != null) {\\n node.prev.next = node.next;\\n }\\n if (node.next != null) {\\n node.next.prev = node.prev;\\n }\\n if (node === this.head) {\\n this.head = node.next;\\n }\\n if (node === this.tail) {\\n this.tail = node.prev;\\n }\\n this.length -= 1;\\n }\\n iterator(curNode = this.head) {\\n // TODO use yield when we can\\n return () => {\\n const ret = curNode;\\n if (curNode != null) {\\n curNode = curNode.next;\\n }\\n return ret;\\n };\\n }\\n find(index, inclusive = false) {\\n const next = this.iterator();\\n let cur = next();\\n while (cur) {\\n const length = cur.length();\\n if (index < length ||\\n (inclusive &&\\n index === length &&\\n (cur.next == null || cur.next.length() !== 0))) {\\n return [cur, index];\\n }\\n index -= length;\\n cur = next();\\n }\\n return [null, 0];\\n }\\n forEach(callback) {\\n const next = this.iterator();\\n let cur = next();\\n while (cur) {\\n callback(cur);\\n cur = next();\\n }\\n }\\n forEachAt(index, length, callback) {\\n if (length <= 0) {\\n return;\\n }\\n const [startNode, offset] = this.find(index);\\n let curIndex = index - offset;\\n const next = this.iterator(startNode);\\n let cur = next();\\n while (cur && curIndex < index + length) {\\n const 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 cur = next();\\n }\\n }\\n map(callback) {\\n return this.reduce((memo, cur) => {\\n memo.push(callback(cur));\\n return memo;\\n }, []);\\n }\\n reduce(callback, memo) {\\n const next = this.iterator();\\n let cur = next();\\n while (cur) {\\n memo = callback(memo, cur);\\n cur = next();\\n }\\n return memo;\\n }\\n}\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (LinkedList);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/collection/linked-list.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/error.ts\":\n/*!*********************************************!*\\\n !*** ./node_modules/parchment/src/error.ts ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return ParchmentError; });\\nclass ParchmentError extends Error {\\n constructor(message) {\\n message = '[Parchment] ' + message;\\n super(message);\\n this.message = message;\\n this.name = this.constructor.name;\\n }\\n}\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/error.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/parchment.ts\":\n/*!*************************************************!*\\\n !*** ./node_modules/parchment/src/parchment.ts ***!\n \\*************************************************/\n/*! exports provided: ParentBlot, ContainerBlot, LeafBlot, EmbedBlot, ScrollBlot, BlockBlot, InlineBlot, TextBlot, Attributor, ClassAttributor, StyleAttributor, AttributorStore, Registry, Scope */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _blot_abstract_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blot/abstract/container */ \\\"./node_modules/parchment/src/blot/abstract/container.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"ContainerBlot\\\", function() { return _blot_abstract_container__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_abstract_leaf__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blot/abstract/leaf */ \\\"./node_modules/parchment/src/blot/abstract/leaf.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"LeafBlot\\\", function() { return _blot_abstract_leaf__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_abstract_parent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blot/abstract/parent */ \\\"./node_modules/parchment/src/blot/abstract/parent.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"ParentBlot\\\", function() { return _blot_abstract_parent__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_block__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blot/block */ \\\"./node_modules/parchment/src/blot/block.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"BlockBlot\\\", function() { return _blot_block__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_embed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blot/embed */ \\\"./node_modules/parchment/src/blot/embed.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"EmbedBlot\\\", function() { return _blot_embed__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_inline__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./blot/inline */ \\\"./node_modules/parchment/src/blot/inline.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"InlineBlot\\\", function() { return _blot_inline__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_scroll__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blot/scroll */ \\\"./node_modules/parchment/src/blot/scroll.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"ScrollBlot\\\", function() { return _blot_scroll__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _blot_text__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blot/text */ \\\"./node_modules/parchment/src/blot/text.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"TextBlot\\\", function() { return _blot_text__WEBPACK_IMPORTED_MODULE_7__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _attributor_attributor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./attributor/attributor */ \\\"./node_modules/parchment/src/attributor/attributor.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"Attributor\\\", function() { return _attributor_attributor__WEBPACK_IMPORTED_MODULE_8__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _attributor_class__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./attributor/class */ \\\"./node_modules/parchment/src/attributor/class.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"ClassAttributor\\\", function() { return _attributor_class__WEBPACK_IMPORTED_MODULE_9__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _attributor_store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./attributor/store */ \\\"./node_modules/parchment/src/attributor/store.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"AttributorStore\\\", function() { return _attributor_store__WEBPACK_IMPORTED_MODULE_10__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _attributor_style__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./attributor/style */ \\\"./node_modules/parchment/src/attributor/style.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"StyleAttributor\\\", function() { return _attributor_style__WEBPACK_IMPORTED_MODULE_11__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./registry */ \\\"./node_modules/parchment/src/registry.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"Registry\\\", function() { return _registry__WEBPACK_IMPORTED_MODULE_12__[\\\"default\\\"]; });\\n\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \\\"Scope\\\", function() { return _scope__WEBPACK_IMPORTED_MODULE_13__[\\\"default\\\"]; });\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/parchment.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/registry.ts\":\n/*!************************************************!*\\\n !*** ./node_modules/parchment/src/registry.ts ***!\n \\************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return Registry; });\\n/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error */ \\\"./node_modules/parchment/src/error.ts\\\");\\n/* harmony import */ var _scope__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scope */ \\\"./node_modules/parchment/src/scope.ts\\\");\\n\\n\\nclass Registry {\\n constructor() {\\n this.attributes = {};\\n this.classes = {};\\n this.tags = {};\\n this.types = {};\\n }\\n static find(node, bubble = false) {\\n if (node == null) {\\n return null;\\n }\\n if (this.blots.has(node)) {\\n return this.blots.get(node) || null;\\n }\\n if (bubble) {\\n return this.find(node.parentNode, bubble);\\n }\\n return null;\\n }\\n create(scroll, input, value) {\\n const match = this.query(input);\\n if (match == null) {\\n throw new _error__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"](`Unable to create ${input} blot`);\\n }\\n const blotClass = match;\\n const node = \\n // @ts-ignore\\n input instanceof Node || input.nodeType === Node.TEXT_NODE\\n ? input\\n : blotClass.create(value);\\n const blot = new blotClass(scroll, node, value);\\n Registry.blots.set(blot.domNode, blot);\\n return blot;\\n }\\n find(node, bubble = false) {\\n return Registry.find(node, bubble);\\n }\\n query(query, scope = _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].ANY) {\\n let match;\\n if (typeof query === 'string') {\\n match = this.types[query] || this.attributes[query];\\n // @ts-ignore\\n }\\n else if (query instanceof Text || query.nodeType === Node.TEXT_NODE) {\\n match = this.types.text;\\n }\\n else if (typeof query === 'number') {\\n if (query & _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].LEVEL & _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].BLOCK) {\\n match = this.types.block;\\n }\\n else if (query & _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].LEVEL & _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].INLINE) {\\n match = this.types.inline;\\n }\\n }\\n else if (query instanceof HTMLElement) {\\n const names = (query.getAttribute('class') || '').split(/\\\\s+/);\\n names.some((name) => {\\n match = this.classes[name];\\n if (match) {\\n return true;\\n }\\n return false;\\n });\\n match = match || this.tags[query.tagName];\\n }\\n if (match == null) {\\n return null;\\n }\\n // @ts-ignore\\n if (scope & _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].LEVEL & match.scope && scope & _scope__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].TYPE & match.scope) {\\n return match;\\n }\\n return null;\\n }\\n register(...definitions) {\\n if (definitions.length > 1) {\\n return definitions.map((d) => {\\n return this.register(d);\\n });\\n }\\n const definition = definitions[0];\\n if (typeof definition.blotName !== 'string' &&\\n typeof definition.attrName !== 'string') {\\n throw new _error__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]('Invalid definition');\\n }\\n else if (definition.blotName === 'abstract') {\\n throw new _error__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]('Cannot register abstract class');\\n }\\n this.types[definition.blotName || definition.attrName] = definition;\\n if (typeof definition.keyName === 'string') {\\n this.attributes[definition.keyName] = definition;\\n }\\n else {\\n if (definition.className != null) {\\n this.classes[definition.className] = definition;\\n }\\n if (definition.tagName != null) {\\n if (Array.isArray(definition.tagName)) {\\n definition.tagName = definition.tagName.map((tagName) => {\\n return tagName.toUpperCase();\\n });\\n }\\n else {\\n definition.tagName = definition.tagName.toUpperCase();\\n }\\n const tagNames = Array.isArray(definition.tagName)\\n ? definition.tagName\\n : [definition.tagName];\\n tagNames.forEach((tag) => {\\n if (this.tags[tag] == null || definition.className == null) {\\n this.tags[tag] = definition;\\n }\\n });\\n }\\n }\\n return definition;\\n }\\n}\\nRegistry.blots = new WeakMap();\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/registry.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/parchment/src/scope.ts\":\n/*!*********************************************!*\\\n !*** ./node_modules/parchment/src/scope.ts ***!\n \\*********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\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 || (Scope = {}));\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Scope);\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/parchment/src/scope.ts?\");\n\n/***/ }),\n\n/***/ \"./node_modules/process/browser.js\":\n/*!*****************************************!*\\\n !*** ./node_modules/process/browser.js ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// shim for using process in browser\\nvar process = module.exports = {};\\n\\n// cached from whatever global is present so that test runners that stub it\\n// don't break things. But we need to wrap it in a try catch in case it is\\n// wrapped in strict mode code which doesn't define any globals. It's inside a\\n// function because try/catches deoptimize in certain engines.\\n\\nvar cachedSetTimeout;\\nvar cachedClearTimeout;\\n\\nfunction defaultSetTimout() {\\n throw new Error('setTimeout has not been defined');\\n}\\nfunction defaultClearTimeout () {\\n throw new Error('clearTimeout has not been defined');\\n}\\n(function () {\\n try {\\n if (typeof setTimeout === 'function') {\\n cachedSetTimeout = setTimeout;\\n } else {\\n cachedSetTimeout = defaultSetTimout;\\n }\\n } catch (e) {\\n cachedSetTimeout = defaultSetTimout;\\n }\\n try {\\n if (typeof clearTimeout === 'function') {\\n cachedClearTimeout = clearTimeout;\\n } else {\\n cachedClearTimeout = defaultClearTimeout;\\n }\\n } catch (e) {\\n cachedClearTimeout = defaultClearTimeout;\\n }\\n} ())\\nfunction runTimeout(fun) {\\n if (cachedSetTimeout === setTimeout) {\\n //normal enviroments in sane situations\\n return setTimeout(fun, 0);\\n }\\n // if setTimeout wasn't available but was latter defined\\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\\n cachedSetTimeout = setTimeout;\\n return setTimeout(fun, 0);\\n }\\n try {\\n // when when somebody has screwed with setTimeout but no I.E. maddness\\n return cachedSetTimeout(fun, 0);\\n } catch(e){\\n try {\\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\\n return cachedSetTimeout.call(null, fun, 0);\\n } catch(e){\\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\\n return cachedSetTimeout.call(this, fun, 0);\\n }\\n }\\n\\n\\n}\\nfunction runClearTimeout(marker) {\\n if (cachedClearTimeout === clearTimeout) {\\n //normal enviroments in sane situations\\n return clearTimeout(marker);\\n }\\n // if clearTimeout wasn't available but was latter defined\\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\\n cachedClearTimeout = clearTimeout;\\n return clearTimeout(marker);\\n }\\n try {\\n // when when somebody has screwed with setTimeout but no I.E. maddness\\n return cachedClearTimeout(marker);\\n } catch (e){\\n try {\\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\\n return cachedClearTimeout.call(null, marker);\\n } catch (e){\\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\\n return cachedClearTimeout.call(this, marker);\\n }\\n }\\n\\n\\n\\n}\\nvar queue = [];\\nvar draining = false;\\nvar currentQueue;\\nvar queueIndex = -1;\\n\\nfunction cleanUpNextTick() {\\n if (!draining || !currentQueue) {\\n return;\\n }\\n draining = false;\\n if (currentQueue.length) {\\n queue = currentQueue.concat(queue);\\n } else {\\n queueIndex = -1;\\n }\\n if (queue.length) {\\n drainQueue();\\n }\\n}\\n\\nfunction drainQueue() {\\n if (draining) {\\n return;\\n }\\n var timeout = runTimeout(cleanUpNextTick);\\n draining = true;\\n\\n var len = queue.length;\\n while(len) {\\n currentQueue = queue;\\n queue = [];\\n while (++queueIndex < len) {\\n if (currentQueue) {\\n currentQueue[queueIndex].run();\\n }\\n }\\n queueIndex = -1;\\n len = queue.length;\\n }\\n currentQueue = null;\\n draining = false;\\n runClearTimeout(timeout);\\n}\\n\\nprocess.nextTick = function (fun) {\\n var args = new Array(arguments.length - 1);\\n if (arguments.length > 1) {\\n for (var i = 1; i < arguments.length; i++) {\\n args[i - 1] = arguments[i];\\n }\\n }\\n queue.push(new Item(fun, args));\\n if (queue.length === 1 && !draining) {\\n runTimeout(drainQueue);\\n }\\n};\\n\\n// v8 likes predictible objects\\nfunction Item(fun, array) {\\n this.fun = fun;\\n this.array = array;\\n}\\nItem.prototype.run = function () {\\n this.fun.apply(null, this.array);\\n};\\nprocess.title = 'browser';\\nprocess.browser = true;\\nprocess.env = {};\\nprocess.argv = [];\\nprocess.version = ''; // empty string to avoid regexp issues\\nprocess.versions = {};\\n\\nfunction noop() {}\\n\\nprocess.on = noop;\\nprocess.addListener = noop;\\nprocess.once = noop;\\nprocess.off = noop;\\nprocess.removeListener = noop;\\nprocess.removeAllListeners = noop;\\nprocess.emit = noop;\\nprocess.prependListener = noop;\\nprocess.prependOnceListener = noop;\\n\\nprocess.listeners = function (name) { return [] }\\n\\nprocess.binding = function (name) {\\n throw new Error('process.binding is not supported');\\n};\\n\\nprocess.cwd = function () { return '/' };\\nprocess.chdir = function (dir) {\\n throw new Error('process.chdir is not supported');\\n};\\nprocess.umask = function() { return 0; };\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/process/browser.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/dist/AttributeMap.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/quill-delta/dist/AttributeMap.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar deep_equal_1 = __importDefault(__webpack_require__(/*! deep-equal */ \\\"./node_modules/quill-delta/node_modules/deep-equal/index.js\\\"));\\nvar extend_1 = __importDefault(__webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\"));\\nvar AttributeMap;\\n(function (AttributeMap) {\\n function compose(a, b, keepNull) {\\n if (a === void 0) { a = {}; }\\n if (b === void 0) { b = {}; }\\n if (typeof a !== 'object') {\\n a = {};\\n }\\n if (typeof b !== 'object') {\\n b = {};\\n }\\n var attributes = extend_1.default(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 AttributeMap.compose = compose;\\n function diff(a, b) {\\n if (a === void 0) { a = {}; }\\n if (b === void 0) { b = {}; }\\n if (typeof a !== 'object') {\\n a = {};\\n }\\n if (typeof b !== 'object') {\\n b = {};\\n }\\n var attributes = Object.keys(a)\\n .concat(Object.keys(b))\\n .reduce(function (attrs, key) {\\n if (!deep_equal_1.default(a[key], b[key])) {\\n attrs[key] = b[key] === undefined ? null : b[key];\\n }\\n return attrs;\\n }, {});\\n return Object.keys(attributes).length > 0 ? attributes : undefined;\\n }\\n AttributeMap.diff = diff;\\n function invert(attr, base) {\\n if (attr === void 0) { attr = {}; }\\n if (base === void 0) { base = {}; }\\n attr = attr || {};\\n var baseInverted = Object.keys(base).reduce(function (memo, key) {\\n if (base[key] !== attr[key] && attr[key] !== undefined) {\\n memo[key] = base[key];\\n }\\n return memo;\\n }, {});\\n return Object.keys(attr).reduce(function (memo, key) {\\n if (attr[key] !== base[key] && base[key] === undefined) {\\n memo[key] = null;\\n }\\n return memo;\\n }, baseInverted);\\n }\\n AttributeMap.invert = invert;\\n function transform(a, b, priority) {\\n if (priority === void 0) { priority = false; }\\n if (typeof a !== 'object') {\\n return b;\\n }\\n if (typeof b !== 'object') {\\n return undefined;\\n }\\n if (!priority) {\\n return b; // b simply overwrites us without priority\\n }\\n var attributes = Object.keys(b).reduce(function (attrs, key) {\\n if (a[key] === undefined) {\\n attrs[key] = b[key]; // null is a valid value\\n }\\n return attrs;\\n }, {});\\n return Object.keys(attributes).length > 0 ? attributes : undefined;\\n }\\n AttributeMap.transform = transform;\\n})(AttributeMap || (AttributeMap = {}));\\nexports.default = AttributeMap;\\n//# sourceMappingURL=AttributeMap.js.map\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/dist/AttributeMap.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/dist/Delta.js\":\n/*!************************************************!*\\\n !*** ./node_modules/quill-delta/dist/Delta.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nvar deep_equal_1 = __importDefault(__webpack_require__(/*! deep-equal */ \\\"./node_modules/quill-delta/node_modules/deep-equal/index.js\\\"));\\nvar extend_1 = __importDefault(__webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\"));\\nvar fast_diff_1 = __importDefault(__webpack_require__(/*! fast-diff */ \\\"./node_modules/fast-diff/diff.js\\\"));\\nvar AttributeMap_1 = __importDefault(__webpack_require__(/*! ./AttributeMap */ \\\"./node_modules/quill-delta/dist/AttributeMap.js\\\"));\\nvar Op_1 = __importDefault(__webpack_require__(/*! ./Op */ \\\"./node_modules/quill-delta/dist/Op.js\\\"));\\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\\nvar Delta = /** @class */ (function () {\\n function Delta(ops) {\\n // Assume we are given a well formed ops\\n if (Array.isArray(ops)) {\\n this.ops = ops;\\n }\\n else if (ops != null && Array.isArray(ops.ops)) {\\n this.ops = ops.ops;\\n }\\n else {\\n this.ops = [];\\n }\\n }\\n Delta.prototype.insert = function (arg, attributes) {\\n var newOp = {};\\n if (typeof arg === 'string' && arg.length === 0) {\\n return this;\\n }\\n newOp.insert = arg;\\n if (attributes != null &&\\n typeof attributes === 'object' &&\\n Object.keys(attributes).length > 0) {\\n newOp.attributes = attributes;\\n }\\n return this.push(newOp);\\n };\\n Delta.prototype.delete = function (length) {\\n if (length <= 0) {\\n return this;\\n }\\n return this.push({ delete: length });\\n };\\n Delta.prototype.retain = function (length, attributes) {\\n if (length <= 0) {\\n return this;\\n }\\n var newOp = { retain: length };\\n if (attributes != null &&\\n typeof attributes === 'object' &&\\n Object.keys(attributes).length > 0) {\\n newOp.attributes = attributes;\\n }\\n return this.push(newOp);\\n };\\n Delta.prototype.push = function (newOp) {\\n var index = this.ops.length;\\n var lastOp = this.ops[index - 1];\\n newOp = extend_1.default(true, {}, newOp);\\n if (typeof lastOp === 'object') {\\n if (typeof newOp.delete === 'number' &&\\n 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 (deep_equal_1.default(newOp.attributes, lastOp.attributes)) {\\n if (typeof newOp.insert === 'string' &&\\n typeof lastOp.insert === 'string') {\\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\\n if (typeof newOp.attributes === 'object') {\\n this.ops[index - 1].attributes = newOp.attributes;\\n }\\n return this;\\n }\\n else if (typeof newOp.retain === 'number' &&\\n typeof lastOp.retain === 'number') {\\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\\n if (typeof newOp.attributes === 'object') {\\n this.ops[index - 1].attributes = newOp.attributes;\\n }\\n return this;\\n }\\n }\\n }\\n if (index === this.ops.length) {\\n this.ops.push(newOp);\\n }\\n else {\\n this.ops.splice(index, 0, newOp);\\n }\\n return this;\\n };\\n Delta.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 Delta.prototype.filter = function (predicate) {\\n return this.ops.filter(predicate);\\n };\\n Delta.prototype.forEach = function (predicate) {\\n this.ops.forEach(predicate);\\n };\\n Delta.prototype.map = function (predicate) {\\n return this.ops.map(predicate);\\n };\\n Delta.prototype.partition = function (predicate) {\\n var passed = [];\\n var failed = [];\\n this.forEach(function (op) {\\n var target = predicate(op) ? passed : failed;\\n target.push(op);\\n });\\n return [passed, failed];\\n };\\n Delta.prototype.reduce = function (predicate, initialValue) {\\n return this.ops.reduce(predicate, initialValue);\\n };\\n Delta.prototype.changeLength = function () {\\n return this.reduce(function (length, elem) {\\n if (elem.insert) {\\n return length + Op_1.default.length(elem);\\n }\\n else if (elem.delete) {\\n return length - elem.delete;\\n }\\n return length;\\n }, 0);\\n };\\n Delta.prototype.length = function () {\\n return this.reduce(function (length, elem) {\\n return length + Op_1.default.length(elem);\\n }, 0);\\n };\\n Delta.prototype.slice = function (start, end) {\\n if (start === void 0) { start = 0; }\\n if (end === void 0) { end = Infinity; }\\n var ops = [];\\n var iter = Op_1.default.iterator(this.ops);\\n var index = 0;\\n while (index < end && iter.hasNext()) {\\n var nextOp = void 0;\\n if (index < start) {\\n nextOp = iter.next(start - index);\\n }\\n else {\\n nextOp = iter.next(end - index);\\n ops.push(nextOp);\\n }\\n index += Op_1.default.length(nextOp);\\n }\\n return new Delta(ops);\\n };\\n Delta.prototype.compose = function (other) {\\n var thisIter = Op_1.default.iterator(this.ops);\\n var otherIter = Op_1.default.iterator(other.ops);\\n var ops = [];\\n var firstOther = otherIter.peek();\\n if (firstOther != null &&\\n typeof firstOther.retain === 'number' &&\\n firstOther.attributes == null) {\\n var firstLeft = firstOther.retain;\\n while (thisIter.peekType() === 'insert' &&\\n 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 }\\n else if (thisIter.peekType() === 'delete') {\\n delta.push(thisIter.next());\\n }\\n else {\\n var length_1 = Math.min(thisIter.peekLength(), otherIter.peekLength());\\n var thisOp = thisIter.next(length_1);\\n var otherOp = otherIter.next(length_1);\\n if (typeof otherOp.retain === 'number') {\\n var newOp = {};\\n if (typeof thisOp.retain === 'number') {\\n newOp.retain = length_1;\\n }\\n else {\\n newOp.insert = thisOp.insert;\\n }\\n // Preserve null when composing with a retain, otherwise remove it for inserts\\n var attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\\n if (attributes) {\\n newOp.attributes = attributes;\\n }\\n delta.push(newOp);\\n // Optimization if rest of other is just retain\\n if (!otherIter.hasNext() &&\\n deep_equal_1.default(delta.ops[delta.ops.length - 1], newOp)) {\\n var rest = new Delta(thisIter.rest());\\n return delta.concat(rest).chop();\\n }\\n // Other op should be delete, we could be an insert or retain\\n // Insert + delete cancels out\\n }\\n else if (typeof otherOp.delete === 'number' &&\\n typeof thisOp.retain === 'number') {\\n delta.push(otherOp);\\n }\\n }\\n }\\n return delta.chop();\\n };\\n Delta.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 Delta.prototype.diff = function (other, cursor) {\\n if (this.ops === other.ops) {\\n return new Delta();\\n }\\n var strings = [this, other].map(function (delta) {\\n return delta\\n .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 })\\n .join('');\\n });\\n var retDelta = new Delta();\\n var diffResult = fast_diff_1.default(strings[0], strings[1], cursor);\\n var thisIter = Op_1.default.iterator(this.ops);\\n var otherIter = Op_1.default.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 fast_diff_1.default.INSERT:\\n opLength = Math.min(otherIter.peekLength(), length);\\n retDelta.push(otherIter.next(opLength));\\n break;\\n case fast_diff_1.default.DELETE:\\n opLength = Math.min(length, thisIter.peekLength());\\n thisIter.next(opLength);\\n retDelta.delete(opLength);\\n break;\\n case fast_diff_1.default.EQUAL:\\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\\n var thisOp = thisIter.next(opLength);\\n var otherOp = otherIter.next(opLength);\\n if (deep_equal_1.default(thisOp.insert, otherOp.insert)) {\\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\\n }\\n else {\\n retDelta.push(otherOp).delete(opLength);\\n }\\n break;\\n }\\n length -= opLength;\\n }\\n });\\n return retDelta.chop();\\n };\\n Delta.prototype.eachLine = function (predicate, newline) {\\n if (newline === void 0) { newline = '\\\\n'; }\\n var iter = Op_1.default.iterator(this.ops);\\n var line = new Delta();\\n var i = 0;\\n while (iter.hasNext()) {\\n if (iter.peekType() !== 'insert') {\\n return;\\n }\\n var thisOp = iter.peek();\\n var start = Op_1.default.length(thisOp) - iter.peekLength();\\n var index = typeof thisOp.insert === 'string'\\n ? thisOp.insert.indexOf(newline, start) - start\\n : -1;\\n if (index < 0) {\\n line.push(iter.next());\\n }\\n else if (index > 0) {\\n line.push(iter.next(index));\\n }\\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 Delta.prototype.invert = function (base) {\\n var inverted = new Delta();\\n this.reduce(function (baseIndex, op) {\\n if (op.insert) {\\n inverted.delete(Op_1.default.length(op));\\n }\\n else if (op.retain && op.attributes == null) {\\n inverted.retain(op.retain);\\n return baseIndex + op.retain;\\n }\\n else if (op.delete || (op.retain && op.attributes)) {\\n var length_2 = (op.delete || op.retain);\\n var slice = base.slice(baseIndex, baseIndex + length_2);\\n slice.forEach(function (baseOp) {\\n if (op.delete) {\\n inverted.push(baseOp);\\n }\\n else if (op.retain && op.attributes) {\\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\\n }\\n });\\n return baseIndex + length_2;\\n }\\n return baseIndex;\\n }, 0);\\n return inverted.chop();\\n };\\n Delta.prototype.transform = function (arg, priority) {\\n if (priority === void 0) { priority = false; }\\n priority = !!priority;\\n if (typeof arg === 'number') {\\n return this.transformPosition(arg, priority);\\n }\\n var other = arg;\\n var thisIter = Op_1.default.iterator(this.ops);\\n var otherIter = Op_1.default.iterator(other.ops);\\n var delta = new Delta();\\n while (thisIter.hasNext() || otherIter.hasNext()) {\\n if (thisIter.peekType() === 'insert' &&\\n (priority || otherIter.peekType() !== 'insert')) {\\n delta.retain(Op_1.default.length(thisIter.next()));\\n }\\n else if (otherIter.peekType() === 'insert') {\\n delta.push(otherIter.next());\\n }\\n else {\\n var length_3 = Math.min(thisIter.peekLength(), otherIter.peekLength());\\n var thisOp = thisIter.next(length_3);\\n var otherOp = otherIter.next(length_3);\\n if (thisOp.delete) {\\n // Our delete either makes their delete redundant or removes their retain\\n continue;\\n }\\n else if (otherOp.delete) {\\n delta.push(otherOp);\\n }\\n else {\\n // We retain either their retain or insert\\n delta.retain(length_3, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\\n }\\n }\\n }\\n return delta.chop();\\n };\\n Delta.prototype.transformPosition = function (index, priority) {\\n if (priority === void 0) { priority = false; }\\n priority = !!priority;\\n var thisIter = Op_1.default.iterator(this.ops);\\n var offset = 0;\\n while (thisIter.hasNext() && offset <= index) {\\n var length_4 = thisIter.peekLength();\\n var nextType = thisIter.peekType();\\n thisIter.next();\\n if (nextType === 'delete') {\\n index -= Math.min(length_4, index - offset);\\n continue;\\n }\\n else if (nextType === 'insert' && (offset < index || !priority)) {\\n index += length_4;\\n }\\n offset += length_4;\\n }\\n return index;\\n };\\n Delta.Op = Op_1.default;\\n Delta.AttributeMap = AttributeMap_1.default;\\n return Delta;\\n}());\\nmodule.exports = Delta;\\n//# sourceMappingURL=Delta.js.map\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/dist/Delta.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/dist/Iterator.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/quill-delta/dist/Iterator.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar Op_1 = __importDefault(__webpack_require__(/*! ./Op */ \\\"./node_modules/quill-delta/dist/Op.js\\\"));\\nvar Iterator = /** @class */ (function () {\\n function Iterator(ops) {\\n this.ops = ops;\\n this.index = 0;\\n this.offset = 0;\\n }\\n Iterator.prototype.hasNext = function () {\\n return this.peekLength() < Infinity;\\n };\\n Iterator.prototype.next = function (length) {\\n if (!length) {\\n length = Infinity;\\n }\\n var nextOp = this.ops[this.index];\\n if (nextOp) {\\n var offset = this.offset;\\n var opLength = Op_1.default.length(nextOp);\\n if (length >= opLength - offset) {\\n length = opLength - offset;\\n this.index += 1;\\n this.offset = 0;\\n }\\n else {\\n this.offset += length;\\n }\\n if (typeof nextOp.delete === 'number') {\\n return { delete: length };\\n }\\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 }\\n else if (typeof nextOp.insert === 'string') {\\n retOp.insert = nextOp.insert.substr(offset, length);\\n }\\n else {\\n // offset should === 0, length should === 1\\n retOp.insert = nextOp.insert;\\n }\\n return retOp;\\n }\\n }\\n else {\\n return { retain: Infinity };\\n }\\n };\\n Iterator.prototype.peek = function () {\\n return this.ops[this.index];\\n };\\n Iterator.prototype.peekLength = function () {\\n if (this.ops[this.index]) {\\n // Should never return 0 if our index is being managed correctly\\n return Op_1.default.length(this.ops[this.index]) - this.offset;\\n }\\n else {\\n return Infinity;\\n }\\n };\\n Iterator.prototype.peekType = function () {\\n if (this.ops[this.index]) {\\n if (typeof this.ops[this.index].delete === 'number') {\\n return 'delete';\\n }\\n else if (typeof this.ops[this.index].retain === 'number') {\\n return 'retain';\\n }\\n else {\\n return 'insert';\\n }\\n }\\n return 'retain';\\n };\\n Iterator.prototype.rest = function () {\\n if (!this.hasNext()) {\\n return [];\\n }\\n else if (this.offset === 0) {\\n return this.ops.slice(this.index);\\n }\\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 return Iterator;\\n}());\\nexports.default = Iterator;\\n//# sourceMappingURL=Iterator.js.map\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/dist/Iterator.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/dist/Op.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/quill-delta/dist/Op.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\nvar __importDefault = (this && this.__importDefault) || function (mod) {\\n return (mod && mod.__esModule) ? mod : { \\\"default\\\": mod };\\n};\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar Iterator_1 = __importDefault(__webpack_require__(/*! ./Iterator */ \\\"./node_modules/quill-delta/dist/Iterator.js\\\"));\\nvar Op;\\n(function (Op) {\\n function iterator(ops) {\\n return new Iterator_1.default(ops);\\n }\\n Op.iterator = iterator;\\n function length(op) {\\n if (typeof op.delete === 'number') {\\n return op.delete;\\n }\\n else if (typeof op.retain === 'number') {\\n return op.retain;\\n }\\n else {\\n return typeof op.insert === 'string' ? op.insert.length : 1;\\n }\\n }\\n Op.length = length;\\n})(Op || (Op = {}));\\nexports.default = Op;\\n//# sourceMappingURL=Op.js.map\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/dist/Op.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/node_modules/deep-equal/index.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/quill-delta/node_modules/deep-equal/index.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var objectKeys = __webpack_require__(/*! object-keys */ \\\"./node_modules/quill-delta/node_modules/object-keys/index.js\\\");\\nvar isArguments = __webpack_require__(/*! is-arguments */ \\\"./node_modules/is-arguments/index.js\\\");\\nvar is = __webpack_require__(/*! object-is */ \\\"./node_modules/object-is/index.js\\\");\\nvar isRegex = __webpack_require__(/*! is-regex */ \\\"./node_modules/is-regex/index.js\\\");\\nvar flags = __webpack_require__(/*! regexp.prototype.flags */ \\\"./node_modules/regexp.prototype.flags/index.js\\\");\\nvar isDate = __webpack_require__(/*! is-date-object */ \\\"./node_modules/is-date-object/index.js\\\");\\n\\nvar getTime = Date.prototype.getTime;\\n\\nfunction deepEqual(actual, expected, options) {\\n var opts = options || {};\\n\\n // 7.1. All identical values are equivalent, as determined by ===.\\n if (opts.strict ? is(actual, expected) : actual === expected) {\\n return true;\\n }\\n\\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\\n return opts.strict ? is(actual, expected) : actual == expected;\\n }\\n\\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 */\\n // eslint-disable-next-line no-use-before-define\\n return objEquiv(actual, expected, opts);\\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') {\\n return false;\\n }\\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\\n return false;\\n }\\n if (x.length > 0 && typeof x[0] !== 'number') {\\n return false;\\n }\\n return true;\\n}\\n\\nfunction objEquiv(a, b, opts) {\\n /* eslint max-statements: [2, 50] */\\n var i, key;\\n if (typeof a !== typeof b) { return false; }\\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\\n\\n // an identical 'prototype' property.\\n if (a.prototype !== b.prototype) { return false; }\\n\\n if (isArguments(a) !== isArguments(b)) { return false; }\\n\\n var aIsRegex = isRegex(a);\\n var bIsRegex = isRegex(b);\\n if (aIsRegex !== bIsRegex) { return false; }\\n if (aIsRegex || bIsRegex) {\\n return a.source === b.source && flags(a) === flags(b);\\n }\\n\\n if (isDate(a) && isDate(b)) {\\n return getTime.call(a) === getTime.call(b);\\n }\\n\\n var aIsBuffer = isBuffer(a);\\n var bIsBuffer = isBuffer(b);\\n if (aIsBuffer !== bIsBuffer) { return false; }\\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\\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\\n if (typeof a !== typeof b) { return false; }\\n\\n try {\\n var ka = objectKeys(a);\\n var 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 hasOwnProperty)\\n if (ka.length !== kb.length) { return false; }\\n\\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]) { return false; }\\n }\\n // equivalent values for every corresponding key, and ~~~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\\n return true;\\n}\\n\\nmodule.exports = deepEqual;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/node_modules/deep-equal/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/node_modules/object-keys/implementation.js\":\n/*!*****************************************************************************!*\\\n !*** ./node_modules/quill-delta/node_modules/object-keys/implementation.js ***!\n \\*****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar keysShim;\\nif (!Object.keys) {\\n\\t// modified from https://github.com/es-shims/es5-shim\\n\\tvar has = Object.prototype.hasOwnProperty;\\n\\tvar toStr = Object.prototype.toString;\\n\\tvar isArgs = __webpack_require__(/*! ./isArguments */ \\\"./node_modules/quill-delta/node_modules/object-keys/isArguments.js\\\"); // eslint-disable-line global-require\\n\\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\\n\\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\\n\\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\\n\\tvar dontEnums = [\\n\\t\\t'toString',\\n\\t\\t'toLocaleString',\\n\\t\\t'valueOf',\\n\\t\\t'hasOwnProperty',\\n\\t\\t'isPrototypeOf',\\n\\t\\t'propertyIsEnumerable',\\n\\t\\t'constructor'\\n\\t];\\n\\tvar equalsConstructorPrototype = function (o) {\\n\\t\\tvar ctor = o.constructor;\\n\\t\\treturn ctor && ctor.prototype === o;\\n\\t};\\n\\tvar excludedKeys = {\\n\\t\\t$applicationCache: true,\\n\\t\\t$console: true,\\n\\t\\t$external: true,\\n\\t\\t$frame: true,\\n\\t\\t$frameElement: true,\\n\\t\\t$frames: true,\\n\\t\\t$innerHeight: true,\\n\\t\\t$innerWidth: true,\\n\\t\\t$onmozfullscreenchange: true,\\n\\t\\t$onmozfullscreenerror: true,\\n\\t\\t$outerHeight: true,\\n\\t\\t$outerWidth: true,\\n\\t\\t$pageXOffset: true,\\n\\t\\t$pageYOffset: true,\\n\\t\\t$parent: true,\\n\\t\\t$scrollLeft: true,\\n\\t\\t$scrollTop: true,\\n\\t\\t$scrollX: true,\\n\\t\\t$scrollY: true,\\n\\t\\t$self: true,\\n\\t\\t$webkitIndexedDB: true,\\n\\t\\t$webkitStorageInfo: true,\\n\\t\\t$window: true\\n\\t};\\n\\tvar hasAutomationEqualityBug = (function () {\\n\\t\\t/* global window */\\n\\t\\tif (typeof window === 'undefined') { return false; }\\n\\t\\tfor (var k in window) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\\n\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\tequalsConstructorPrototype(window[k]);\\n\\t\\t\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} catch (e) {\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn false;\\n\\t}());\\n\\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\\n\\t\\t/* global window */\\n\\t\\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\\n\\t\\t\\treturn equalsConstructorPrototype(o);\\n\\t\\t}\\n\\t\\ttry {\\n\\t\\t\\treturn equalsConstructorPrototype(o);\\n\\t\\t} catch (e) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t};\\n\\n\\tkeysShim = function keys(object) {\\n\\t\\tvar isObject = object !== null && typeof object === 'object';\\n\\t\\tvar isFunction = toStr.call(object) === '[object Function]';\\n\\t\\tvar isArguments = isArgs(object);\\n\\t\\tvar isString = isObject && toStr.call(object) === '[object String]';\\n\\t\\tvar theKeys = [];\\n\\n\\t\\tif (!isObject && !isFunction && !isArguments) {\\n\\t\\t\\tthrow new TypeError('Object.keys called on a non-object');\\n\\t\\t}\\n\\n\\t\\tvar skipProto = hasProtoEnumBug && isFunction;\\n\\t\\tif (isString && object.length > 0 && !has.call(object, 0)) {\\n\\t\\t\\tfor (var i = 0; i < object.length; ++i) {\\n\\t\\t\\t\\ttheKeys.push(String(i));\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (isArguments && object.length > 0) {\\n\\t\\t\\tfor (var j = 0; j < object.length; ++j) {\\n\\t\\t\\t\\ttheKeys.push(String(j));\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tfor (var name in object) {\\n\\t\\t\\t\\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\\n\\t\\t\\t\\t\\ttheKeys.push(String(name));\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (hasDontEnumBug) {\\n\\t\\t\\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\\n\\n\\t\\t\\tfor (var k = 0; k < dontEnums.length; ++k) {\\n\\t\\t\\t\\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\\n\\t\\t\\t\\t\\ttheKeys.push(dontEnums[k]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn theKeys;\\n\\t};\\n}\\nmodule.exports = keysShim;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/node_modules/object-keys/implementation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/node_modules/object-keys/index.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/quill-delta/node_modules/object-keys/index.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar slice = Array.prototype.slice;\\nvar isArgs = __webpack_require__(/*! ./isArguments */ \\\"./node_modules/quill-delta/node_modules/object-keys/isArguments.js\\\");\\n\\nvar origKeys = Object.keys;\\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(/*! ./implementation */ \\\"./node_modules/quill-delta/node_modules/object-keys/implementation.js\\\");\\n\\nvar originalKeys = Object.keys;\\n\\nkeysShim.shim = function shimObjectKeys() {\\n\\tif (Object.keys) {\\n\\t\\tvar keysWorksWithArguments = (function () {\\n\\t\\t\\t// Safari 5.0 bug\\n\\t\\t\\tvar args = Object.keys(arguments);\\n\\t\\t\\treturn args && args.length === arguments.length;\\n\\t\\t}(1, 2));\\n\\t\\tif (!keysWorksWithArguments) {\\n\\t\\t\\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\\n\\t\\t\\t\\tif (isArgs(object)) {\\n\\t\\t\\t\\t\\treturn originalKeys(slice.call(object));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn originalKeys(object);\\n\\t\\t\\t};\\n\\t\\t}\\n\\t} else {\\n\\t\\tObject.keys = keysShim;\\n\\t}\\n\\treturn Object.keys || keysShim;\\n};\\n\\nmodule.exports = keysShim;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/node_modules/object-keys/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/quill-delta/node_modules/object-keys/isArguments.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/quill-delta/node_modules/object-keys/isArguments.js ***!\n \\**************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar toStr = Object.prototype.toString;\\n\\nmodule.exports = function isArguments(value) {\\n\\tvar str = toStr.call(value);\\n\\tvar isArgs = str === '[object Arguments]';\\n\\tif (!isArgs) {\\n\\t\\tisArgs = str !== '[object Array]' &&\\n\\t\\t\\tvalue !== null &&\\n\\t\\t\\ttypeof value === 'object' &&\\n\\t\\t\\ttypeof value.length === 'number' &&\\n\\t\\t\\tvalue.length >= 0 &&\\n\\t\\t\\ttoStr.call(value.callee) === '[object Function]';\\n\\t}\\n\\treturn isArgs;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/quill-delta/node_modules/object-keys/isArguments.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/regexp.prototype.flags/implementation.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/regexp.prototype.flags/implementation.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar $Object = Object;\\nvar $TypeError = TypeError;\\n\\nmodule.exports = function flags() {\\n\\tif (this != null && this !== $Object(this)) {\\n\\t\\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\\n\\t}\\n\\tvar result = '';\\n\\tif (this.global) {\\n\\t\\tresult += 'g';\\n\\t}\\n\\tif (this.ignoreCase) {\\n\\t\\tresult += 'i';\\n\\t}\\n\\tif (this.multiline) {\\n\\t\\tresult += 'm';\\n\\t}\\n\\tif (this.dotAll) {\\n\\t\\tresult += 's';\\n\\t}\\n\\tif (this.unicode) {\\n\\t\\tresult += 'u';\\n\\t}\\n\\tif (this.sticky) {\\n\\t\\tresult += 'y';\\n\\t}\\n\\treturn result;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/regexp.prototype.flags/implementation.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/regexp.prototype.flags/index.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/regexp.prototype.flags/index.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar define = __webpack_require__(/*! define-properties */ \\\"./node_modules/define-properties/index.js\\\");\\nvar callBind = __webpack_require__(/*! es-abstract/helpers/callBind */ \\\"./node_modules/regexp.prototype.flags/node_modules/es-abstract/helpers/callBind.js\\\");\\n\\nvar implementation = __webpack_require__(/*! ./implementation */ \\\"./node_modules/regexp.prototype.flags/implementation.js\\\");\\nvar getPolyfill = __webpack_require__(/*! ./polyfill */ \\\"./node_modules/regexp.prototype.flags/polyfill.js\\\");\\nvar shim = __webpack_require__(/*! ./shim */ \\\"./node_modules/regexp.prototype.flags/shim.js\\\");\\n\\nvar flagsBound = callBind(implementation);\\n\\ndefine(flagsBound, {\\n\\tgetPolyfill: getPolyfill,\\n\\timplementation: implementation,\\n\\tshim: shim\\n});\\n\\nmodule.exports = flagsBound;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/regexp.prototype.flags/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/regexp.prototype.flags/node_modules/es-abstract/GetIntrinsic.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/regexp.prototype.flags/node_modules/es-abstract/GetIntrinsic.js ***!\n \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* globals\\n\\tAtomics,\\n\\tSharedArrayBuffer,\\n*/\\n\\nvar undefined;\\n\\nvar $TypeError = TypeError;\\n\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD({}, '');\\n\\t} catch (e) {\\n\\t\\t$gOPD = null; // this is IE 8, which has a broken gOPD\\n\\t}\\n}\\n\\nvar throwTypeError = function () { throw new $TypeError(); };\\nvar ThrowTypeError = $gOPD\\n\\t? (function () {\\n\\t\\ttry {\\n\\t\\t\\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\\n\\t\\t\\targuments.callee; // IE 8 does not throw here\\n\\t\\t\\treturn throwTypeError;\\n\\t\\t} catch (calleeThrows) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\\n\\t\\t\\t\\treturn $gOPD(arguments, 'callee').get;\\n\\t\\t\\t} catch (gOPDthrows) {\\n\\t\\t\\t\\treturn throwTypeError;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}())\\n\\t: throwTypeError;\\n\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\\n\\nvar generator; // = function * () {};\\nvar generatorFunction = generator ? getProto(generator) : undefined;\\nvar asyncFn; // async function() {};\\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\\nvar asyncGen; // async function * () {};\\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\\n\\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\\n\\nvar INTRINSICS = {\\n\\t'%Array%': Array,\\n\\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\\n\\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\\n\\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\\n\\t'%ArrayPrototype%': Array.prototype,\\n\\t'%ArrayProto_entries%': Array.prototype.entries,\\n\\t'%ArrayProto_forEach%': Array.prototype.forEach,\\n\\t'%ArrayProto_keys%': Array.prototype.keys,\\n\\t'%ArrayProto_values%': Array.prototype.values,\\n\\t'%AsyncFromSyncIteratorPrototype%': undefined,\\n\\t'%AsyncFunction%': asyncFunction,\\n\\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\\n\\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\\n\\t'%AsyncGeneratorFunction%': asyncGenFunction,\\n\\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\\n\\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\\n\\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\\n\\t'%Boolean%': Boolean,\\n\\t'%BooleanPrototype%': Boolean.prototype,\\n\\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\\n\\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\\n\\t'%Date%': Date,\\n\\t'%DatePrototype%': Date.prototype,\\n\\t'%decodeURI%': decodeURI,\\n\\t'%decodeURIComponent%': decodeURIComponent,\\n\\t'%encodeURI%': encodeURI,\\n\\t'%encodeURIComponent%': encodeURIComponent,\\n\\t'%Error%': Error,\\n\\t'%ErrorPrototype%': Error.prototype,\\n\\t'%eval%': eval, // eslint-disable-line no-eval\\n\\t'%EvalError%': EvalError,\\n\\t'%EvalErrorPrototype%': EvalError.prototype,\\n\\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\\n\\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\\n\\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\\n\\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\\n\\t'%Function%': Function,\\n\\t'%FunctionPrototype%': Function.prototype,\\n\\t'%Generator%': generator ? getProto(generator()) : undefined,\\n\\t'%GeneratorFunction%': generatorFunction,\\n\\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\\n\\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\\n\\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\\n\\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\\n\\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\\n\\t'%isFinite%': isFinite,\\n\\t'%isNaN%': isNaN,\\n\\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\\n\\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\\n\\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\\n\\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\\n\\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\\n\\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\\n\\t'%Math%': Math,\\n\\t'%Number%': Number,\\n\\t'%NumberPrototype%': Number.prototype,\\n\\t'%Object%': Object,\\n\\t'%ObjectPrototype%': Object.prototype,\\n\\t'%ObjProto_toString%': Object.prototype.toString,\\n\\t'%ObjProto_valueOf%': Object.prototype.valueOf,\\n\\t'%parseFloat%': parseFloat,\\n\\t'%parseInt%': parseInt,\\n\\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\\n\\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\\n\\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\\n\\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\\n\\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\\n\\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\\n\\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\\n\\t'%RangeError%': RangeError,\\n\\t'%RangeErrorPrototype%': RangeError.prototype,\\n\\t'%ReferenceError%': ReferenceError,\\n\\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\\n\\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\\n\\t'%RegExp%': RegExp,\\n\\t'%RegExpPrototype%': RegExp.prototype,\\n\\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\\n\\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\\n\\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\\n\\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\\n\\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\\n\\t'%String%': String,\\n\\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\\n\\t'%StringPrototype%': String.prototype,\\n\\t'%Symbol%': hasSymbols ? Symbol : undefined,\\n\\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\\n\\t'%SyntaxError%': SyntaxError,\\n\\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\\n\\t'%ThrowTypeError%': ThrowTypeError,\\n\\t'%TypedArray%': TypedArray,\\n\\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\\n\\t'%TypeError%': $TypeError,\\n\\t'%TypeErrorPrototype%': $TypeError.prototype,\\n\\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\\n\\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\\n\\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\\n\\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\\n\\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\\n\\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\\n\\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\\n\\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\\n\\t'%URIError%': URIError,\\n\\t'%URIErrorPrototype%': URIError.prototype,\\n\\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\\n\\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\\n\\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\\n\\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\\n};\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar $replace = bind.call(Function.call, String.prototype.replace);\\n\\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\\nvar rePropName = /[^%.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|%$))/g;\\nvar reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g; /** Used to match backslashes in property paths. */\\nvar stringToPath = function stringToPath(string) {\\n\\tvar result = [];\\n\\t$replace(string, rePropName, function (match, number, quote, subString) {\\n\\t\\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\\n\\t});\\n\\treturn result;\\n};\\n/* end adaptation */\\n\\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\\n\\tif (!(name in INTRINSICS)) {\\n\\t\\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\\n\\t}\\n\\n\\t// istanbul ignore if // hopefully this is impossible to test :-)\\n\\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\\n\\t\\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\\n\\t}\\n\\n\\treturn INTRINSICS[name];\\n};\\n\\nmodule.exports = function GetIntrinsic(name, allowMissing) {\\n\\tif (typeof name !== 'string' || name.length === 0) {\\n\\t\\tthrow new TypeError('intrinsic name must be a non-empty string');\\n\\t}\\n\\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\\n\\t\\tthrow new TypeError('\\\"allowMissing\\\" argument must be a boolean');\\n\\t}\\n\\n\\tvar parts = stringToPath(name);\\n\\n\\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\\n\\tfor (var i = 1; i < parts.length; i += 1) {\\n\\t\\tif (value != null) {\\n\\t\\t\\tif ($gOPD && (i + 1) >= parts.length) {\\n\\t\\t\\t\\tvar desc = $gOPD(value, parts[i]);\\n\\t\\t\\t\\tif (!allowMissing && !(parts[i] in value)) {\\n\\t\\t\\t\\t\\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = value[parts[i]];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/regexp.prototype.flags/node_modules/es-abstract/GetIntrinsic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/regexp.prototype.flags/node_modules/es-abstract/helpers/callBind.js\":\n/*!******************************************************************************************!*\\\n !*** ./node_modules/regexp.prototype.flags/node_modules/es-abstract/helpers/callBind.js ***!\n \\******************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/regexp.prototype.flags/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $Function = GetIntrinsic('%Function%');\\nvar $apply = $Function.apply;\\nvar $call = $Function.call;\\n\\nmodule.exports = function callBind() {\\n\\treturn bind.apply($call, arguments);\\n};\\n\\nmodule.exports.apply = function applyBind() {\\n\\treturn bind.apply($apply, arguments);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/regexp.prototype.flags/node_modules/es-abstract/helpers/callBind.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/regexp.prototype.flags/polyfill.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/regexp.prototype.flags/polyfill.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar implementation = __webpack_require__(/*! ./implementation */ \\\"./node_modules/regexp.prototype.flags/implementation.js\\\");\\n\\nvar supportsDescriptors = __webpack_require__(/*! define-properties */ \\\"./node_modules/define-properties/index.js\\\").supportsDescriptors;\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nvar $TypeError = TypeError;\\n\\nmodule.exports = function getPolyfill() {\\n\\tif (!supportsDescriptors) {\\n\\t\\tthrow new $TypeError('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\\n\\t}\\n\\tif ((/a/mig).flags === 'gim') {\\n\\t\\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\\n\\t\\tif (descriptor && typeof descriptor.get === 'function' && typeof (/a/).dotAll === 'boolean') {\\n\\t\\t\\treturn descriptor.get;\\n\\t\\t}\\n\\t}\\n\\treturn implementation;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/regexp.prototype.flags/polyfill.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/regexp.prototype.flags/shim.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/regexp.prototype.flags/shim.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar supportsDescriptors = __webpack_require__(/*! define-properties */ \\\"./node_modules/define-properties/index.js\\\").supportsDescriptors;\\nvar getPolyfill = __webpack_require__(/*! ./polyfill */ \\\"./node_modules/regexp.prototype.flags/polyfill.js\\\");\\nvar gOPD = Object.getOwnPropertyDescriptor;\\nvar defineProperty = Object.defineProperty;\\nvar TypeErr = TypeError;\\nvar getProto = Object.getPrototypeOf;\\nvar regex = /a/;\\n\\nmodule.exports = function shimFlags() {\\n\\tif (!supportsDescriptors || !getProto) {\\n\\t\\tthrow new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\\n\\t}\\n\\tvar polyfill = getPolyfill();\\n\\tvar proto = getProto(regex);\\n\\tvar descriptor = gOPD(proto, 'flags');\\n\\tif (!descriptor || descriptor.get !== polyfill) {\\n\\t\\tdefineProperty(proto, 'flags', {\\n\\t\\t\\tconfigurable: true,\\n\\t\\t\\tenumerable: false,\\n\\t\\t\\tget: polyfill\\n\\t\\t});\\n\\t}\\n\\treturn polyfill;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/regexp.prototype.flags/shim.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/side-channel/index.js\":\n/*!********************************************!*\\\n !*** ./node_modules/side-channel/index.js ***!\n \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! es-abstract/GetIntrinsic */ \\\"./node_modules/side-channel/node_modules/es-abstract/GetIntrinsic.js\\\");\\nvar callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ \\\"./node_modules/side-channel/node_modules/es-abstract/helpers/callBound.js\\\");\\nvar inspect = __webpack_require__(/*! object-inspect */ \\\"./node_modules/object-inspect/index.js\\\");\\n\\nvar $TypeError = GetIntrinsic('%TypeError%');\\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\\nvar $Map = GetIntrinsic('%Map%', true);\\nvar $push = callBound('Array.prototype.push');\\n\\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\\nvar $mapGet = callBound('Map.prototype.get', true);\\nvar $mapSet = callBound('Map.prototype.set', true);\\nvar $mapHas = callBound('Map.prototype.has', true);\\nvar objectGet = function (objects, key) { // eslint-disable-line consistent-return\\n\\tfor (var i = 0; i < objects.length; i += 1) {\\n\\t\\tif (objects[i].key === key) {\\n\\t\\t\\treturn objects[i].value;\\n\\t\\t}\\n\\t}\\n};\\nvar objectSet = function (objects, key, value) {\\n\\tfor (var i = 0; i < objects.length; i += 1) {\\n\\t\\tif (objects[i].key === key) {\\n\\t\\t\\tobjects[i].value = value; // eslint-disable-line no-param-reassign\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t}\\n\\t$push(objects, {\\n\\t\\tkey: key,\\n\\t\\tvalue: value\\n\\t});\\n};\\nvar objectHas = function (objects, key) {\\n\\tfor (var i = 0; i < objects.length; i += 1) {\\n\\t\\tif (objects[i].key === key) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\nmodule.exports = function getSideChannel() {\\n\\tvar $wm;\\n\\tvar $m;\\n\\tvar $o;\\n\\tvar channel = {\\n\\t\\tassert: function (key) {\\n\\t\\t\\tif (!channel.has(key)) {\\n\\t\\t\\t\\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tget: function (key) { // eslint-disable-line consistent-return\\n\\t\\t\\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\\n\\t\\t\\t\\tif ($wm) {\\n\\t\\t\\t\\t\\treturn $weakMapGet($wm, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if ($Map) {\\n\\t\\t\\t\\tif ($m) {\\n\\t\\t\\t\\t\\treturn $mapGet($m, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif ($o) { // eslint-disable-line no-lonely-if\\n\\t\\t\\t\\t\\treturn objectGet($o, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\thas: function (key) {\\n\\t\\t\\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\\n\\t\\t\\t\\tif ($wm) {\\n\\t\\t\\t\\t\\treturn $weakMapHas($wm, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else if ($Map) {\\n\\t\\t\\t\\tif ($m) {\\n\\t\\t\\t\\t\\treturn $mapHas($m, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif ($o) { // eslint-disable-line no-lonely-if\\n\\t\\t\\t\\t\\treturn objectHas($o, key);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t},\\n\\t\\tset: function (key, value) {\\n\\t\\t\\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\\n\\t\\t\\t\\tif (!$wm) {\\n\\t\\t\\t\\t\\t$wm = new $WeakMap();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t$weakMapSet($wm, key, value);\\n\\t\\t\\t} else if ($Map) {\\n\\t\\t\\t\\tif (!$m) {\\n\\t\\t\\t\\t\\t$m = new $Map();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t$mapSet($m, key, value);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tif (!$o) {\\n\\t\\t\\t\\t\\t$o = [];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tobjectSet($o, key, value);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\treturn channel;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/side-channel/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/side-channel/node_modules/es-abstract/GetIntrinsic.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/side-channel/node_modules/es-abstract/GetIntrinsic.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* globals\\n\\tAtomics,\\n\\tSharedArrayBuffer,\\n*/\\n\\nvar undefined;\\n\\nvar $TypeError = TypeError;\\n\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD({}, '');\\n\\t} catch (e) {\\n\\t\\t$gOPD = null; // this is IE 8, which has a broken gOPD\\n\\t}\\n}\\n\\nvar throwTypeError = function () { throw new $TypeError(); };\\nvar ThrowTypeError = $gOPD\\n\\t? (function () {\\n\\t\\ttry {\\n\\t\\t\\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\\n\\t\\t\\targuments.callee; // IE 8 does not throw here\\n\\t\\t\\treturn throwTypeError;\\n\\t\\t} catch (calleeThrows) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\\n\\t\\t\\t\\treturn $gOPD(arguments, 'callee').get;\\n\\t\\t\\t} catch (gOPDthrows) {\\n\\t\\t\\t\\treturn throwTypeError;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}())\\n\\t: throwTypeError;\\n\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\\n\\nvar generator; // = function * () {};\\nvar generatorFunction = generator ? getProto(generator) : undefined;\\nvar asyncFn; // async function() {};\\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\\nvar asyncGen; // async function * () {};\\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\\n\\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\\n\\nvar INTRINSICS = {\\n\\t'%Array%': Array,\\n\\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\\n\\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\\n\\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\\n\\t'%ArrayPrototype%': Array.prototype,\\n\\t'%ArrayProto_entries%': Array.prototype.entries,\\n\\t'%ArrayProto_forEach%': Array.prototype.forEach,\\n\\t'%ArrayProto_keys%': Array.prototype.keys,\\n\\t'%ArrayProto_values%': Array.prototype.values,\\n\\t'%AsyncFromSyncIteratorPrototype%': undefined,\\n\\t'%AsyncFunction%': asyncFunction,\\n\\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\\n\\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\\n\\t'%AsyncGeneratorFunction%': asyncGenFunction,\\n\\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\\n\\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\\n\\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\\n\\t'%Boolean%': Boolean,\\n\\t'%BooleanPrototype%': Boolean.prototype,\\n\\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\\n\\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\\n\\t'%Date%': Date,\\n\\t'%DatePrototype%': Date.prototype,\\n\\t'%decodeURI%': decodeURI,\\n\\t'%decodeURIComponent%': decodeURIComponent,\\n\\t'%encodeURI%': encodeURI,\\n\\t'%encodeURIComponent%': encodeURIComponent,\\n\\t'%Error%': Error,\\n\\t'%ErrorPrototype%': Error.prototype,\\n\\t'%eval%': eval, // eslint-disable-line no-eval\\n\\t'%EvalError%': EvalError,\\n\\t'%EvalErrorPrototype%': EvalError.prototype,\\n\\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\\n\\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\\n\\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\\n\\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\\n\\t'%Function%': Function,\\n\\t'%FunctionPrototype%': Function.prototype,\\n\\t'%Generator%': generator ? getProto(generator()) : undefined,\\n\\t'%GeneratorFunction%': generatorFunction,\\n\\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\\n\\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\\n\\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\\n\\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\\n\\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\\n\\t'%isFinite%': isFinite,\\n\\t'%isNaN%': isNaN,\\n\\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\\n\\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\\n\\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\\n\\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\\n\\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\\n\\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\\n\\t'%Math%': Math,\\n\\t'%Number%': Number,\\n\\t'%NumberPrototype%': Number.prototype,\\n\\t'%Object%': Object,\\n\\t'%ObjectPrototype%': Object.prototype,\\n\\t'%ObjProto_toString%': Object.prototype.toString,\\n\\t'%ObjProto_valueOf%': Object.prototype.valueOf,\\n\\t'%parseFloat%': parseFloat,\\n\\t'%parseInt%': parseInt,\\n\\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\\n\\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\\n\\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\\n\\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\\n\\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\\n\\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\\n\\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\\n\\t'%RangeError%': RangeError,\\n\\t'%RangeErrorPrototype%': RangeError.prototype,\\n\\t'%ReferenceError%': ReferenceError,\\n\\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\\n\\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\\n\\t'%RegExp%': RegExp,\\n\\t'%RegExpPrototype%': RegExp.prototype,\\n\\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\\n\\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\\n\\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\\n\\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\\n\\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\\n\\t'%String%': String,\\n\\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\\n\\t'%StringPrototype%': String.prototype,\\n\\t'%Symbol%': hasSymbols ? Symbol : undefined,\\n\\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\\n\\t'%SyntaxError%': SyntaxError,\\n\\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\\n\\t'%ThrowTypeError%': ThrowTypeError,\\n\\t'%TypedArray%': TypedArray,\\n\\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\\n\\t'%TypeError%': $TypeError,\\n\\t'%TypeErrorPrototype%': $TypeError.prototype,\\n\\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\\n\\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\\n\\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\\n\\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\\n\\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\\n\\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\\n\\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\\n\\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\\n\\t'%URIError%': URIError,\\n\\t'%URIErrorPrototype%': URIError.prototype,\\n\\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\\n\\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\\n\\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\\n\\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\\n};\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar $replace = bind.call(Function.call, String.prototype.replace);\\n\\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\\nvar rePropName = /[^%.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|%$))/g;\\nvar reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g; /** Used to match backslashes in property paths. */\\nvar stringToPath = function stringToPath(string) {\\n\\tvar result = [];\\n\\t$replace(string, rePropName, function (match, number, quote, subString) {\\n\\t\\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\\n\\t});\\n\\treturn result;\\n};\\n/* end adaptation */\\n\\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\\n\\tif (!(name in INTRINSICS)) {\\n\\t\\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\\n\\t}\\n\\n\\t// istanbul ignore if // hopefully this is impossible to test :-)\\n\\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\\n\\t\\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\\n\\t}\\n\\n\\treturn INTRINSICS[name];\\n};\\n\\nmodule.exports = function GetIntrinsic(name, allowMissing) {\\n\\tif (typeof name !== 'string' || name.length === 0) {\\n\\t\\tthrow new TypeError('intrinsic name must be a non-empty string');\\n\\t}\\n\\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\\n\\t\\tthrow new TypeError('\\\"allowMissing\\\" argument must be a boolean');\\n\\t}\\n\\n\\tvar parts = stringToPath(name);\\n\\n\\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\\n\\tfor (var i = 1; i < parts.length; i += 1) {\\n\\t\\tif (value != null) {\\n\\t\\t\\tif ($gOPD && (i + 1) >= parts.length) {\\n\\t\\t\\t\\tvar desc = $gOPD(value, parts[i]);\\n\\t\\t\\t\\tif (!allowMissing && !(parts[i] in value)) {\\n\\t\\t\\t\\t\\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = value[parts[i]];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/side-channel/node_modules/es-abstract/GetIntrinsic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/side-channel/node_modules/es-abstract/helpers/callBind.js\":\n/*!********************************************************************************!*\\\n !*** ./node_modules/side-channel/node_modules/es-abstract/helpers/callBind.js ***!\n \\********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/side-channel/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $Function = GetIntrinsic('%Function%');\\nvar $apply = $Function.apply;\\nvar $call = $Function.call;\\n\\nmodule.exports = function callBind() {\\n\\treturn bind.apply($call, arguments);\\n};\\n\\nmodule.exports.apply = function applyBind() {\\n\\treturn bind.apply($apply, arguments);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/side-channel/node_modules/es-abstract/helpers/callBind.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/side-channel/node_modules/es-abstract/helpers/callBound.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/side-channel/node_modules/es-abstract/helpers/callBound.js ***!\n \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/side-channel/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar callBind = __webpack_require__(/*! ./callBind */ \\\"./node_modules/side-channel/node_modules/es-abstract/helpers/callBind.js\\\");\\n\\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\\n\\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\\n\\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\\n\\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {\\n\\t\\treturn callBind(intrinsic);\\n\\t}\\n\\treturn intrinsic;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/side-channel/node_modules/es-abstract/helpers/callBound.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"var g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n\\n\\n//# sourceURL=webpack://Quill/(webpack)/buildin/global.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-boxed-primitive/index.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/which-boxed-primitive/index.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar isString = __webpack_require__(/*! is-string */ \\\"./node_modules/is-string/index.js\\\");\\nvar isNumber = __webpack_require__(/*! is-number-object */ \\\"./node_modules/is-number-object/index.js\\\");\\nvar isBoolean = __webpack_require__(/*! is-boolean-object */ \\\"./node_modules/is-boolean-object/index.js\\\");\\nvar isSymbol = __webpack_require__(/*! is-symbol */ \\\"./node_modules/which-boxed-primitive/node_modules/is-symbol/index.js\\\");\\nvar isBigInt = __webpack_require__(/*! is-bigint */ \\\"./node_modules/is-bigint/index.js\\\");\\n\\n// eslint-disable-next-line consistent-return\\nmodule.exports = function whichBoxedPrimitive(value) {\\n\\t// eslint-disable-next-line eqeqeq\\n\\tif (value == null || (typeof value !== 'object' && typeof value !== 'function')) {\\n\\t\\treturn null;\\n\\t}\\n\\tif (isString(value)) {\\n\\t\\treturn 'String';\\n\\t}\\n\\tif (isNumber(value)) {\\n\\t\\treturn 'Number';\\n\\t}\\n\\tif (isBoolean(value)) {\\n\\t\\treturn 'Boolean';\\n\\t}\\n\\tif (isSymbol(value)) {\\n\\t\\treturn 'Symbol';\\n\\t}\\n\\tif (isBigInt(value)) {\\n\\t\\treturn 'BigInt';\\n\\t}\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-boxed-primitive/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-boxed-primitive/node_modules/is-symbol/index.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/which-boxed-primitive/node_modules/is-symbol/index.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar toStr = Object.prototype.toString;\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nif (hasSymbols) {\\n\\tvar symToStr = Symbol.prototype.toString;\\n\\tvar symStringRegex = /^Symbol\\\\(.*\\\\)$/;\\n\\tvar isSymbolObject = function isRealSymbolObject(value) {\\n\\t\\tif (typeof value.valueOf() !== 'symbol') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\treturn symStringRegex.test(symToStr.call(value));\\n\\t};\\n\\n\\tmodule.exports = function isSymbol(value) {\\n\\t\\tif (typeof value === 'symbol') {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\tif (toStr.call(value) !== '[object Symbol]') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\ttry {\\n\\t\\t\\treturn isSymbolObject(value);\\n\\t\\t} catch (e) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t};\\n} else {\\n\\n\\tmodule.exports = function isSymbol(value) {\\n\\t\\t// this environment does not support Symbols.\\n\\t\\treturn false && false;\\n\\t};\\n}\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-boxed-primitive/node_modules/is-symbol/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-collection/index.js\":\n/*!************************************************!*\\\n !*** ./node_modules/which-collection/index.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar isMap = __webpack_require__(/*! is-map */ \\\"./node_modules/is-map/index.js\\\");\\nvar isSet = __webpack_require__(/*! is-set */ \\\"./node_modules/is-set/index.js\\\");\\nvar isWeakMap = __webpack_require__(/*! is-weakmap */ \\\"./node_modules/is-weakmap/index.js\\\");\\nvar isWeakSet = __webpack_require__(/*! is-weakset */ \\\"./node_modules/is-weakset/index.js\\\");\\n\\nmodule.exports = function whichCollection(value) {\\n\\tif (value && typeof value === 'object') {\\n\\t\\tif (isMap(value)) {\\n\\t\\t\\treturn 'Map';\\n\\t\\t}\\n\\t\\tif (isSet(value)) {\\n\\t\\t\\treturn 'Set';\\n\\t\\t}\\n\\t\\tif (isWeakMap(value)) {\\n\\t\\t\\treturn 'WeakMap';\\n\\t\\t}\\n\\t\\tif (isWeakSet(value)) {\\n\\t\\t\\treturn 'WeakSet';\\n\\t\\t}\\n\\t}\\n\\treturn false;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-collection/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-typed-array/index.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/which-typed-array/index.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/* WEBPACK VAR INJECTION */(function(global) {\\n\\nvar forEach = __webpack_require__(/*! foreach */ \\\"./node_modules/foreach/index.js\\\");\\nvar availableTypedArrays = __webpack_require__(/*! available-typed-arrays */ \\\"./node_modules/available-typed-arrays/index.js\\\");\\nvar callBound = __webpack_require__(/*! es-abstract/helpers/callBound */ \\\"./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBound.js\\\");\\n\\nvar $toString = callBound('Object.prototype.toString');\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\nvar hasToStringTag = hasSymbols && typeof Symbol.toStringTag === 'symbol';\\n\\nvar typedArrays = availableTypedArrays();\\n\\nvar $slice = callBound('String.prototype.slice');\\nvar toStrTags = {};\\nvar gOPD = __webpack_require__(/*! es-abstract/helpers/getOwnPropertyDescriptor */ \\\"./node_modules/which-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js\\\");\\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\\nif (hasToStringTag && gOPD && getPrototypeOf) {\\n\\tforEach(typedArrays, function (typedArray) {\\n\\t\\tif (typeof global[typedArray] === 'function') {\\n\\t\\t\\tvar arr = new global[typedArray]();\\n\\t\\t\\tif (!(Symbol.toStringTag in arr)) {\\n\\t\\t\\t\\tthrow new EvalError('this engine has support for Symbol.toStringTag, but ' + typedArray + ' does not have the property! Please report this.');\\n\\t\\t\\t}\\n\\t\\t\\tvar proto = getPrototypeOf(arr);\\n\\t\\t\\tvar descriptor = gOPD(proto, Symbol.toStringTag);\\n\\t\\t\\tif (!descriptor) {\\n\\t\\t\\t\\tvar superProto = getPrototypeOf(proto);\\n\\t\\t\\t\\tdescriptor = gOPD(superProto, Symbol.toStringTag);\\n\\t\\t\\t}\\n\\t\\t\\ttoStrTags[typedArray] = descriptor.get;\\n\\t\\t}\\n\\t});\\n}\\n\\nvar tryTypedArrays = function tryAllTypedArrays(value) {\\n\\tvar foundName = false;\\n\\tforEach(toStrTags, function (getter, typedArray) {\\n\\t\\tif (!foundName) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tvar name = getter.call(value);\\n\\t\\t\\t\\tif (name === typedArray) {\\n\\t\\t\\t\\t\\tfoundName = name;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} catch (e) {}\\n\\t\\t}\\n\\t});\\n\\treturn foundName;\\n};\\n\\nvar isTypedArray = __webpack_require__(/*! is-typed-array */ \\\"./node_modules/is-typed-array/index.js\\\");\\n\\nmodule.exports = function whichTypedArray(value) {\\n\\tif (!isTypedArray(value)) { return false; }\\n\\tif (!hasToStringTag) { return $slice($toString(value), 8, -1); }\\n\\treturn tryTypedArrays(value);\\n};\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-typed-array/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-typed-array/node_modules/es-abstract/GetIntrinsic.js\":\n/*!*********************************************************************************!*\\\n !*** ./node_modules/which-typed-array/node_modules/es-abstract/GetIntrinsic.js ***!\n \\*********************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/* globals\\n\\tAtomics,\\n\\tSharedArrayBuffer,\\n*/\\n\\nvar undefined;\\n\\nvar $TypeError = TypeError;\\n\\nvar $gOPD = Object.getOwnPropertyDescriptor;\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD({}, '');\\n\\t} catch (e) {\\n\\t\\t$gOPD = null; // this is IE 8, which has a broken gOPD\\n\\t}\\n}\\n\\nvar throwTypeError = function () { throw new $TypeError(); };\\nvar ThrowTypeError = $gOPD\\n\\t? (function () {\\n\\t\\ttry {\\n\\t\\t\\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\\n\\t\\t\\targuments.callee; // IE 8 does not throw here\\n\\t\\t\\treturn throwTypeError;\\n\\t\\t} catch (calleeThrows) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\\n\\t\\t\\t\\treturn $gOPD(arguments, 'callee').get;\\n\\t\\t\\t} catch (gOPDthrows) {\\n\\t\\t\\t\\treturn throwTypeError;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}())\\n\\t: throwTypeError;\\n\\nvar hasSymbols = __webpack_require__(/*! has-symbols */ \\\"./node_modules/has-symbols/index.js\\\")();\\n\\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\\n\\nvar generator; // = function * () {};\\nvar generatorFunction = generator ? getProto(generator) : undefined;\\nvar asyncFn; // async function() {};\\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\\nvar asyncGen; // async function * () {};\\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\\n\\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\\n\\nvar INTRINSICS = {\\n\\t'%Array%': Array,\\n\\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\\n\\t'%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\\n\\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\\n\\t'%ArrayPrototype%': Array.prototype,\\n\\t'%ArrayProto_entries%': Array.prototype.entries,\\n\\t'%ArrayProto_forEach%': Array.prototype.forEach,\\n\\t'%ArrayProto_keys%': Array.prototype.keys,\\n\\t'%ArrayProto_values%': Array.prototype.values,\\n\\t'%AsyncFromSyncIteratorPrototype%': undefined,\\n\\t'%AsyncFunction%': asyncFunction,\\n\\t'%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\\n\\t'%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\\n\\t'%AsyncGeneratorFunction%': asyncGenFunction,\\n\\t'%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\\n\\t'%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\\n\\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\\n\\t'%Boolean%': Boolean,\\n\\t'%BooleanPrototype%': Boolean.prototype,\\n\\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\\n\\t'%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\\n\\t'%Date%': Date,\\n\\t'%DatePrototype%': Date.prototype,\\n\\t'%decodeURI%': decodeURI,\\n\\t'%decodeURIComponent%': decodeURIComponent,\\n\\t'%encodeURI%': encodeURI,\\n\\t'%encodeURIComponent%': encodeURIComponent,\\n\\t'%Error%': Error,\\n\\t'%ErrorPrototype%': Error.prototype,\\n\\t'%eval%': eval, // eslint-disable-line no-eval\\n\\t'%EvalError%': EvalError,\\n\\t'%EvalErrorPrototype%': EvalError.prototype,\\n\\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\\n\\t'%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\\n\\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\\n\\t'%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\\n\\t'%Function%': Function,\\n\\t'%FunctionPrototype%': Function.prototype,\\n\\t'%Generator%': generator ? getProto(generator()) : undefined,\\n\\t'%GeneratorFunction%': generatorFunction,\\n\\t'%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\\n\\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\\n\\t'%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\\n\\t'%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\\n\\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\\n\\t'%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\\n\\t'%isFinite%': isFinite,\\n\\t'%isNaN%': isNaN,\\n\\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\\n\\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\\n\\t'%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,\\n\\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\\n\\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\\n\\t'%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\\n\\t'%Math%': Math,\\n\\t'%Number%': Number,\\n\\t'%NumberPrototype%': Number.prototype,\\n\\t'%Object%': Object,\\n\\t'%ObjectPrototype%': Object.prototype,\\n\\t'%ObjProto_toString%': Object.prototype.toString,\\n\\t'%ObjProto_valueOf%': Object.prototype.valueOf,\\n\\t'%parseFloat%': parseFloat,\\n\\t'%parseInt%': parseInt,\\n\\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\\n\\t'%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\\n\\t'%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\\n\\t'%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\\n\\t'%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\\n\\t'%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\\n\\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\\n\\t'%RangeError%': RangeError,\\n\\t'%RangeErrorPrototype%': RangeError.prototype,\\n\\t'%ReferenceError%': ReferenceError,\\n\\t'%ReferenceErrorPrototype%': ReferenceError.prototype,\\n\\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\\n\\t'%RegExp%': RegExp,\\n\\t'%RegExpPrototype%': RegExp.prototype,\\n\\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\\n\\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\\n\\t'%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\\n\\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\\n\\t'%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\\n\\t'%String%': String,\\n\\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\\n\\t'%StringPrototype%': String.prototype,\\n\\t'%Symbol%': hasSymbols ? Symbol : undefined,\\n\\t'%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\\n\\t'%SyntaxError%': SyntaxError,\\n\\t'%SyntaxErrorPrototype%': SyntaxError.prototype,\\n\\t'%ThrowTypeError%': ThrowTypeError,\\n\\t'%TypedArray%': TypedArray,\\n\\t'%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\\n\\t'%TypeError%': $TypeError,\\n\\t'%TypeErrorPrototype%': $TypeError.prototype,\\n\\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\\n\\t'%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\\n\\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\\n\\t'%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\\n\\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\\n\\t'%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\\n\\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\\n\\t'%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\\n\\t'%URIError%': URIError,\\n\\t'%URIErrorPrototype%': URIError.prototype,\\n\\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\\n\\t'%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\\n\\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\\n\\t'%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\\n};\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\nvar $replace = bind.call(Function.call, String.prototype.replace);\\n\\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\\nvar rePropName = /[^%.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|%$))/g;\\nvar reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g; /** Used to match backslashes in property paths. */\\nvar stringToPath = function stringToPath(string) {\\n\\tvar result = [];\\n\\t$replace(string, rePropName, function (match, number, quote, subString) {\\n\\t\\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);\\n\\t});\\n\\treturn result;\\n};\\n/* end adaptation */\\n\\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\\n\\tif (!(name in INTRINSICS)) {\\n\\t\\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\\n\\t}\\n\\n\\t// istanbul ignore if // hopefully this is impossible to test :-)\\n\\tif (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {\\n\\t\\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\\n\\t}\\n\\n\\treturn INTRINSICS[name];\\n};\\n\\nmodule.exports = function GetIntrinsic(name, allowMissing) {\\n\\tif (typeof name !== 'string' || name.length === 0) {\\n\\t\\tthrow new TypeError('intrinsic name must be a non-empty string');\\n\\t}\\n\\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\\n\\t\\tthrow new TypeError('\\\"allowMissing\\\" argument must be a boolean');\\n\\t}\\n\\n\\tvar parts = stringToPath(name);\\n\\n\\tvar value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);\\n\\tfor (var i = 1; i < parts.length; i += 1) {\\n\\t\\tif (value != null) {\\n\\t\\t\\tif ($gOPD && (i + 1) >= parts.length) {\\n\\t\\t\\t\\tvar desc = $gOPD(value, parts[i]);\\n\\t\\t\\t\\tif (!allowMissing && !(parts[i] in value)) {\\n\\t\\t\\t\\t\\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tvalue = desc ? (desc.get || desc.value) : value[parts[i]];\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tvalue = value[parts[i]];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\treturn value;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-typed-array/node_modules/es-abstract/GetIntrinsic.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBind.js\":\n/*!*************************************************************************************!*\\\n !*** ./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBind.js ***!\n \\*************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! function-bind */ \\\"./node_modules/function-bind/index.js\\\");\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/which-typed-array/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $Function = GetIntrinsic('%Function%');\\nvar $apply = $Function.apply;\\nvar $call = $Function.call;\\n\\nmodule.exports = function callBind() {\\n\\treturn bind.apply($call, arguments);\\n};\\n\\nmodule.exports.apply = function applyBind() {\\n\\treturn bind.apply($apply, arguments);\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBind.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBound.js\":\n/*!**************************************************************************************!*\\\n !*** ./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBound.js ***!\n \\**************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/which-typed-array/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar callBind = __webpack_require__(/*! ./callBind */ \\\"./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBind.js\\\");\\n\\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\\n\\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\\n\\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\\n\\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {\\n\\t\\treturn callBind(intrinsic);\\n\\t}\\n\\treturn intrinsic;\\n};\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-typed-array/node_modules/es-abstract/helpers/callBound.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/which-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js\":\n/*!*****************************************************************************************************!*\\\n !*** ./node_modules/which-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js ***!\n \\*****************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar GetIntrinsic = __webpack_require__(/*! ../GetIntrinsic */ \\\"./node_modules/which-typed-array/node_modules/es-abstract/GetIntrinsic.js\\\");\\n\\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%');\\nif ($gOPD) {\\n\\ttry {\\n\\t\\t$gOPD([], 'length');\\n\\t} catch (e) {\\n\\t\\t// IE 8 has a broken gOPD\\n\\t\\t$gOPD = null;\\n\\t}\\n}\\n\\nmodule.exports = $gOPD;\\n\\n\\n//# sourceURL=webpack://Quill/./node_modules/which-typed-array/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js?\");\n\n/***/ }),\n\n/***/ \"./quill.js\":\n/*!******************!*\\\n !*** ./quill.js ***!\n \\******************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \\\"./core.js\\\");\\n/* harmony import */ var _formats_align__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./formats/align */ \\\"./formats/align.js\\\");\\n/* harmony import */ var _formats_direction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./formats/direction */ \\\"./formats/direction.js\\\");\\n/* harmony import */ var _formats_indent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./formats/indent */ \\\"./formats/indent.js\\\");\\n/* harmony import */ var _formats_blockquote__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./formats/blockquote */ \\\"./formats/blockquote.js\\\");\\n/* harmony import */ var _formats_header__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./formats/header */ \\\"./formats/header.js\\\");\\n/* harmony import */ var _formats_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./formats/list */ \\\"./formats/list.js\\\");\\n/* harmony import */ var _formats_background__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formats/background */ \\\"./formats/background.js\\\");\\n/* harmony import */ var _formats_color__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./formats/color */ \\\"./formats/color.js\\\");\\n/* harmony import */ var _formats_font__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./formats/font */ \\\"./formats/font.js\\\");\\n/* harmony import */ var _formats_size__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./formats/size */ \\\"./formats/size.js\\\");\\n/* harmony import */ var _formats_bold__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./formats/bold */ \\\"./formats/bold.js\\\");\\n/* harmony import */ var _formats_italic__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./formats/italic */ \\\"./formats/italic.js\\\");\\n/* harmony import */ var _formats_link__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./formats/link */ \\\"./formats/link.js\\\");\\n/* harmony import */ var _formats_script__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./formats/script */ \\\"./formats/script.js\\\");\\n/* harmony import */ var _formats_strike__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./formats/strike */ \\\"./formats/strike.js\\\");\\n/* harmony import */ var _formats_underline__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./formats/underline */ \\\"./formats/underline.js\\\");\\n/* harmony import */ var _formats_formula__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./formats/formula */ \\\"./formats/formula.js\\\");\\n/* harmony import */ var _formats_image__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./formats/image */ \\\"./formats/image.js\\\");\\n/* harmony import */ var _formats_video__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./formats/video */ \\\"./formats/video.js\\\");\\n/* harmony import */ var _formats_code__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./formats/code */ \\\"./formats/code.js\\\");\\n/* harmony import */ var _modules_syntax__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/syntax */ \\\"./modules/syntax.js\\\");\\n/* harmony import */ var _modules_table__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/table */ \\\"./modules/table.js\\\");\\n/* harmony import */ var _modules_toolbar__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/toolbar */ \\\"./modules/toolbar.js\\\");\\n/* harmony import */ var _ui_icons__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./ui/icons */ \\\"./ui/icons.js\\\");\\n/* harmony import */ var _ui_picker__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./ui/picker */ \\\"./ui/picker.js\\\");\\n/* harmony import */ var _ui_color_picker__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./ui/color-picker */ \\\"./ui/color-picker.js\\\");\\n/* harmony import */ var _ui_icon_picker__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./ui/icon-picker */ \\\"./ui/icon-picker.js\\\");\\n/* harmony import */ var _ui_tooltip__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./ui/tooltip */ \\\"./ui/tooltip.js\\\");\\n/* harmony import */ var _themes_bubble__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./themes/bubble */ \\\"./themes/bubble.js\\\");\\n/* harmony import */ var _themes_snow__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./themes/snow */ \\\"./themes/snow.js\\\");\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n_core__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].register({\\n 'attributors/attribute/direction': _formats_direction__WEBPACK_IMPORTED_MODULE_2__[\\\"DirectionAttribute\\\"],\\n 'attributors/class/align': _formats_align__WEBPACK_IMPORTED_MODULE_1__[\\\"AlignClass\\\"],\\n 'attributors/class/background': _formats_background__WEBPACK_IMPORTED_MODULE_7__[\\\"BackgroundClass\\\"],\\n 'attributors/class/color': _formats_color__WEBPACK_IMPORTED_MODULE_8__[\\\"ColorClass\\\"],\\n 'attributors/class/direction': _formats_direction__WEBPACK_IMPORTED_MODULE_2__[\\\"DirectionClass\\\"],\\n 'attributors/class/font': _formats_font__WEBPACK_IMPORTED_MODULE_9__[\\\"FontClass\\\"],\\n 'attributors/class/size': _formats_size__WEBPACK_IMPORTED_MODULE_10__[\\\"SizeClass\\\"],\\n 'attributors/style/align': _formats_align__WEBPACK_IMPORTED_MODULE_1__[\\\"AlignStyle\\\"],\\n 'attributors/style/background': _formats_background__WEBPACK_IMPORTED_MODULE_7__[\\\"BackgroundStyle\\\"],\\n 'attributors/style/color': _formats_color__WEBPACK_IMPORTED_MODULE_8__[\\\"ColorStyle\\\"],\\n 'attributors/style/direction': _formats_direction__WEBPACK_IMPORTED_MODULE_2__[\\\"DirectionStyle\\\"],\\n 'attributors/style/font': _formats_font__WEBPACK_IMPORTED_MODULE_9__[\\\"FontStyle\\\"],\\n 'attributors/style/size': _formats_size__WEBPACK_IMPORTED_MODULE_10__[\\\"SizeStyle\\\"]\\n}, true);\\n_core__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"].register({\\n 'formats/align': _formats_align__WEBPACK_IMPORTED_MODULE_1__[\\\"AlignClass\\\"],\\n 'formats/direction': _formats_direction__WEBPACK_IMPORTED_MODULE_2__[\\\"DirectionClass\\\"],\\n 'formats/indent': _formats_indent__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"],\\n 'formats/background': _formats_background__WEBPACK_IMPORTED_MODULE_7__[\\\"BackgroundStyle\\\"],\\n 'formats/color': _formats_color__WEBPACK_IMPORTED_MODULE_8__[\\\"ColorStyle\\\"],\\n 'formats/font': _formats_font__WEBPACK_IMPORTED_MODULE_9__[\\\"FontClass\\\"],\\n 'formats/size': _formats_size__WEBPACK_IMPORTED_MODULE_10__[\\\"SizeClass\\\"],\\n 'formats/blockquote': _formats_blockquote__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"],\\n 'formats/code-block': _formats_code__WEBPACK_IMPORTED_MODULE_20__[\\\"default\\\"],\\n 'formats/header': _formats_header__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"],\\n 'formats/list': _formats_list__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"],\\n 'formats/bold': _formats_bold__WEBPACK_IMPORTED_MODULE_11__[\\\"default\\\"],\\n 'formats/code': _formats_code__WEBPACK_IMPORTED_MODULE_20__[\\\"Code\\\"],\\n 'formats/italic': _formats_italic__WEBPACK_IMPORTED_MODULE_12__[\\\"default\\\"],\\n 'formats/link': _formats_link__WEBPACK_IMPORTED_MODULE_13__[\\\"default\\\"],\\n 'formats/script': _formats_script__WEBPACK_IMPORTED_MODULE_14__[\\\"default\\\"],\\n 'formats/strike': _formats_strike__WEBPACK_IMPORTED_MODULE_15__[\\\"default\\\"],\\n 'formats/underline': _formats_underline__WEBPACK_IMPORTED_MODULE_16__[\\\"default\\\"],\\n 'formats/formula': _formats_formula__WEBPACK_IMPORTED_MODULE_17__[\\\"default\\\"],\\n 'formats/image': _formats_image__WEBPACK_IMPORTED_MODULE_18__[\\\"default\\\"],\\n 'formats/video': _formats_video__WEBPACK_IMPORTED_MODULE_19__[\\\"default\\\"],\\n 'modules/syntax': _modules_syntax__WEBPACK_IMPORTED_MODULE_21__[\\\"default\\\"],\\n 'modules/table': _modules_table__WEBPACK_IMPORTED_MODULE_22__[\\\"default\\\"],\\n 'modules/toolbar': _modules_toolbar__WEBPACK_IMPORTED_MODULE_23__[\\\"default\\\"],\\n 'themes/bubble': _themes_bubble__WEBPACK_IMPORTED_MODULE_29__[\\\"default\\\"],\\n 'themes/snow': _themes_snow__WEBPACK_IMPORTED_MODULE_30__[\\\"default\\\"],\\n 'ui/icons': _ui_icons__WEBPACK_IMPORTED_MODULE_24__[\\\"default\\\"],\\n 'ui/picker': _ui_picker__WEBPACK_IMPORTED_MODULE_25__[\\\"default\\\"],\\n 'ui/icon-picker': _ui_icon_picker__WEBPACK_IMPORTED_MODULE_27__[\\\"default\\\"],\\n 'ui/color-picker': _ui_color_picker__WEBPACK_IMPORTED_MODULE_26__[\\\"default\\\"],\\n 'ui/tooltip': _ui_tooltip__WEBPACK_IMPORTED_MODULE_28__[\\\"default\\\"]\\n}, true);\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (_core__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"]);\\n\\n//# sourceURL=webpack://Quill/./quill.js?\");\n\n/***/ }),\n\n/***/ \"./themes/base.js\":\n/*!************************!*\\\n !*** ./themes/base.js ***!\n \\************************/\n/*! exports provided: BaseTooltip, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"BaseTooltip\\\", function() { return BaseTooltip; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return BaseTheme; });\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _core_theme__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/theme */ \\\"./core/theme.js\\\");\\n/* harmony import */ var _ui_color_picker__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/color-picker */ \\\"./ui/color-picker.js\\\");\\n/* harmony import */ var _ui_icon_picker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui/icon-picker */ \\\"./ui/icon-picker.js\\\");\\n/* harmony import */ var _ui_picker__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ui/picker */ \\\"./ui/picker.js\\\");\\n/* harmony import */ var _ui_tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../ui/tooltip */ \\\"./ui/tooltip.js\\\");\\n\\n\\n\\n\\n\\n\\n\\nconst ALIGNS = [false, 'center', 'right', 'justify'];\\nconst 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'];\\nconst FONTS = [false, 'serif', 'monospace'];\\nconst HEADERS = ['1', '2', '3', false];\\nconst SIZES = ['small', false, 'large', 'huge'];\\n\\nclass BaseTheme extends _core_theme__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n constructor(quill, options) {\\n super(quill, options);\\n\\n const listener = e => {\\n if (!document.body.contains(quill.root)) {\\n document.body.removeEventListener('click', listener);\\n return;\\n }\\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\\n if (this.pickers != null) {\\n this.pickers.forEach(picker => {\\n if (!picker.container.contains(e.target)) {\\n picker.close();\\n }\\n });\\n }\\n };\\n\\n quill.emitter.listenDOM('click', document.body, listener);\\n }\\n\\n addModule(name) {\\n const module = super.addModule(name);\\n\\n if (name === 'toolbar') {\\n this.extendToolbar(module);\\n }\\n\\n return module;\\n }\\n\\n buildButtons(buttons, icons) {\\n Array.from(buttons).forEach(button => {\\n const className = button.getAttribute('class') || '';\\n className.split(/\\\\s+/).forEach(name => {\\n if (!name.startsWith('ql-')) return;\\n name = name.slice('ql-'.length);\\n if (icons[name] == null) return;\\n\\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 const value = button.value || '';\\n\\n if (value != null && icons[name][value]) {\\n button.innerHTML = icons[name][value];\\n }\\n }\\n });\\n });\\n }\\n\\n buildPickers(selects, icons) {\\n this.pickers = Array.from(selects).map(select => {\\n if (select.classList.contains('ql-align')) {\\n if (select.querySelector('option') == null) {\\n fillSelect(select, ALIGNS);\\n }\\n\\n return new _ui_icon_picker__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"](select, icons.align);\\n }\\n\\n if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\\n const format = select.classList.contains('ql-background') ? 'background' : 'color';\\n\\n if (select.querySelector('option') == null) {\\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\\n }\\n\\n return new _ui_color_picker__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"](select, icons[format]);\\n }\\n\\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\\n return new _ui_picker__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"](select);\\n });\\n\\n const update = () => {\\n this.pickers.forEach(picker => {\\n picker.update();\\n });\\n };\\n\\n this.quill.on(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.EDITOR_CHANGE, update);\\n }\\n\\n}\\n\\nBaseTheme.DEFAULTS = extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, _core_theme__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].DEFAULTS, {\\n modules: {\\n toolbar: {\\n handlers: {\\n formula() {\\n this.quill.theme.tooltip.edit('formula');\\n },\\n\\n image() {\\n let fileInput = this.container.querySelector('input.ql-image[type=file]');\\n\\n if (fileInput == null) {\\n fileInput = document.createElement('input');\\n fileInput.setAttribute('type', 'file');\\n fileInput.setAttribute('accept', this.quill.uploader.options.mimetypes.join(', '));\\n fileInput.classList.add('ql-image');\\n fileInput.addEventListener('change', () => {\\n const range = this.quill.getSelection(true);\\n this.quill.uploader.upload(range, fileInput.files);\\n fileInput.value = '';\\n });\\n this.container.appendChild(fileInput);\\n }\\n\\n fileInput.click();\\n },\\n\\n video() {\\n this.quill.theme.tooltip.edit('video');\\n }\\n\\n }\\n }\\n }\\n});\\n\\nclass BaseTooltip extends _ui_tooltip__WEBPACK_IMPORTED_MODULE_6__[\\\"default\\\"] {\\n constructor(quill, boundsContainer) {\\n super(quill, boundsContainer);\\n this.textbox = this.root.querySelector('input[type=\\\"text\\\"]');\\n this.listen();\\n }\\n\\n listen() {\\n this.textbox.addEventListener('keydown', event => {\\n if (event.key === 'Enter') {\\n this.save();\\n event.preventDefault();\\n } else if (event.key === 'Escape') {\\n this.cancel();\\n event.preventDefault();\\n }\\n });\\n }\\n\\n cancel() {\\n this.hide();\\n }\\n\\n edit(mode = 'link', preview = null) {\\n this.root.classList.remove('ql-hidden');\\n this.root.classList.add('ql-editing');\\n\\n if (preview != null) {\\n this.textbox.value = preview;\\n } else if (mode !== this.root.getAttribute('data-mode')) {\\n this.textbox.value = '';\\n }\\n\\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\\n this.textbox.select();\\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute(\\\"data-\\\".concat(mode)) || '');\\n this.root.setAttribute('data-mode', mode);\\n }\\n\\n restoreFocus() {\\n const {\\n scrollTop\\n } = this.quill.scrollingContainer;\\n this.quill.focus();\\n this.quill.scrollingContainer.scrollTop = scrollTop;\\n }\\n\\n save() {\\n let {\\n value\\n } = this.textbox;\\n\\n switch (this.root.getAttribute('data-mode')) {\\n case 'link':\\n {\\n const {\\n scrollTop\\n } = this.quill.root;\\n\\n if (this.linkRange) {\\n this.quill.formatText(this.linkRange, 'link', value, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n delete this.linkRange;\\n } else {\\n this.restoreFocus();\\n this.quill.format('link', value, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n }\\n\\n this.quill.root.scrollTop = scrollTop;\\n break;\\n }\\n\\n case 'video':\\n {\\n value = extractVideoUrl(value);\\n }\\n // eslint-disable-next-line no-fallthrough\\n\\n case 'formula':\\n {\\n if (!value) break;\\n const range = this.quill.getSelection(true);\\n\\n if (range != null) {\\n const index = range.index + range.length;\\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n\\n if (this.root.getAttribute('data-mode') === 'formula') {\\n this.quill.insertText(index + 1, ' ', _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n }\\n\\n this.quill.setSelection(index + 2, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n }\\n\\n break;\\n }\\n\\n default:\\n }\\n\\n this.textbox.value = '';\\n this.hide();\\n }\\n\\n}\\n\\nfunction extractVideoUrl(url) {\\n let 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\\n if (match) {\\n return \\\"\\\".concat(match[1] || 'https', \\\"://www.youtube.com/embed/\\\").concat(match[2], \\\"?showinfo=0\\\");\\n } // eslint-disable-next-line no-cond-assign\\n\\n\\n if (match = url.match(/^(?:(https?):\\\\/\\\\/)?(?:www\\\\.)?vimeo\\\\.com\\\\/(\\\\d+)/)) {\\n return \\\"\\\".concat(match[1] || 'https', \\\"://player.vimeo.com/video/\\\").concat(match[2], \\\"/\\\");\\n }\\n\\n return url;\\n}\\n\\nfunction fillSelect(select, values, defaultValue = false) {\\n values.forEach(value => {\\n const option = document.createElement('option');\\n\\n if (value === defaultValue) {\\n option.setAttribute('selected', 'selected');\\n } else {\\n option.setAttribute('value', value);\\n }\\n\\n select.appendChild(option);\\n });\\n}\\n\\n\\n\\n//# sourceURL=webpack://Quill/./themes/base.js?\");\n\n/***/ }),\n\n/***/ \"./themes/bubble.js\":\n/*!**************************!*\\\n !*** ./themes/bubble.js ***!\n \\**************************/\n/*! exports provided: BubbleTooltip, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"BubbleTooltip\\\", function() { return BubbleTooltip; });\\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \\\"default\\\", function() { return BubbleTheme; });\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base */ \\\"./themes/base.js\\\");\\n/* harmony import */ var _core_selection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../core/selection */ \\\"./core/selection.js\\\");\\n/* harmony import */ var _ui_icons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../ui/icons */ \\\"./ui/icons.js\\\");\\n\\n\\n\\n\\n\\nconst TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{\\n header: 1\\n}, {\\n header: 2\\n}, 'blockquote']];\\n\\nclass BubbleTooltip extends _base__WEBPACK_IMPORTED_MODULE_2__[\\\"BaseTooltip\\\"] {\\n constructor(quill, bounds) {\\n super(quill, bounds);\\n this.quill.on(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.EDITOR_CHANGE, (type, range, oldRange, source) => {\\n if (type !== _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SELECTION_CHANGE) return;\\n\\n if (range != null && range.length > 0 && source === _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER) {\\n this.show(); // Lock our width so we will expand beyond our offsetParent boundaries\\n\\n this.root.style.left = '0px';\\n this.root.style.width = '';\\n this.root.style.width = \\\"\\\".concat(this.root.offsetWidth, \\\"px\\\");\\n const lines = this.quill.getLines(range.index, range.length);\\n\\n if (lines.length === 1) {\\n this.position(this.quill.getBounds(range));\\n } else {\\n const lastLine = lines[lines.length - 1];\\n const index = this.quill.getIndex(lastLine);\\n const length = Math.min(lastLine.length() - 1, range.index + range.length - index);\\n const indexBounds = this.quill.getBounds(new _core_selection__WEBPACK_IMPORTED_MODULE_3__[\\\"Range\\\"](index, length));\\n this.position(indexBounds);\\n }\\n } else if (document.activeElement !== this.textbox && this.quill.hasFocus()) {\\n this.hide();\\n }\\n });\\n }\\n\\n listen() {\\n super.listen();\\n this.root.querySelector('.ql-close').addEventListener('click', () => {\\n this.root.classList.remove('ql-editing');\\n });\\n this.quill.on(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SCROLL_OPTIMIZE, () => {\\n // Let selection be restored by toolbar handlers before repositioning\\n setTimeout(() => {\\n if (this.root.classList.contains('ql-hidden')) return;\\n const range = this.quill.getSelection();\\n\\n if (range != null) {\\n this.position(this.quill.getBounds(range));\\n }\\n }, 1);\\n });\\n }\\n\\n cancel() {\\n this.show();\\n }\\n\\n position(reference) {\\n const shift = super.position(reference);\\n const arrow = this.root.querySelector('.ql-tooltip-arrow');\\n arrow.style.marginLeft = '';\\n\\n if (shift !== 0) {\\n arrow.style.marginLeft = \\\"\\\".concat(-1 * shift - arrow.offsetWidth / 2, \\\"px\\\");\\n }\\n\\n return shift;\\n }\\n\\n}\\n\\nBubbleTooltip.TEMPLATE = ['', '
    ', '', '', '
    '].join('');\\n\\nclass BubbleTheme extends _base__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n constructor(quill, options) {\\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\\n options.modules.toolbar.container = TOOLBAR_CONFIG;\\n }\\n\\n super(quill, options);\\n this.quill.container.classList.add('ql-bubble');\\n }\\n\\n extendToolbar(toolbar) {\\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\\n this.tooltip.root.appendChild(toolbar.container);\\n this.buildButtons(toolbar.container.querySelectorAll('button'), _ui_icons__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"]);\\n this.buildPickers(toolbar.container.querySelectorAll('select'), _ui_icons__WEBPACK_IMPORTED_MODULE_4__[\\\"default\\\"]);\\n }\\n\\n}\\n\\nBubbleTheme.DEFAULTS = extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, _base__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].DEFAULTS, {\\n modules: {\\n toolbar: {\\n handlers: {\\n 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});\\n\\n\\n//# sourceURL=webpack://Quill/./themes/bubble.js?\");\n\n/***/ }),\n\n/***/ \"./themes/snow.js\":\n/*!************************!*\\\n !*** ./themes/snow.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! extend */ \\\"./node_modules/extend/index.js\\\");\\n/* harmony import */ var extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(extend__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _core_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core/emitter */ \\\"./core/emitter.js\\\");\\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base */ \\\"./themes/base.js\\\");\\n/* harmony import */ var _formats_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../formats/link */ \\\"./formats/link.js\\\");\\n/* harmony import */ var _core_selection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/selection */ \\\"./core/selection.js\\\");\\n/* harmony import */ var _ui_icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ui/icons */ \\\"./ui/icons.js\\\");\\n\\n\\n\\n\\n\\n\\nconst TOOLBAR_CONFIG = [[{\\n header: ['1', '2', '3', false]\\n}], ['bold', 'italic', 'underline', 'link'], [{\\n list: 'ordered'\\n}, {\\n list: 'bullet'\\n}], ['clean']];\\n\\nclass SnowTooltip extends _base__WEBPACK_IMPORTED_MODULE_2__[\\\"BaseTooltip\\\"] {\\n constructor(quill, bounds) {\\n super(quill, bounds);\\n this.preview = this.root.querySelector('a.ql-preview');\\n }\\n\\n listen() {\\n super.listen();\\n this.root.querySelector('a.ql-action').addEventListener('click', event => {\\n if (this.root.classList.contains('ql-editing')) {\\n this.save();\\n } else {\\n this.edit('link', this.preview.textContent);\\n }\\n\\n event.preventDefault();\\n });\\n this.root.querySelector('a.ql-remove').addEventListener('click', event => {\\n if (this.linkRange != null) {\\n const range = this.linkRange;\\n this.restoreFocus();\\n this.quill.formatText(range, 'link', false, _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER);\\n delete this.linkRange;\\n }\\n\\n event.preventDefault();\\n this.hide();\\n });\\n this.quill.on(_core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].events.SELECTION_CHANGE, (range, oldRange, source) => {\\n if (range == null) return;\\n\\n if (range.length === 0 && source === _core_emitter__WEBPACK_IMPORTED_MODULE_1__[\\\"default\\\"].sources.USER) {\\n const [link, offset] = this.quill.scroll.descendant(_formats_link__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"], range.index);\\n\\n if (link != null) {\\n this.linkRange = new _core_selection__WEBPACK_IMPORTED_MODULE_4__[\\\"Range\\\"](range.index - offset, link.length());\\n const preview = _formats_link__WEBPACK_IMPORTED_MODULE_3__[\\\"default\\\"].formats(link.domNode);\\n this.preview.textContent = preview;\\n this.preview.setAttribute('href', preview);\\n this.show();\\n this.position(this.quill.getBounds(this.linkRange));\\n return;\\n }\\n } else {\\n delete this.linkRange;\\n }\\n\\n this.hide();\\n });\\n }\\n\\n show() {\\n super.show();\\n this.root.removeAttribute('data-mode');\\n }\\n\\n}\\n\\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\\n\\nclass SnowTheme extends _base__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"] {\\n constructor(quill, options) {\\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\\n options.modules.toolbar.container = TOOLBAR_CONFIG;\\n }\\n\\n super(quill, options);\\n this.quill.container.classList.add('ql-snow');\\n }\\n\\n extendToolbar(toolbar) {\\n toolbar.container.classList.add('ql-snow');\\n this.buildButtons(toolbar.container.querySelectorAll('button'), _ui_icons__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"]);\\n this.buildPickers(toolbar.container.querySelectorAll('select'), _ui_icons__WEBPACK_IMPORTED_MODULE_5__[\\\"default\\\"]);\\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\\n\\n if (toolbar.container.querySelector('.ql-link')) {\\n this.quill.keyboard.addBinding({\\n key: 'k',\\n shortKey: true\\n }, (range, context) => {\\n toolbar.handlers.link.call(toolbar, !context.format.link);\\n });\\n }\\n }\\n\\n}\\n\\nSnowTheme.DEFAULTS = extend__WEBPACK_IMPORTED_MODULE_0___default()(true, {}, _base__WEBPACK_IMPORTED_MODULE_2__[\\\"default\\\"].DEFAULTS, {\\n modules: {\\n toolbar: {\\n handlers: {\\n link(value) {\\n if (value) {\\n const range = this.quill.getSelection();\\n if (range == null || range.length === 0) return;\\n let preview = this.quill.getText(range);\\n\\n if (/^\\\\S+@\\\\S+\\\\.\\\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\\n preview = \\\"mailto:\\\".concat(preview);\\n }\\n\\n const {\\n tooltip\\n } = this.quill.theme;\\n tooltip.edit('link', preview);\\n } else {\\n this.quill.format('link', false);\\n }\\n }\\n\\n }\\n }\\n }\\n});\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (SnowTheme);\\n\\n//# sourceURL=webpack://Quill/./themes/snow.js?\");\n\n/***/ }),\n\n/***/ \"./ui/color-picker.js\":\n/*!****************************!*\\\n !*** ./ui/color-picker.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _picker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./picker */ \\\"./ui/picker.js\\\");\\n\\n\\nclass ColorPicker extends _picker__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n constructor(select, label) {\\n super(select);\\n this.label.innerHTML = label;\\n this.container.classList.add('ql-color-picker');\\n Array.from(this.container.querySelectorAll('.ql-picker-item')).slice(0, 7).forEach(item => {\\n item.classList.add('ql-primary');\\n });\\n }\\n\\n buildItem(option) {\\n const item = super.buildItem(option);\\n item.style.backgroundColor = option.getAttribute('value') || '';\\n return item;\\n }\\n\\n selectItem(item, trigger) {\\n super.selectItem(item, trigger);\\n const colorLabel = this.label.querySelector('.ql-color-label');\\n const value = item ? item.getAttribute('data-value') || '' : '';\\n\\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\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (ColorPicker);\\n\\n//# sourceURL=webpack://Quill/./ui/color-picker.js?\");\n\n/***/ }),\n\n/***/ \"./ui/icon-picker.js\":\n/*!***************************!*\\\n !*** ./ui/icon-picker.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _picker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./picker */ \\\"./ui/picker.js\\\");\\n\\n\\nclass IconPicker extends _picker__WEBPACK_IMPORTED_MODULE_0__[\\\"default\\\"] {\\n constructor(select, icons) {\\n super(select);\\n this.container.classList.add('ql-icon-picker');\\n Array.from(this.container.querySelectorAll('.ql-picker-item')).forEach(item => {\\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\\n });\\n this.defaultItem = this.container.querySelector('.ql-selected');\\n this.selectItem(this.defaultItem);\\n }\\n\\n selectItem(target, trigger) {\\n super.selectItem(target, trigger);\\n const item = target || this.defaultItem;\\n if (this.label.innerHTML === item.innerHTML) return;\\n this.label.innerHTML = item.innerHTML;\\n }\\n\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (IconPicker);\\n\\n//# sourceURL=webpack://Quill/./ui/icon-picker.js?\");\n\n/***/ }),\n\n/***/ \"./ui/icons.js\":\n/*!*********************!*\\\n !*** ./ui/icons.js ***!\n \\*********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _assets_icons_align_left_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assets/icons/align-left.svg */ \\\"./assets/icons/align-left.svg\\\");\\n/* harmony import */ var _assets_icons_align_left_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_align_left_svg__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var _assets_icons_align_center_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../assets/icons/align-center.svg */ \\\"./assets/icons/align-center.svg\\\");\\n/* harmony import */ var _assets_icons_align_center_svg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_align_center_svg__WEBPACK_IMPORTED_MODULE_1__);\\n/* harmony import */ var _assets_icons_align_right_svg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../assets/icons/align-right.svg */ \\\"./assets/icons/align-right.svg\\\");\\n/* harmony import */ var _assets_icons_align_right_svg__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_align_right_svg__WEBPACK_IMPORTED_MODULE_2__);\\n/* harmony import */ var _assets_icons_align_justify_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../assets/icons/align-justify.svg */ \\\"./assets/icons/align-justify.svg\\\");\\n/* harmony import */ var _assets_icons_align_justify_svg__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_align_justify_svg__WEBPACK_IMPORTED_MODULE_3__);\\n/* harmony import */ var _assets_icons_background_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../assets/icons/background.svg */ \\\"./assets/icons/background.svg\\\");\\n/* harmony import */ var _assets_icons_background_svg__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_background_svg__WEBPACK_IMPORTED_MODULE_4__);\\n/* harmony import */ var _assets_icons_blockquote_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../assets/icons/blockquote.svg */ \\\"./assets/icons/blockquote.svg\\\");\\n/* harmony import */ var _assets_icons_blockquote_svg__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_blockquote_svg__WEBPACK_IMPORTED_MODULE_5__);\\n/* harmony import */ var _assets_icons_bold_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../assets/icons/bold.svg */ \\\"./assets/icons/bold.svg\\\");\\n/* harmony import */ var _assets_icons_bold_svg__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_bold_svg__WEBPACK_IMPORTED_MODULE_6__);\\n/* harmony import */ var _assets_icons_clean_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../assets/icons/clean.svg */ \\\"./assets/icons/clean.svg\\\");\\n/* harmony import */ var _assets_icons_clean_svg__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_clean_svg__WEBPACK_IMPORTED_MODULE_7__);\\n/* harmony import */ var _assets_icons_code_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../assets/icons/code.svg */ \\\"./assets/icons/code.svg\\\");\\n/* harmony import */ var _assets_icons_code_svg__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_code_svg__WEBPACK_IMPORTED_MODULE_8__);\\n/* harmony import */ var _assets_icons_color_svg__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../assets/icons/color.svg */ \\\"./assets/icons/color.svg\\\");\\n/* harmony import */ var _assets_icons_color_svg__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_color_svg__WEBPACK_IMPORTED_MODULE_9__);\\n/* harmony import */ var _assets_icons_direction_ltr_svg__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../assets/icons/direction-ltr.svg */ \\\"./assets/icons/direction-ltr.svg\\\");\\n/* harmony import */ var _assets_icons_direction_ltr_svg__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_direction_ltr_svg__WEBPACK_IMPORTED_MODULE_10__);\\n/* harmony import */ var _assets_icons_direction_rtl_svg__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../assets/icons/direction-rtl.svg */ \\\"./assets/icons/direction-rtl.svg\\\");\\n/* harmony import */ var _assets_icons_direction_rtl_svg__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_direction_rtl_svg__WEBPACK_IMPORTED_MODULE_11__);\\n/* harmony import */ var _assets_icons_formula_svg__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../assets/icons/formula.svg */ \\\"./assets/icons/formula.svg\\\");\\n/* harmony import */ var _assets_icons_formula_svg__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_formula_svg__WEBPACK_IMPORTED_MODULE_12__);\\n/* harmony import */ var _assets_icons_header_svg__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../assets/icons/header.svg */ \\\"./assets/icons/header.svg\\\");\\n/* harmony import */ var _assets_icons_header_svg__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_header_svg__WEBPACK_IMPORTED_MODULE_13__);\\n/* harmony import */ var _assets_icons_header_2_svg__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../assets/icons/header-2.svg */ \\\"./assets/icons/header-2.svg\\\");\\n/* harmony import */ var _assets_icons_header_2_svg__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_header_2_svg__WEBPACK_IMPORTED_MODULE_14__);\\n/* harmony import */ var _assets_icons_italic_svg__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../assets/icons/italic.svg */ \\\"./assets/icons/italic.svg\\\");\\n/* harmony import */ var _assets_icons_italic_svg__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_italic_svg__WEBPACK_IMPORTED_MODULE_15__);\\n/* harmony import */ var _assets_icons_image_svg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../assets/icons/image.svg */ \\\"./assets/icons/image.svg\\\");\\n/* harmony import */ var _assets_icons_image_svg__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_image_svg__WEBPACK_IMPORTED_MODULE_16__);\\n/* harmony import */ var _assets_icons_indent_svg__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../assets/icons/indent.svg */ \\\"./assets/icons/indent.svg\\\");\\n/* harmony import */ var _assets_icons_indent_svg__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_indent_svg__WEBPACK_IMPORTED_MODULE_17__);\\n/* harmony import */ var _assets_icons_outdent_svg__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../assets/icons/outdent.svg */ \\\"./assets/icons/outdent.svg\\\");\\n/* harmony import */ var _assets_icons_outdent_svg__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_outdent_svg__WEBPACK_IMPORTED_MODULE_18__);\\n/* harmony import */ var _assets_icons_link_svg__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../assets/icons/link.svg */ \\\"./assets/icons/link.svg\\\");\\n/* harmony import */ var _assets_icons_link_svg__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_link_svg__WEBPACK_IMPORTED_MODULE_19__);\\n/* harmony import */ var _assets_icons_list_bullet_svg__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../assets/icons/list-bullet.svg */ \\\"./assets/icons/list-bullet.svg\\\");\\n/* harmony import */ var _assets_icons_list_bullet_svg__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_list_bullet_svg__WEBPACK_IMPORTED_MODULE_20__);\\n/* harmony import */ var _assets_icons_list_check_svg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../assets/icons/list-check.svg */ \\\"./assets/icons/list-check.svg\\\");\\n/* harmony import */ var _assets_icons_list_check_svg__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_list_check_svg__WEBPACK_IMPORTED_MODULE_21__);\\n/* harmony import */ var _assets_icons_list_ordered_svg__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../assets/icons/list-ordered.svg */ \\\"./assets/icons/list-ordered.svg\\\");\\n/* harmony import */ var _assets_icons_list_ordered_svg__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_list_ordered_svg__WEBPACK_IMPORTED_MODULE_22__);\\n/* harmony import */ var _assets_icons_subscript_svg__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../assets/icons/subscript.svg */ \\\"./assets/icons/subscript.svg\\\");\\n/* harmony import */ var _assets_icons_subscript_svg__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_subscript_svg__WEBPACK_IMPORTED_MODULE_23__);\\n/* harmony import */ var _assets_icons_superscript_svg__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../assets/icons/superscript.svg */ \\\"./assets/icons/superscript.svg\\\");\\n/* harmony import */ var _assets_icons_superscript_svg__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_superscript_svg__WEBPACK_IMPORTED_MODULE_24__);\\n/* harmony import */ var _assets_icons_strike_svg__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../assets/icons/strike.svg */ \\\"./assets/icons/strike.svg\\\");\\n/* harmony import */ var _assets_icons_strike_svg__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_strike_svg__WEBPACK_IMPORTED_MODULE_25__);\\n/* harmony import */ var _assets_icons_table_svg__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../assets/icons/table.svg */ \\\"./assets/icons/table.svg\\\");\\n/* harmony import */ var _assets_icons_table_svg__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_table_svg__WEBPACK_IMPORTED_MODULE_26__);\\n/* harmony import */ var _assets_icons_underline_svg__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../assets/icons/underline.svg */ \\\"./assets/icons/underline.svg\\\");\\n/* harmony import */ var _assets_icons_underline_svg__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_underline_svg__WEBPACK_IMPORTED_MODULE_27__);\\n/* harmony import */ var _assets_icons_video_svg__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../assets/icons/video.svg */ \\\"./assets/icons/video.svg\\\");\\n/* harmony import */ var _assets_icons_video_svg__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_video_svg__WEBPACK_IMPORTED_MODULE_28__);\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = ({\\n align: {\\n '': _assets_icons_align_left_svg__WEBPACK_IMPORTED_MODULE_0___default.a,\\n center: _assets_icons_align_center_svg__WEBPACK_IMPORTED_MODULE_1___default.a,\\n right: _assets_icons_align_right_svg__WEBPACK_IMPORTED_MODULE_2___default.a,\\n justify: _assets_icons_align_justify_svg__WEBPACK_IMPORTED_MODULE_3___default.a\\n },\\n background: _assets_icons_background_svg__WEBPACK_IMPORTED_MODULE_4___default.a,\\n blockquote: _assets_icons_blockquote_svg__WEBPACK_IMPORTED_MODULE_5___default.a,\\n bold: _assets_icons_bold_svg__WEBPACK_IMPORTED_MODULE_6___default.a,\\n clean: _assets_icons_clean_svg__WEBPACK_IMPORTED_MODULE_7___default.a,\\n code: _assets_icons_code_svg__WEBPACK_IMPORTED_MODULE_8___default.a,\\n 'code-block': _assets_icons_code_svg__WEBPACK_IMPORTED_MODULE_8___default.a,\\n color: _assets_icons_color_svg__WEBPACK_IMPORTED_MODULE_9___default.a,\\n direction: {\\n '': _assets_icons_direction_ltr_svg__WEBPACK_IMPORTED_MODULE_10___default.a,\\n rtl: _assets_icons_direction_rtl_svg__WEBPACK_IMPORTED_MODULE_11___default.a\\n },\\n formula: _assets_icons_formula_svg__WEBPACK_IMPORTED_MODULE_12___default.a,\\n header: {\\n '1': _assets_icons_header_svg__WEBPACK_IMPORTED_MODULE_13___default.a,\\n '2': _assets_icons_header_2_svg__WEBPACK_IMPORTED_MODULE_14___default.a\\n },\\n italic: _assets_icons_italic_svg__WEBPACK_IMPORTED_MODULE_15___default.a,\\n image: _assets_icons_image_svg__WEBPACK_IMPORTED_MODULE_16___default.a,\\n indent: {\\n '+1': _assets_icons_indent_svg__WEBPACK_IMPORTED_MODULE_17___default.a,\\n '-1': _assets_icons_outdent_svg__WEBPACK_IMPORTED_MODULE_18___default.a\\n },\\n link: _assets_icons_link_svg__WEBPACK_IMPORTED_MODULE_19___default.a,\\n list: {\\n bullet: _assets_icons_list_bullet_svg__WEBPACK_IMPORTED_MODULE_20___default.a,\\n check: _assets_icons_list_check_svg__WEBPACK_IMPORTED_MODULE_21___default.a,\\n ordered: _assets_icons_list_ordered_svg__WEBPACK_IMPORTED_MODULE_22___default.a\\n },\\n script: {\\n sub: _assets_icons_subscript_svg__WEBPACK_IMPORTED_MODULE_23___default.a,\\n super: _assets_icons_superscript_svg__WEBPACK_IMPORTED_MODULE_24___default.a\\n },\\n strike: _assets_icons_strike_svg__WEBPACK_IMPORTED_MODULE_25___default.a,\\n table: _assets_icons_table_svg__WEBPACK_IMPORTED_MODULE_26___default.a,\\n underline: _assets_icons_underline_svg__WEBPACK_IMPORTED_MODULE_27___default.a,\\n video: _assets_icons_video_svg__WEBPACK_IMPORTED_MODULE_28___default.a\\n});\\n\\n//# sourceURL=webpack://Quill/./ui/icons.js?\");\n\n/***/ }),\n\n/***/ \"./ui/picker.js\":\n/*!**********************!*\\\n !*** ./ui/picker.js ***!\n \\**********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var _assets_icons_dropdown_svg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../assets/icons/dropdown.svg */ \\\"./assets/icons/dropdown.svg\\\");\\n/* harmony import */ var _assets_icons_dropdown_svg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_assets_icons_dropdown_svg__WEBPACK_IMPORTED_MODULE_0__);\\n\\nlet optionsCounter = 0;\\n\\nfunction toggleAriaAttribute(element, attribute) {\\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\\n}\\n\\nclass Picker {\\n constructor(select) {\\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 this.label.addEventListener('mousedown', () => {\\n this.togglePicker();\\n });\\n this.label.addEventListener('keydown', event => {\\n switch (event.key) {\\n case 'Enter':\\n this.togglePicker();\\n break;\\n\\n case 'Escape':\\n this.escape();\\n event.preventDefault();\\n break;\\n\\n default:\\n }\\n });\\n this.select.addEventListener('change', this.update.bind(this));\\n }\\n\\n togglePicker() {\\n this.container.classList.toggle('ql-expanded'); // Toggle aria-expanded and aria-hidden to make the picker accessible\\n\\n toggleAriaAttribute(this.label, 'aria-expanded');\\n toggleAriaAttribute(this.options, 'aria-hidden');\\n }\\n\\n buildItem(option) {\\n const item = document.createElement('span');\\n item.tabIndex = '0';\\n item.setAttribute('role', 'button');\\n item.classList.add('ql-picker-item');\\n\\n if (option.hasAttribute('value')) {\\n item.setAttribute('data-value', option.getAttribute('value'));\\n }\\n\\n if (option.textContent) {\\n item.setAttribute('data-label', option.textContent);\\n }\\n\\n item.addEventListener('click', () => {\\n this.selectItem(item, true);\\n });\\n item.addEventListener('keydown', event => {\\n switch (event.key) {\\n case 'Enter':\\n this.selectItem(item, true);\\n event.preventDefault();\\n break;\\n\\n case 'Escape':\\n this.escape();\\n event.preventDefault();\\n break;\\n\\n default:\\n }\\n });\\n return item;\\n }\\n\\n buildLabel() {\\n const label = document.createElement('span');\\n label.classList.add('ql-picker-label');\\n label.innerHTML = _assets_icons_dropdown_svg__WEBPACK_IMPORTED_MODULE_0___default.a;\\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 buildOptions() {\\n const options = document.createElement('span');\\n options.classList.add('ql-picker-options'); // Don't want screen readers to read this until options are visible\\n\\n options.setAttribute('aria-hidden', 'true');\\n options.tabIndex = '-1'; // Need a unique id for aria-controls\\n\\n options.id = \\\"ql-picker-options-\\\".concat(optionsCounter);\\n optionsCounter += 1;\\n this.label.setAttribute('aria-controls', options.id);\\n this.options = options;\\n Array.from(this.select.options).forEach(option => {\\n const item = this.buildItem(option);\\n options.appendChild(item);\\n\\n if (option.selected === true) {\\n this.selectItem(item);\\n }\\n });\\n this.container.appendChild(options);\\n }\\n\\n buildPicker() {\\n Array.from(this.select.attributes).forEach(item => {\\n this.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 escape() {\\n // Close menu and return focus to trigger label\\n this.close(); // Need setTimeout for accessibility to ensure that the browser executes\\n // focus on the next process thread and after any DOM content changes\\n\\n setTimeout(() => this.label.focus(), 1);\\n }\\n\\n 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 selectItem(item, trigger = false) {\\n const selected = this.container.querySelector('.ql-selected');\\n if (item === selected) return;\\n\\n if (selected != null) {\\n selected.classList.remove('ql-selected');\\n }\\n\\n if (item == null) return;\\n item.classList.add('ql-selected');\\n this.select.selectedIndex = Array.from(item.parentNode.children).indexOf(item);\\n\\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\\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\\n if (trigger) {\\n this.select.dispatchEvent(new Event('change'));\\n this.close();\\n }\\n }\\n\\n update() {\\n let option;\\n\\n if (this.select.selectedIndex > -1) {\\n const 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\\n const isActive = option != null && option !== this.select.querySelector('option[selected]');\\n this.label.classList.toggle('ql-active', isActive);\\n }\\n\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Picker);\\n\\n//# sourceURL=webpack://Quill/./ui/picker.js?\");\n\n/***/ }),\n\n/***/ \"./ui/tooltip.js\":\n/*!***********************!*\\\n !*** ./ui/tooltip.js ***!\n \\***********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\nclass Tooltip {\\n constructor(quill, boundsContainer) {\\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\\n if (this.quill.root === this.quill.scrollingContainer) {\\n this.quill.root.addEventListener('scroll', () => {\\n this.root.style.marginTop = \\\"\\\".concat(-1 * this.quill.root.scrollTop, \\\"px\\\");\\n });\\n }\\n\\n this.hide();\\n }\\n\\n hide() {\\n this.root.classList.add('ql-hidden');\\n }\\n\\n position(reference) {\\n const left = reference.left + reference.width / 2 - this.root.offsetWidth / 2; // root.scrollTop should be 0 if scrollContainer !== root\\n\\n const top = reference.bottom + this.quill.root.scrollTop;\\n this.root.style.left = \\\"\\\".concat(left, \\\"px\\\");\\n this.root.style.top = \\\"\\\".concat(top, \\\"px\\\");\\n this.root.classList.remove('ql-flip');\\n const containerBounds = this.boundsContainer.getBoundingClientRect();\\n const rootBounds = this.root.getBoundingClientRect();\\n let shift = 0;\\n\\n if (rootBounds.right > containerBounds.right) {\\n shift = containerBounds.right - rootBounds.right;\\n this.root.style.left = \\\"\\\".concat(left + shift, \\\"px\\\");\\n }\\n\\n if (rootBounds.left < containerBounds.left) {\\n shift = containerBounds.left - rootBounds.left;\\n this.root.style.left = \\\"\\\".concat(left + shift, \\\"px\\\");\\n }\\n\\n if (rootBounds.bottom > containerBounds.bottom) {\\n const height = rootBounds.bottom - rootBounds.top;\\n const verticalShift = reference.bottom - reference.top + height;\\n this.root.style.top = \\\"\\\".concat(top - verticalShift, \\\"px\\\");\\n this.root.classList.add('ql-flip');\\n }\\n\\n return shift;\\n }\\n\\n show() {\\n this.root.classList.remove('ql-editing');\\n this.root.classList.remove('ql-hidden');\\n }\\n\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Tooltip);\\n\\n//# sourceURL=webpack://Quill/./ui/tooltip.js?\");\n\n/***/ }),\n\n/***/ 0:\n/*!************************!*\\\n !*** multi ./quill.js ***!\n \\************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"module.exports = __webpack_require__(/*! ./quill.js */\\\"./quill.js\\\");\\n\\n\\n//# sourceURL=webpack://Quill/multi_./quill.js?\");\n\n/***/ }),\n\n/***/ 1:\n/*!********************************!*\\\n !*** ./util.inspect (ignored) ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"/* (ignored) */\\n\\n//# sourceURL=webpack://Quill/./util.inspect_(ignored)?\");\n\n/***/ })\n\n/******/ })[\"default\"];\n});", "!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ImageResize=e():t.ImageResize=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=41)}([function(t,e){function n(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)}t.exports=n},function(t,e,n){var r=n(23),o=\"object\"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function(\"return this\")();t.exports=i},function(t,e){function n(t){return null!=t&&\"object\"==typeof t}t.exports=n},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1)return t.map(function(t){return l(t)});var n=t[0];if(\"string\"!=typeof n.blotName&&\"string\"!=typeof n.attrName)throw new s(\"Invalid definition\");if(\"abstract\"===n.blotName)throw new s(\"Cannot register abstract class\");if(h[n.blotName||n.attrName]=n,\"string\"==typeof n.keyName)u[n.keyName]=n;else if(null!=n.className&&(c[n.className]=n),null!=n.tagName){Array.isArray(n.tagName)?n.tagName=n.tagName.map(function(t){return t.toUpperCase()}):n.tagName=n.tagName.toUpperCase();var r=Array.isArray(n.tagName)?n.tagName:[n.tagName];r.forEach(function(t){null!=f[t]&&null!=n.className||(f[t]=n)})}return n}var a=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var s=function(t){function e(e){var n=this;return e=\"[Parchment] \"+e,n=t.call(this,e)||this,n.message=e,n.name=n.constructor.name,n}return a(e,t),e}(Error);e.ParchmentError=s;var u={},c={},f={},h={};e.DATA_KEY=\"__blot\";var p;!function(t){t[t.TYPE=3]=\"TYPE\",t[t.LEVEL=12]=\"LEVEL\",t[t.ATTRIBUTE=13]=\"ATTRIBUTE\",t[t.BLOT=14]=\"BLOT\",t[t.INLINE=7]=\"INLINE\",t[t.BLOCK=11]=\"BLOCK\",t[t.BLOCK_BLOT=10]=\"BLOCK_BLOT\",t[t.INLINE_BLOT=6]=\"INLINE_BLOT\",t[t.BLOCK_ATTRIBUTE=9]=\"BLOCK_ATTRIBUTE\",t[t.INLINE_ATTRIBUTE=5]=\"INLINE_ATTRIBUTE\",t[t.ANY=15]=\"ANY\"}(p=e.Scope||(e.Scope={})),e.create=r,e.find=o,e.query=i,e.register=l},function(t,e,n){var r=n(51),o=n(11),i=n(3),l=n(20),a=String.fromCharCode(0),s=function(t){Array.isArray(t)?this.ops=t:null!=t&&Array.isArray(t.ops)?this.ops=t.ops:this.ops=[]};s.prototype.insert=function(t,e){var n={};return 0===t.length?this:(n.insert=t,null!=e&&\"object\"==typeof e&&Object.keys(e).length>0&&(n.attributes=e),this.push(n))},s.prototype.delete=function(t){return t<=0?this:this.push({delete:t})},s.prototype.retain=function(t,e){if(t<=0)return this;var n={retain:t};return null!=e&&\"object\"==typeof e&&Object.keys(e).length>0&&(n.attributes=e),this.push(n)},s.prototype.push=function(t){var e=this.ops.length,n=this.ops[e-1];if(t=i(!0,{},t),\"object\"==typeof n){if(\"number\"==typeof t.delete&&\"number\"==typeof n.delete)return this.ops[e-1]={delete:n.delete+t.delete},this;if(\"number\"==typeof n.delete&&null!=t.insert&&(e-=1,\"object\"!=typeof(n=this.ops[e-1])))return this.ops.unshift(t),this;if(o(t.attributes,n.attributes)){if(\"string\"==typeof t.insert&&\"string\"==typeof n.insert)return this.ops[e-1]={insert:n.insert+t.insert},\"object\"==typeof t.attributes&&(this.ops[e-1].attributes=t.attributes),this;if(\"number\"==typeof t.retain&&\"number\"==typeof n.retain)return this.ops[e-1]={retain:n.retain+t.retain},\"object\"==typeof t.attributes&&(this.ops[e-1].attributes=t.attributes),this}}return e===this.ops.length?this.ops.push(t):this.ops.splice(e,0,t),this},s.prototype.chop=function(){var t=this.ops[this.ops.length-1];return t&&t.retain&&!t.attributes&&this.ops.pop(),this},s.prototype.filter=function(t){return this.ops.filter(t)},s.prototype.forEach=function(t){this.ops.forEach(t)},s.prototype.map=function(t){return this.ops.map(t)},s.prototype.partition=function(t){var e=[],n=[];return this.forEach(function(r){(t(r)?e:n).push(r)}),[e,n]},s.prototype.reduce=function(t,e){return this.ops.reduce(t,e)},s.prototype.changeLength=function(){return this.reduce(function(t,e){return e.insert?t+l.length(e):e.delete?t-e.delete:t},0)},s.prototype.length=function(){return this.reduce(function(t,e){return t+l.length(e)},0)},s.prototype.slice=function(t,e){t=t||0,\"number\"!=typeof e&&(e=1/0);for(var n=[],r=l.iterator(this.ops),o=0;o0&&(e.push(t.ops[0]),e.ops=e.ops.concat(t.ops.slice(1))),e},s.prototype.diff=function(t,e){if(this.ops===t.ops)return new s;var n=[this,t].map(function(e){return e.map(function(n){if(null!=n.insert)return\"string\"==typeof n.insert?n.insert:a;var r=e===t?\"on\":\"with\";throw new Error(\"diff() called \"+r+\" non-document\")}).join(\"\")}),i=new s,u=r(n[0],n[1],e),c=l.iterator(this.ops),f=l.iterator(t.ops);return u.forEach(function(t){for(var e=t[1].length;e>0;){var n=0;switch(t[0]){case r.INSERT:n=Math.min(f.peekLength(),e),i.push(f.next(n));break;case r.DELETE:n=Math.min(e,c.peekLength()),c.next(n),i.delete(n);break;case r.EQUAL:n=Math.min(c.peekLength(),f.peekLength(),e);var a=c.next(n),s=f.next(n);o(a.insert,s.insert)?i.retain(n,l.attributes.diff(a.attributes,s.attributes)):i.push(s).delete(n)}e-=n}}),i.chop()},s.prototype.eachLine=function(t,e){e=e||\"\\n\";for(var n=l.iterator(this.ops),r=new s,o=0;n.hasNext();){if(\"insert\"!==n.peekType())return;var i=n.peek(),a=l.length(i)-n.peekLength(),u=\"string\"==typeof i.insert?i.insert.indexOf(e,a)-a:-1;if(u<0)r.push(n.next());else if(u>0)r.push(n.next(u));else{if(!1===t(r,n.next(1).attributes||{},o))return;o+=1,r=new s}}r.length()>0&&t(r,{},o)},s.prototype.transform=function(t,e){if(e=!!e,\"number\"==typeof t)return this.transformPosition(t,e);for(var n=l.iterator(this.ops),r=l.iterator(t.ops),o=new s;n.hasNext()||r.hasNext();)if(\"insert\"!==n.peekType()||!e&&\"insert\"===r.peekType())if(\"insert\"===r.peekType())o.push(r.next());else{var i=Math.min(n.peekLength(),r.peekLength()),a=n.next(i),u=r.next(i);if(a.delete)continue;u.delete?o.push(u):o.retain(i,l.attributes.transform(a.attributes,u.attributes,e))}else o.retain(l.length(n.next()));return o.chop()},s.prototype.transformPosition=function(t,e){e=!!e;for(var n=l.iterator(this.ops),r=0;n.hasNext()&&r<=t;){var o=n.peekLength(),i=n.peekType();n.next(),\"delete\"!==i?(\"insert\"===i&&(r1&&void 0!==arguments[1]?arguments[1]:{};return null==t?e:(\"function\"==typeof t.formats&&(e=(0,f.default)(e,t.formats())),null==t.parent||\"scroll\"==t.parent.blotName||t.parent.statics.scope!==t.statics.scope?e:a(t.parent,e))}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=e.BlockEmbed=e.bubbleFormats=void 0;var s=function(){function t(t,e){for(var n=0;n0&&(t1&&void 0!==arguments[1]&&arguments[1];if(n&&(0===t||t>=this.length()-1)){var r=this.clone();return 0===t?(this.parent.insertBefore(r,this),this):(this.parent.insertBefore(r,this.next),r)}var o=u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"split\",this).call(this,t,n);return this.cache={},o}}]),e}(y.default.Block);x.blotName=\"block\",x.tagName=\"P\",x.defaultChild=\"break\",x.allowedChildren=[m.default,y.default.Embed,O.default],e.bubbleFormats=a,e.BlockEmbed=w,e.default=x},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function l(t,e){if(e=(0,A.default)(!0,{container:t,modules:{clipboard:!0,keyboard:!0,history:!0}},e),e.theme&&e.theme!==q.DEFAULTS.theme){if(e.theme=q.import(\"themes/\"+e.theme),null==e.theme)throw new Error(\"Invalid theme \"+e.theme+\". Did you register it?\")}else e.theme=S.default;var n=(0,A.default)(!0,{},e.theme.DEFAULTS);[n,e].forEach(function(t){t.modules=t.modules||{},Object.keys(t.modules).forEach(function(e){!0===t.modules[e]&&(t.modules[e]={})})});var r=Object.keys(n.modules).concat(Object.keys(e.modules)),o=r.reduce(function(t,e){var n=q.import(\"modules/\"+e);return null==n?P.error(\"Cannot load \"+e+\" module. Are you sure you registered it?\"):t[e]=n.DEFAULTS||{},t},{});return null!=e.modules&&e.modules.toolbar&&e.modules.toolbar.constructor!==Object&&(e.modules.toolbar={container:e.modules.toolbar}),e=(0,A.default)(!0,{},q.DEFAULTS,{modules:o},n,e),[\"bounds\",\"container\",\"scrollingContainer\"].forEach(function(t){\"string\"==typeof e[t]&&(e[t]=document.querySelector(e[t]))}),e.modules=Object.keys(e.modules).reduce(function(t,n){return e.modules[n]&&(t[n]=e.modules[n]),t},{}),e}function a(t,e,n,r){if(this.options.strict&&!this.isEnabled()&&e===g.default.sources.USER)return new d.default;var o=null==n?null:this.getSelection(),i=this.editor.delta,l=t();if(null!=o&&(!0===n&&(n=o.index),null==r?o=u(o,l,e):0!==r&&(o=u(o,n,r,e)),this.setSelection(o,g.default.sources.SILENT)),l.length()>0){var a,s=[g.default.events.TEXT_CHANGE,l,i,e];if((a=this.emitter).emit.apply(a,[g.default.events.EDITOR_CHANGE].concat(s)),e!==g.default.sources.SILENT){var c;(c=this.emitter).emit.apply(c,s)}}return l}function s(t,e,n,r,o){var i={};return\"number\"==typeof t.index&&\"number\"==typeof t.length?\"number\"!=typeof e?(o=r,r=n,n=e,e=t.length,t=t.index):(e=t.length,t=t.index):\"number\"!=typeof e&&(o=r,r=n,n=e,e=0),\"object\"===(void 0===n?\"undefined\":c(n))?(i=n,o=r):\"string\"==typeof n&&(null!=r?i[n]=r:o=n),o=o||g.default.sources.API,[t,e,i,o]}function u(t,e,n,r){if(null==t)return null;var o=void 0,i=void 0;if(e instanceof d.default){var l=[t.index,t.index+t.length].map(function(t){return e.transformPosition(t,r!==g.default.sources.USER)}),a=f(l,2);o=a[0],i=a[1]}else{var s=[t.index,t.index+t.length].map(function(t){return t=0?t+n:Math.max(e,t+n)}),u=f(s,2);o=u[0],i=u[1]}return new x.Range(o,i-o)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=e.overload=e.expandConfig=void 0;var c=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},f=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),h=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,t),this.options=l(e,r),this.container=this.options.container,null==this.container)return P.error(\"Invalid Quill container\",e);this.options.debug&&t.debug(this.options.debug);var o=this.container.innerHTML.trim();this.container.classList.add(\"ql-container\"),this.container.innerHTML=\"\",this.container.__quill=this,this.root=this.addContainer(\"ql-editor\"),this.root.classList.add(\"ql-blank\"),this.root.setAttribute(\"data-gramm\",!1),this.scrollingContainer=this.options.scrollingContainer||this.root,this.emitter=new g.default,this.scroll=w.default.create(this.root,{emitter:this.emitter,whitelist:this.options.formats}),this.editor=new v.default(this.scroll),this.selection=new E.default(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule(\"keyboard\"),this.clipboard=this.theme.addModule(\"clipboard\"),this.history=this.theme.addModule(\"history\"),this.theme.init(),this.emitter.on(g.default.events.EDITOR_CHANGE,function(t){t===g.default.events.TEXT_CHANGE&&n.root.classList.toggle(\"ql-blank\",n.editor.isBlank())}),this.emitter.on(g.default.events.SCROLL_UPDATE,function(t,e){var r=n.selection.lastRange,o=r&&0===r.length?r.index:void 0;a.call(n,function(){return n.editor.update(null,e,o)},t)});var s=this.clipboard.convert(\"
    \"+o+\"


    \");this.setContents(s),this.history.clear(),this.options.placeholder&&this.root.setAttribute(\"data-placeholder\",this.options.placeholder),this.options.readOnly&&this.disable()}return h(t,null,[{key:\"debug\",value:function(t){!0===t&&(t=\"log\"),N.default.level(t)}},{key:\"find\",value:function(t){return t.__quill||w.default.find(t)}},{key:\"import\",value:function(t){return null==this.imports[t]&&P.error(\"Cannot import \"+t+\". Are you sure it was registered?\"),this.imports[t]}},{key:\"register\",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(\"string\"!=typeof t){var o=t.attrName||t.blotName;\"string\"==typeof o?this.register(\"formats/\"+o,t,e):Object.keys(t).forEach(function(r){n.register(r,t[r],e)})}else null==this.imports[t]||r||P.warn(\"Overwriting \"+t+\" with\",e),this.imports[t]=e,(t.startsWith(\"blots/\")||t.startsWith(\"formats/\"))&&\"abstract\"!==e.blotName?w.default.register(e):t.startsWith(\"modules\")&&\"function\"==typeof e.register&&e.register()}}]),h(t,[{key:\"addContainer\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(\"string\"==typeof t){var n=t;t=document.createElement(\"div\"),t.classList.add(n)}return this.container.insertBefore(t,e),t}},{key:\"blur\",value:function(){this.selection.setRange(null)}},{key:\"deleteText\",value:function(t,e,n){var r=this,o=s(t,e,n),i=f(o,4);return t=i[0],e=i[1],n=i[3],a.call(this,function(){return r.editor.deleteText(t,e)},n,t,-1*e)}},{key:\"disable\",value:function(){this.enable(!1)}},{key:\"enable\",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.scroll.enable(t),this.container.classList.toggle(\"ql-disabled\",!t)}},{key:\"focus\",value:function(){var t=this.scrollingContainer.scrollTop;this.selection.focus(),this.scrollingContainer.scrollTop=t,this.scrollIntoView()}},{key:\"format\",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:g.default.sources.API;return a.call(this,function(){var r=n.getSelection(!0),i=new d.default;if(null==r)return i;if(w.default.query(t,w.default.Scope.BLOCK))i=n.editor.formatLine(r.index,r.length,o({},t,e));else{if(0===r.length)return n.selection.format(t,e),i;i=n.editor.formatText(r.index,r.length,o({},t,e))}return n.setSelection(r,g.default.sources.SILENT),i},r)}},{key:\"formatLine\",value:function(t,e,n,r,o){var i=this,l=void 0,u=s(t,e,n,r,o),c=f(u,4);return t=c[0],e=c[1],l=c[2],o=c[3],a.call(this,function(){return i.editor.formatLine(t,e,l)},o,t,0)}},{key:\"formatText\",value:function(t,e,n,r,o){var i=this,l=void 0,u=s(t,e,n,r,o),c=f(u,4);return t=c[0],e=c[1],l=c[2],o=c[3],a.call(this,function(){return i.editor.formatText(t,e,l)},o,t,0)}},{key:\"getBounds\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=void 0;n=\"number\"==typeof t?this.selection.getBounds(t,e):this.selection.getBounds(t.index,t.length);var r=this.container.getBoundingClientRect();return{bottom:n.bottom-r.top,height:n.height,left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,width:n.width}}},{key:\"getContents\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLength()-t,n=s(t,e),r=f(n,2);return t=r[0],e=r[1],this.editor.getContents(t,e)}},{key:\"getFormat\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getSelection(!0),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return\"number\"==typeof t?this.editor.getFormat(t,e):this.editor.getFormat(t.index,t.length)}},{key:\"getIndex\",value:function(t){return t.offset(this.scroll)}},{key:\"getLength\",value:function(){return this.scroll.length()}},{key:\"getLeaf\",value:function(t){return this.scroll.leaf(t)}},{key:\"getLine\",value:function(t){return this.scroll.line(t)}},{key:\"getLines\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;return\"number\"!=typeof t?this.scroll.lines(t.index,t.length):this.scroll.lines(t,e)}},{key:\"getModule\",value:function(t){return this.theme.modules[t]}},{key:\"getSelection\",value:function(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.focus(),this.update(),this.selection.getRange()[0]}},{key:\"getText\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLength()-t,n=s(t,e),r=f(n,2);return t=r[0],e=r[1],this.editor.getText(t,e)}},{key:\"hasFocus\",value:function(){return this.selection.hasFocus()}},{key:\"insertEmbed\",value:function(e,n,r){var o=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.sources.API;return a.call(this,function(){return o.editor.insertEmbed(e,n,r)},i,e)}},{key:\"insertText\",value:function(t,e,n,r,o){var i=this,l=void 0,u=s(t,0,n,r,o),c=f(u,4);return t=c[0],l=c[2],o=c[3],a.call(this,function(){return i.editor.insertText(t,e,l)},o,t,e.length)}},{key:\"isEnabled\",value:function(){return!this.container.classList.contains(\"ql-disabled\")}},{key:\"off\",value:function(){return this.emitter.off.apply(this.emitter,arguments)}},{key:\"on\",value:function(){return this.emitter.on.apply(this.emitter,arguments)}},{key:\"once\",value:function(){return this.emitter.once.apply(this.emitter,arguments)}},{key:\"pasteHTML\",value:function(t,e,n){this.clipboard.dangerouslyPasteHTML(t,e,n)}},{key:\"removeFormat\",value:function(t,e,n){var r=this,o=s(t,e,n),i=f(o,4);return t=i[0],e=i[1],n=i[3],a.call(this,function(){return r.editor.removeFormat(t,e)},n,t)}},{key:\"scrollIntoView\",value:function(){this.selection.scrollIntoView(this.scrollingContainer)}},{key:\"setContents\",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g.default.sources.API;return a.call(this,function(){t=new d.default(t);var n=e.getLength(),r=e.editor.deleteText(0,n),o=e.editor.applyDelta(t),i=o.ops[o.ops.length-1];return null!=i&&\"string\"==typeof i.insert&&\"\\n\"===i.insert[i.insert.length-1]&&(e.editor.deleteText(e.getLength()-1,1),o.delete(1)),r.compose(o)},n)}},{key:\"setSelection\",value:function(e,n,r){if(null==e)this.selection.setRange(null,n||t.sources.API);else{var o=s(e,n,r),i=f(o,4);e=i[0],n=i[1],r=i[3],this.selection.setRange(new x.Range(e,n),r),r!==g.default.sources.SILENT&&this.selection.scrollIntoView(this.scrollingContainer)}}},{key:\"setText\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g.default.sources.API,n=(new d.default).insert(t);return this.setContents(n,e)}},{key:\"update\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g.default.sources.USER,e=this.scroll.update(t);return this.selection.update(t),e}},{key:\"updateContents\",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g.default.sources.API;return a.call(this,function(){return t=new d.default(t),e.editor.applyDelta(t,n)},n,!0)}}]),t}();q.DEFAULTS={bounds:null,formats:null,modules:{},placeholder:\"\",readOnly:!1,scrollingContainer:null,strict:!0,theme:\"default\"},q.events=g.default.events,q.sources=g.default.sources,q.version=\"1.3.6\",q.imports={delta:d.default,parchment:w.default,\"core/module\":_.default,\"core/theme\":S.default},e.expandConfig=l,e.overload=s,e.default=q},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(){function t(t,e){for(var n=0;n0){var n=this.parent.isolate(this.offset(),this.length());this.moveChildren(n),n.wrap(this)}}}],[{key:\"compare\",value:function(t,n){var r=e.order.indexOf(t),o=e.order.indexOf(n);return r>=0||o>=0?r-o:t===n?0:t1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:{};r(this,t),this.quill=e,this.options=n};o.DEFAULTS={},e.default=o},function(t,e,n){\"use strict\";function r(t){if(i.indexOf(t)<=i.indexOf(l)){for(var e,n=arguments.length,r=Array(n>1?n-1:0),o=1;o0&&\"number\"!=typeof t[0]))}function i(t,e,n){var i,c;if(r(t)||r(e))return!1;if(t.prototype!==e.prototype)return!1;if(s(t))return!!s(e)&&(t=l.call(t),e=l.call(e),u(t,e,n));if(o(t)){if(!o(e))return!1;if(t.length!==e.length)return!1;for(i=0;i=0;i--)if(f[i]!=h[i])return!1;for(i=f.length-1;i>=0;i--)if(c=f[i],!u(t[c],e[c],n))return!1;return typeof t==typeof e}var l=Array.prototype.slice,a=n(52),s=n(53),u=t.exports=function(t,e,n){return n||(n={}),t===e||(t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():!t||!e||\"object\"!=typeof t&&\"object\"!=typeof e?n.strict?t===e:t==e:i(t,e,n))}},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(1),o=function(){function t(t,e,n){void 0===n&&(n={}),this.attrName=t,this.keyName=e;var o=r.Scope.TYPE&r.Scope.ATTRIBUTE;null!=n.scope?this.scope=n.scope&r.Scope.LEVEL|o:this.scope=r.Scope.ATTRIBUTE,null!=n.whitelist&&(this.whitelist=n.whitelist)}return t.keys=function(t){return[].map.call(t.attributes,function(t){return t.name})},t.prototype.add=function(t,e){return!!this.canAdd(t,e)&&(t.setAttribute(this.keyName,e),!0)},t.prototype.canAdd=function(t,e){return null!=r.query(t,r.Scope.BLOT&(this.scope|r.Scope.TYPE))&&(null==this.whitelist||(\"string\"==typeof e?this.whitelist.indexOf(e.replace(/[\"']/g,\"\"))>-1:this.whitelist.indexOf(e)>-1))},t.prototype.remove=function(t){t.removeAttribute(this.keyName)},t.prototype.value=function(t){var e=t.getAttribute(this.keyName);return this.canAdd(t,e)&&e?e:\"\"},t}();e.default=o},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=e.Code=void 0;var a=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),s=function(){function t(t,e){for(var n=0;n=t+n)){var l=this.newlineIndex(t,!0)+1,a=i-l+1,s=this.isolate(l,a),u=s.next;s.format(r,o),u instanceof e&&u.formatAt(0,t-l+n-a,r,o)}}}},{key:\"insertAt\",value:function(t,e,n){if(null==n){var r=this.descendant(m.default,t),o=a(r,2),i=o[0],l=o[1];i.insertAt(l,e)}}},{key:\"length\",value:function(){var t=this.domNode.textContent.length;return this.domNode.textContent.endsWith(\"\\n\")?t:t+1}},{key:\"newlineIndex\",value:function(t){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1])return this.domNode.textContent.slice(0,t).lastIndexOf(\"\\n\");var e=this.domNode.textContent.slice(t).indexOf(\"\\n\");return e>-1?t+e:-1}},{key:\"optimize\",value:function(t){this.domNode.textContent.endsWith(\"\\n\")||this.appendChild(p.default.create(\"text\",\"\\n\")),u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"optimize\",this).call(this,t);var n=this.next;null!=n&&n.prev===this&&n.statics.blotName===this.statics.blotName&&this.statics.formats(this.domNode)===n.statics.formats(n.domNode)&&(n.optimize(t),n.moveChildren(this),n.remove())}},{key:\"replace\",value:function(t){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"replace\",this).call(this,t),[].slice.call(this.domNode.querySelectorAll(\"*\")).forEach(function(t){var e=p.default.find(t);null==e?t.parentNode.removeChild(t):e instanceof p.default.Embed?e.remove():e.unwrap()})}}],[{key:\"create\",value:function(t){var n=u(e.__proto__||Object.getPrototypeOf(e),\"create\",this).call(this,t);return n.setAttribute(\"spellcheck\",!1),n}},{key:\"formats\",value:function(){return!0}}]),e}(y.default);O.blotName=\"code-block\",O.tagName=\"PRE\",O.TAB=\" \",e.Code=_,e.default=O},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function l(t,e){return Object.keys(e).reduce(function(n,r){return null==t[r]?n:(e[r]===t[r]?n[r]=e[r]:Array.isArray(e[r])?e[r].indexOf(t[r])<0&&(n[r]=e[r].concat([t[r]])):n[r]=[e[r],t[r]],n)},{})}function a(t){return t.reduce(function(t,e){if(1===e.insert){var n=(0,A.default)(e.attributes);return delete n.image,t.insert({image:e.attributes.image},n)}if(null==e.attributes||!0!==e.attributes.list&&!0!==e.attributes.bullet||(e=(0,A.default)(e),e.attributes.list?e.attributes.list=\"ordered\":(e.attributes.list=\"bullet\",delete e.attributes.bullet)),\"string\"==typeof e.insert){var r=e.insert.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");return t.insert(r,e.attributes)}return t.push(e)},new h.default)}Object.defineProperty(e,\"__esModule\",{value:!0});var s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},u=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),c=function(){function t(t,e){for(var n=0;n=r&&!a.endsWith(\"\\n\")&&(n=!0),e.scroll.insertAt(t,a);var c=e.scroll.line(t),f=u(c,2),h=f[0],p=f[1],y=(0,S.default)({},(0,O.bubbleFormats)(h));if(h instanceof w.default){var b=h.descendant(v.default.Leaf,p),g=u(b,1),m=g[0];y=(0,S.default)(y,(0,O.bubbleFormats)(m))}l=d.default.attributes.diff(y,l)||{}}else if(\"object\"===s(o.insert)){var _=Object.keys(o.insert)[0];if(null==_)return t;e.scroll.insertAt(t,_,o.insert[_])}r+=i}return Object.keys(l).forEach(function(n){e.scroll.formatAt(t,i,n,l[n])}),t+i},0),t.reduce(function(t,n){return\"number\"==typeof n.delete?(e.scroll.deleteAt(t,n.delete),t):t+(n.retain||n.insert.length||1)},0),this.scroll.batchEnd(),this.update(t)}},{key:\"deleteText\",value:function(t,e){return this.scroll.deleteAt(t,e),this.update((new h.default).retain(t).delete(e))}},{key:\"formatLine\",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.scroll.update(),Object.keys(r).forEach(function(o){if(null==n.scroll.whitelist||n.scroll.whitelist[o]){var i=n.scroll.lines(t,Math.max(e,1)),l=e;i.forEach(function(e){var i=e.length();if(e instanceof g.default){var a=t-e.offset(n.scroll),s=e.newlineIndex(a+l)-a+1;e.formatAt(a,s,o,r[o])}else e.format(o,r[o]);l-=i})}}),this.scroll.optimize(),this.update((new h.default).retain(t).retain(e,(0,A.default)(r)))}},{key:\"formatText\",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object.keys(r).forEach(function(o){n.scroll.formatAt(t,e,o,r[o])}),this.update((new h.default).retain(t).retain(e,(0,A.default)(r)))}},{key:\"getContents\",value:function(t,e){return this.delta.slice(t,t+e)}},{key:\"getDelta\",value:function(){return this.scroll.lines().reduce(function(t,e){return t.concat(e.delta())},new h.default)}},{key:\"getFormat\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[],r=[];0===e?this.scroll.path(t).forEach(function(t){var e=u(t,1),o=e[0];o instanceof w.default?n.push(o):o instanceof v.default.Leaf&&r.push(o)}):(n=this.scroll.lines(t,e),r=this.scroll.descendants(v.default.Leaf,t,e));var o=[n,r].map(function(t){if(0===t.length)return{};for(var e=(0,O.bubbleFormats)(t.shift());Object.keys(e).length>0;){var n=t.shift();if(null==n)return e;e=l((0,O.bubbleFormats)(n),e)}return e});return S.default.apply(S.default,o)}},{key:\"getText\",value:function(t,e){return this.getContents(t,e).filter(function(t){return\"string\"==typeof t.insert}).map(function(t){return t.insert}).join(\"\")}},{key:\"insertEmbed\",value:function(t,e,n){return this.scroll.insertAt(t,e,n),this.update((new h.default).retain(t).insert(o({},e,n)))}},{key:\"insertText\",value:function(t,e){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e=e.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\"),this.scroll.insertAt(t,e),Object.keys(r).forEach(function(o){n.scroll.formatAt(t,e.length,o,r[o])}),this.update((new h.default).retain(t).insert(e,(0,A.default)(r)))}},{key:\"isBlank\",value:function(){if(0==this.scroll.children.length)return!0;if(this.scroll.children.length>1)return!1;var t=this.scroll.children.head;return t.statics.blotName===w.default.blotName&&(!(t.children.length>1)&&t.children.head instanceof E.default)}},{key:\"removeFormat\",value:function(t,e){var n=this.getText(t,e),r=this.scroll.line(t+e),o=u(r,2),i=o[0],l=o[1],a=0,s=new h.default;null!=i&&(a=i instanceof g.default?i.newlineIndex(l)-l+1:i.length()-l,s=i.delta().slice(l,l+a-1).insert(\"\\n\"));var c=this.getContents(t,e+a),f=c.diff((new h.default).insert(n).concat(s)),p=(new h.default).retain(t).concat(f);return this.applyDelta(p)}},{key:\"update\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=this.delta;if(1===e.length&&\"characterData\"===e[0].type&&e[0].target.data.match(P)&&v.default.find(e[0].target)){var o=v.default.find(e[0].target),i=(0,O.bubbleFormats)(o),l=o.offset(this.scroll),a=e[0].oldValue.replace(_.default.CONTENTS,\"\"),s=(new h.default).insert(a),u=(new h.default).insert(o.value());t=(new h.default).retain(l).concat(s.diff(u,n)).reduce(function(t,e){return e.insert?t.insert(e.insert,i):t.push(e)},new h.default),this.delta=r.compose(t)}else this.delta=this.getDelta(),t&&(0,N.default)(r.compose(t),this.delta)||(t=r.diff(this.delta,n));return t}}]),t}();e.default=q},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:0;i(this,t),this.index=e,this.length=n},O=function(){function t(e,n){var r=this;i(this,t),this.emitter=n,this.scroll=e,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=c.default.create(\"cursor\",this),this.lastRange=this.savedRange=new _(0,0),this.handleComposition(),this.handleDragging(),this.emitter.listenDOM(\"selectionchange\",document,function(){r.mouseDown||setTimeout(r.update.bind(r,v.default.sources.USER),1)}),this.emitter.on(v.default.events.EDITOR_CHANGE,function(t,e){t===v.default.events.TEXT_CHANGE&&e.length()>0&&r.update(v.default.sources.SILENT)}),this.emitter.on(v.default.events.SCROLL_BEFORE_UPDATE,function(){if(r.hasFocus()){var t=r.getNativeRange();null!=t&&t.start.node!==r.cursor.textNode&&r.emitter.once(v.default.events.SCROLL_UPDATE,function(){try{r.setNativeRange(t.start.node,t.start.offset,t.end.node,t.end.offset)}catch(t){}})}}),this.emitter.on(v.default.events.SCROLL_OPTIMIZE,function(t,e){if(e.range){var n=e.range,o=n.startNode,i=n.startOffset,l=n.endNode,a=n.endOffset;r.setNativeRange(o,i,l,a)}}),this.update(v.default.sources.SILENT)}return s(t,[{key:\"handleComposition\",value:function(){var t=this;this.root.addEventListener(\"compositionstart\",function(){t.composing=!0}),this.root.addEventListener(\"compositionend\",function(){if(t.composing=!1,t.cursor.parent){var e=t.cursor.restore();if(!e)return;setTimeout(function(){t.setNativeRange(e.startNode,e.startOffset,e.endNode,e.endOffset)},1)}})}},{key:\"handleDragging\",value:function(){var t=this;this.emitter.listenDOM(\"mousedown\",document.body,function(){t.mouseDown=!0}),this.emitter.listenDOM(\"mouseup\",document.body,function(){t.mouseDown=!1,t.update(v.default.sources.USER)})}},{key:\"focus\",value:function(){this.hasFocus()||(this.root.focus(),this.setRange(this.savedRange))}},{key:\"format\",value:function(t,e){if(null==this.scroll.whitelist||this.scroll.whitelist[t]){this.scroll.update();var n=this.getNativeRange();if(null!=n&&n.native.collapsed&&!c.default.query(t,c.default.Scope.BLOCK)){if(n.start.node!==this.cursor.textNode){var r=c.default.find(n.start.node,!1);if(null==r)return;if(r instanceof c.default.Leaf){var o=r.split(n.start.offset);r.parent.insertBefore(this.cursor,o)}else r.insertBefore(this.cursor,n.start.node);this.cursor.attach()}this.cursor.format(t,e),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}}},{key:\"getBounds\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=this.scroll.length();t=Math.min(t,n-1),e=Math.min(t+e,n-1)-t;var r=void 0,o=this.scroll.leaf(t),i=a(o,2),l=i[0],s=i[1];if(null==l)return null;var u=l.position(s,!0),c=a(u,2);r=c[0],s=c[1];var f=document.createRange();if(e>0){f.setStart(r,s);var h=this.scroll.leaf(t+e),p=a(h,2);if(l=p[0],s=p[1],null==l)return null;var d=l.position(s,!0),y=a(d,2);return r=y[0],s=y[1],f.setEnd(r,s),f.getBoundingClientRect()}var v=\"left\",b=void 0;return r instanceof Text?(s0&&(v=\"right\")),{bottom:b.top+b.height,height:b.height,left:b[v],right:b[v],top:b.top,width:0}}},{key:\"getNativeRange\",value:function(){var t=document.getSelection();if(null==t||t.rangeCount<=0)return null;var e=t.getRangeAt(0);if(null==e)return null;var n=this.normalizeNative(e);return m.info(\"getNativeRange\",n),n}},{key:\"getRange\",value:function(){var t=this.getNativeRange();return null==t?[null,null]:[this.normalizedToRange(t),t]}},{key:\"hasFocus\",value:function(){return document.activeElement===this.root}},{key:\"normalizedToRange\",value:function(t){var e=this,n=[[t.start.node,t.start.offset]];t.native.collapsed||n.push([t.end.node,t.end.offset]);var r=n.map(function(t){var n=a(t,2),r=n[0],o=n[1],i=c.default.find(r,!0),l=i.offset(e.scroll);return 0===o?l:i instanceof c.default.Container?l+i.length():l+i.index(r,o)}),i=Math.min(Math.max.apply(Math,o(r)),this.scroll.length()-1),l=Math.min.apply(Math,[i].concat(o(r)));return new _(l,i-l)}},{key:\"normalizeNative\",value:function(t){if(!l(this.root,t.startContainer)||!t.collapsed&&!l(this.root,t.endContainer))return null;var e={start:{node:t.startContainer,offset:t.startOffset},end:{node:t.endContainer,offset:t.endOffset},native:t};return[e.start,e.end].forEach(function(t){for(var e=t.node,n=t.offset;!(e instanceof Text)&&e.childNodes.length>0;)if(e.childNodes.length>n)e=e.childNodes[n],n=0;else{if(e.childNodes.length!==n)break;e=e.lastChild,n=e instanceof Text?e.data.length:e.childNodes.length+1}t.node=e,t.offset=n}),e}},{key:\"rangeToNative\",value:function(t){var e=this,n=t.collapsed?[t.index]:[t.index,t.index+t.length],r=[],o=this.scroll.length();return n.forEach(function(t,n){t=Math.min(o-1,t);var i=void 0,l=e.scroll.leaf(t),s=a(l,2),u=s[0],c=s[1],f=u.position(c,0!==n),h=a(f,2);i=h[0],c=h[1],r.push(i,c)}),r.length<2&&(r=r.concat(r)),r}},{key:\"scrollIntoView\",value:function(t){var e=this.lastRange;if(null!=e){var n=this.getBounds(e.index,e.length);if(null!=n){var r=this.scroll.length()-1,o=this.scroll.line(Math.min(e.index,r)),i=a(o,1),l=i[0],s=l;if(e.length>0){var u=this.scroll.line(Math.min(e.index+e.length,r));s=a(u,1)[0]}if(null!=l&&null!=s){var c=t.getBoundingClientRect();n.topc.bottom&&(t.scrollTop+=n.bottom-c.bottom)}}}}},{key:\"setNativeRange\",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(m.info(\"setNativeRange\",t,e,n,r),null==t||null!=this.root.parentNode&&null!=t.parentNode&&null!=n.parentNode){var i=document.getSelection();if(null!=i)if(null!=t){this.hasFocus()||this.root.focus();var l=(this.getNativeRange()||{}).native;if(null==l||o||t!==l.startContainer||e!==l.startOffset||n!==l.endContainer||r!==l.endOffset){\"BR\"==t.tagName&&(e=[].indexOf.call(t.parentNode.childNodes,t),t=t.parentNode),\"BR\"==n.tagName&&(r=[].indexOf.call(n.parentNode.childNodes,n),n=n.parentNode);var a=document.createRange();a.setStart(t,e),a.setEnd(n,r),i.removeAllRanges(),i.addRange(a)}}else i.removeAllRanges(),this.root.blur(),document.body.focus()}}},{key:\"setRange\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:v.default.sources.API;if(\"string\"==typeof e&&(n=e,e=!1),m.info(\"setRange\",t),null!=t){var r=this.rangeToNative(t);this.setNativeRange.apply(this,o(r).concat([e]))}else this.setNativeRange(null);this.update(n)}},{key:\"update\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v.default.sources.USER,e=this.lastRange,n=this.getRange(),r=a(n,2),o=r[0],i=r[1];if(this.lastRange=o,null!=this.lastRange&&(this.savedRange=this.lastRange),!(0,d.default)(e,this.lastRange)){var l;!this.composing&&null!=i&&i.native.collapsed&&i.start.node!==this.cursor.textNode&&this.cursor.restore();var s=[v.default.events.SELECTION_CHANGE,(0,h.default)(this.lastRange),(0,h.default)(e),t];if((l=this.emitter).emit.apply(l,[v.default.events.EDITOR_CHANGE].concat(s)),t!==v.default.sources.SILENT){var u;(u=this.emitter).emit.apply(u,s)}}}}]),t}();e.Range=_,e.default=O},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){for(var n=0;n0&&(n+=1),[this.parent.domNode,n]},e.prototype.value=function(){return t={},t[this.statics.blotName]=this.statics.value(this.domNode)||!0,t;var t},e.scope=i.Scope.INLINE_BLOT,e}(o.default);e.default=l},function(t,e,n){function r(t){this.ops=t,this.index=0,this.offset=0}var o=n(11),i=n(3),l={attributes:{compose:function(t,e,n){\"object\"!=typeof t&&(t={}),\"object\"!=typeof e&&(e={});var r=i(!0,{},e);n||(r=Object.keys(r).reduce(function(t,e){return null!=r[e]&&(t[e]=r[e]),t},{}));for(var o in t)void 0!==t[o]&&void 0===e[o]&&(r[o]=t[o]);return Object.keys(r).length>0?r:void 0},diff:function(t,e){\"object\"!=typeof t&&(t={}),\"object\"!=typeof e&&(e={});var n=Object.keys(t).concat(Object.keys(e)).reduce(function(n,r){return o(t[r],e[r])||(n[r]=void 0===e[r]?null:e[r]),n},{});return Object.keys(n).length>0?n:void 0},transform:function(t,e,n){if(\"object\"!=typeof t)return e;if(\"object\"==typeof e){if(!n)return e;var r=Object.keys(e).reduce(function(n,r){return void 0===t[r]&&(n[r]=e[r]),n},{});return Object.keys(r).length>0?r:void 0}}},iterator:function(t){return new r(t)},length:function(t){return\"number\"==typeof t.delete?t.delete:\"number\"==typeof t.retain?t.retain:\"string\"==typeof t.insert?t.insert.length:1}};r.prototype.hasNext=function(){return this.peekLength()<1/0},r.prototype.next=function(t){t||(t=1/0);var e=this.ops[this.index];if(e){var n=this.offset,r=l.length(e);if(t>=r-n?(t=r-n,this.index+=1,this.offset=0):this.offset+=t,\"number\"==typeof e.delete)return{delete:t};var o={};return e.attributes&&(o.attributes=e.attributes),\"number\"==typeof e.retain?o.retain=t:\"string\"==typeof e.insert?o.insert=e.insert.substr(n,t):o.insert=e.insert,o}return{retain:1/0}},r.prototype.peek=function(){return this.ops[this.index]},r.prototype.peekLength=function(){return this.ops[this.index]?l.length(this.ops[this.index])-this.offset:1/0},r.prototype.peekType=function(){return this.ops[this.index]?\"number\"==typeof this.ops[this.index].delete?\"delete\":\"number\"==typeof this.ops[this.index].retain?\"retain\":\"insert\":\"retain\"},t.exports=l},function(t,n){var r=function(){\"use strict\";function t(t,e){return null!=e&&t instanceof e}function n(r,o,i,l,f){function h(r,i){if(null===r)return null;if(0===i)return r;var v,b;if(\"object\"!=typeof r)return r;if(t(r,s))v=new s;else if(t(r,u))v=new u;else if(t(r,c))v=new c(function(t,e){r.then(function(e){t(h(e,i-1))},function(t){e(h(t,i-1))})});else if(n.__isArray(r))v=[];else if(n.__isRegExp(r))v=new RegExp(r.source,a(r)),r.lastIndex&&(v.lastIndex=r.lastIndex);else if(n.__isDate(r))v=new Date(r.getTime());else{if(y&&e.isBuffer(r))return v=new e(r.length),r.copy(v),v;t(r,Error)?v=Object.create(r):void 0===l?(b=Object.getPrototypeOf(r),v=Object.create(b)):(v=Object.create(l),b=l)}if(o){var g=p.indexOf(r);if(-1!=g)return d[g];p.push(r),d.push(v)}t(r,s)&&r.forEach(function(t,e){var n=h(e,i-1),r=h(t,i-1);v.set(n,r)}),t(r,u)&&r.forEach(function(t){var e=h(t,i-1);v.add(e)});for(var m in r){var _;b&&(_=Object.getOwnPropertyDescriptor(b,m)),_&&null==_.set||(v[m]=h(r[m],i-1))}if(Object.getOwnPropertySymbols)for(var O=Object.getOwnPropertySymbols(r),m=0;m0){if(i instanceof y.BlockEmbed||f instanceof y.BlockEmbed)return void this.optimize();if(i instanceof _.default){var h=i.newlineIndex(i.length(),!0);if(h>-1&&(i=i.split(h+1))===f)return void this.optimize()}else if(f instanceof _.default){var p=f.newlineIndex(0);p>-1&&f.split(p+1)}var d=f.children.head instanceof g.default?null:f.children.head;i.moveChildren(f,d),i.remove()}this.optimize()}},{key:\"enable\",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.domNode.setAttribute(\"contenteditable\",t)}},{key:\"formatAt\",value:function(t,n,r,o){(null==this.whitelist||this.whitelist[r])&&(c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"formatAt\",this).call(this,t,n,r,o),this.optimize())}},{key:\"insertAt\",value:function(t,n,r){if(null==r||null==this.whitelist||this.whitelist[n]){if(t>=this.length())if(null==r||null==h.default.query(n,h.default.Scope.BLOCK)){var o=h.default.create(this.statics.defaultChild);this.appendChild(o),null==r&&n.endsWith(\"\\n\")&&(n=n.slice(0,-1)),o.insertAt(0,n,r)}else{var i=h.default.create(n,r);this.appendChild(i)}else c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"insertAt\",this).call(this,t,n,r);this.optimize()}}},{key:\"insertBefore\",value:function(t,n){if(t.statics.scope===h.default.Scope.INLINE_BLOT){var r=h.default.create(this.statics.defaultChild);r.appendChild(t),t=r}c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"insertBefore\",this).call(this,t,n)}},{key:\"leaf\",value:function(t){return this.path(t).pop()||[null,-1]}},{key:\"line\",value:function(t){return t===this.length()?this.line(t-1):this.descendant(a,t)}},{key:\"lines\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;return function t(e,n,r){var o=[],i=r;return e.children.forEachAt(n,r,function(e,n,r){a(e)?o.push(e):e instanceof h.default.Container&&(o=o.concat(t(e,n,i))),i-=r}),o}(this,t,e)}},{key:\"optimize\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!0!==this.batch&&(c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"optimize\",this).call(this,t,n),t.length>0&&this.emitter.emit(d.default.events.SCROLL_OPTIMIZE,t,n))}},{key:\"path\",value:function(t){return c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"path\",this).call(this,t).slice(1)}},{key:\"update\",value:function(t){if(!0!==this.batch){var n=d.default.sources.USER;\"string\"==typeof t&&(n=t),Array.isArray(t)||(t=this.observer.takeRecords()),t.length>0&&this.emitter.emit(d.default.events.SCROLL_BEFORE_UPDATE,n,t),c(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"update\",this).call(this,t.concat([])),t.length>0&&this.emitter.emit(d.default.events.SCROLL_UPDATE,n,t)}}}]),e}(h.default.Scroll);x.blotName=\"scroll\",x.className=\"ql-editor\",x.tagName=\"DIV\",x.defaultChild=\"block\",x.allowedChildren=[v.default,y.BlockEmbed,w.default],e.default=x},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function l(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function a(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t,e){var n,r=t===D.keys.LEFT?\"prefix\":\"suffix\";return n={key:t,shiftKey:e,altKey:null},o(n,r,/^$/),o(n,\"handler\",function(n){var r=n.index;t===D.keys.RIGHT&&(r+=n.length+1);var o=this.quill.getLeaf(r);return!(b(o,1)[0]instanceof S.default.Embed)||(t===D.keys.LEFT?e?this.quill.setSelection(n.index-1,n.length+1,q.default.sources.USER):this.quill.setSelection(n.index-1,q.default.sources.USER):e?this.quill.setSelection(n.index,n.length+1,q.default.sources.USER):this.quill.setSelection(n.index+n.length+1,q.default.sources.USER),!1)}),n}function u(t,e){if(!(0===t.index||this.quill.getLength()<=1)){var n=this.quill.getLine(t.index),r=b(n,1),o=r[0],i={};if(0===e.offset){var l=this.quill.getLine(t.index-1),a=b(l,1),s=a[0];if(null!=s&&s.length()>1){var u=o.formats(),c=this.quill.getFormat(t.index-1,1);i=N.default.attributes.diff(u,c)||{}}}var f=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(e.prefix)?2:1;this.quill.deleteText(t.index-f,f,q.default.sources.USER),Object.keys(i).length>0&&this.quill.formatLine(t.index-f,f,i,q.default.sources.USER),this.quill.focus()}}function c(t,e){var n=/^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(e.suffix)?2:1;if(!(t.index>=this.quill.getLength()-n)){var r={},o=0,i=this.quill.getLine(t.index),l=b(i,1),a=l[0];if(e.offset>=a.length()-1){var s=this.quill.getLine(t.index+1),u=b(s,1),c=u[0];if(c){var f=a.formats(),h=this.quill.getFormat(t.index,1);r=N.default.attributes.diff(f,h)||{},o=c.length()}}this.quill.deleteText(t.index,n,q.default.sources.USER),Object.keys(r).length>0&&this.quill.formatLine(t.index+o-1,n,r,q.default.sources.USER)}}function f(t){var e=this.quill.getLines(t),n={};if(e.length>1){var r=e[0].formats(),o=e[e.length-1].formats();n=N.default.attributes.diff(o,r)||{}}this.quill.deleteText(t,q.default.sources.USER),Object.keys(n).length>0&&this.quill.formatLine(t.index,1,n,q.default.sources.USER),this.quill.setSelection(t.index,q.default.sources.SILENT),this.quill.focus()}function h(t,e){var n=this;t.length>0&&this.quill.scroll.deleteAt(t.index,t.length);var r=Object.keys(e.format).reduce(function(t,n){return S.default.query(n,S.default.Scope.BLOCK)&&!Array.isArray(e.format[n])&&(t[n]=e.format[n]),t},{});this.quill.insertText(t.index,\"\\n\",r,q.default.sources.USER),this.quill.setSelection(t.index+1,q.default.sources.SILENT),this.quill.focus(),Object.keys(e.format).forEach(function(t){null==r[t]&&(Array.isArray(e.format[t])||\"link\"!==t&&n.quill.format(t,e.format[t],q.default.sources.USER))})}function p(t){return{key:D.keys.TAB,shiftKey:!t,format:{\"code-block\":!0},handler:function(e){var n=S.default.query(\"code-block\"),r=e.index,o=e.length,i=this.quill.scroll.descendant(n,r),l=b(i,2),a=l[0],s=l[1];if(null!=a){var u=this.quill.getIndex(a),c=a.newlineIndex(s,!0)+1,f=a.newlineIndex(u+s+o),h=a.domNode.textContent.slice(c,f).split(\"\\n\");s=0,h.forEach(function(e,i){t?(a.insertAt(c+s,n.TAB),s+=n.TAB.length,0===i?r+=n.TAB.length:o+=n.TAB.length):e.startsWith(n.TAB)&&(a.deleteAt(c+s,n.TAB.length),s-=n.TAB.length,0===i?r-=n.TAB.length:o-=n.TAB.length),s+=e.length+1}),this.quill.update(q.default.sources.USER),this.quill.setSelection(r,o,q.default.sources.SILENT)}}}}function d(t){return{key:t[0].toUpperCase(),shortKey:!0,handler:function(e,n){this.quill.format(t,!n.format[t],q.default.sources.USER)}}}function y(t){if(\"string\"==typeof t||\"number\"==typeof t)return y({key:t});if(\"object\"===(void 0===t?\"undefined\":v(t))&&(t=(0,_.default)(t,!1)),\"string\"==typeof t.key)if(null!=D.keys[t.key.toUpperCase()])t.key=D.keys[t.key.toUpperCase()];else{if(1!==t.key.length)return null;t.key=t.key.toUpperCase().charCodeAt(0)}return t.shortKey&&(t[I]=t.shortKey,delete t.shortKey),t}Object.defineProperty(e,\"__esModule\",{value:!0}),e.SHORTKEY=e.default=void 0;var v=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},b=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),g=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=y(t);if(null==r||null==r.key)return B.warn(\"Attempted to add invalid keyboard binding\",r);\"function\"==typeof e&&(e={handler:e}),\"function\"==typeof n&&(n={handler:n}),r=(0,E.default)(r,e,n),this.bindings[r.key]=this.bindings[r.key]||[],this.bindings[r.key].push(r)}},{key:\"listen\",value:function(){var t=this;this.quill.root.addEventListener(\"keydown\",function(n){if(!n.defaultPrevented){var r=n.which||n.keyCode,o=(t.bindings[r]||[]).filter(function(t){return e.match(n,t)});if(0!==o.length){var i=t.quill.getSelection();if(null!=i&&t.quill.hasFocus()){var l=t.quill.getLine(i.index),a=b(l,2),s=a[0],u=a[1],c=t.quill.getLeaf(i.index),f=b(c,2),h=f[0],p=f[1],d=0===i.length?[h,p]:t.quill.getLeaf(i.index+i.length),y=b(d,2),g=y[0],m=y[1],_=h instanceof S.default.Text?h.value().slice(0,p):\"\",O=g instanceof S.default.Text?g.value().slice(m):\"\",x={collapsed:0===i.length,empty:0===i.length&&s.length()<=1,format:t.quill.getFormat(i),offset:u,prefix:_,suffix:O};o.some(function(e){if(null!=e.collapsed&&e.collapsed!==x.collapsed)return!1;if(null!=e.empty&&e.empty!==x.empty)return!1;if(null!=e.offset&&e.offset!==x.offset)return!1;if(Array.isArray(e.format)){if(e.format.every(function(t){return null==x.format[t]}))return!1}else if(\"object\"===v(e.format)&&!Object.keys(e.format).every(function(t){return!0===e.format[t]?null!=x.format[t]:!1===e.format[t]?null==x.format[t]:(0,w.default)(e.format[t],x.format[t])}))return!1;return!(null!=e.prefix&&!e.prefix.test(x.prefix))&&(!(null!=e.suffix&&!e.suffix.test(x.suffix))&&!0!==e.handler.call(t,i,x))})&&n.preventDefault()}}}})}}]),e}(M.default);D.keys={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46},D.DEFAULTS={bindings:{bold:d(\"bold\"),italic:d(\"italic\"),underline:d(\"underline\"),indent:{key:D.keys.TAB,format:[\"blockquote\",\"indent\",\"list\"],handler:function(t,e){if(e.collapsed&&0!==e.offset)return!0;this.quill.format(\"indent\",\"+1\",q.default.sources.USER)}},outdent:{key:D.keys.TAB,shiftKey:!0,format:[\"blockquote\",\"indent\",\"list\"],handler:function(t,e){if(e.collapsed&&0!==e.offset)return!0;this.quill.format(\"indent\",\"-1\",q.default.sources.USER)}},\"outdent backspace\":{key:D.keys.BACKSPACE,collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:[\"indent\",\"list\"],offset:0,handler:function(t,e){null!=e.format.indent?this.quill.format(\"indent\",\"-1\",q.default.sources.USER):null!=e.format.list&&this.quill.format(\"list\",!1,q.default.sources.USER)}},\"indent code-block\":p(!0),\"outdent code-block\":p(!1),\"remove tab\":{key:D.keys.TAB,shiftKey:!0,collapsed:!0,prefix:/\\t$/,handler:function(t){this.quill.deleteText(t.index-1,1,q.default.sources.USER)}},tab:{key:D.keys.TAB,handler:function(t){this.quill.history.cutoff();var e=(new A.default).retain(t.index).delete(t.length).insert(\"\\t\");this.quill.updateContents(e,q.default.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(t.index+1,q.default.sources.SILENT)}},\"list empty enter\":{key:D.keys.ENTER,collapsed:!0,format:[\"list\"],empty:!0,handler:function(t,e){this.quill.format(\"list\",!1,q.default.sources.USER),e.format.indent&&this.quill.format(\"indent\",!1,q.default.sources.USER)}},\"checklist enter\":{key:D.keys.ENTER,collapsed:!0,format:{list:\"checked\"},handler:function(t){var e=this.quill.getLine(t.index),n=b(e,2),r=n[0],o=n[1],i=(0,E.default)({},r.formats(),{list:\"checked\"}),l=(new A.default).retain(t.index).insert(\"\\n\",i).retain(r.length()-o-1).retain(1,{list:\"unchecked\"});this.quill.updateContents(l,q.default.sources.USER),this.quill.setSelection(t.index+1,q.default.sources.SILENT),this.quill.scrollIntoView()}},\"header enter\":{key:D.keys.ENTER,collapsed:!0,format:[\"header\"],suffix:/^$/,handler:function(t,e){var n=this.quill.getLine(t.index),r=b(n,2),o=r[0],i=r[1],l=(new A.default).retain(t.index).insert(\"\\n\",e.format).retain(o.length()-i-1).retain(1,{header:null});this.quill.updateContents(l,q.default.sources.USER),this.quill.setSelection(t.index+1,q.default.sources.SILENT),this.quill.scrollIntoView()}},\"list autofill\":{key:\" \",collapsed:!0,format:{list:!1},prefix:/^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,handler:function(t,e){var n=e.prefix.length,r=this.quill.getLine(t.index),o=b(r,2),i=o[0],l=o[1];if(l>n)return!0;var a=void 0;switch(e.prefix.trim()){case\"[]\":case\"[ ]\":a=\"unchecked\";break;case\"[x]\":a=\"checked\";break;case\"-\":case\"*\":a=\"bullet\";break;default:a=\"ordered\"}this.quill.insertText(t.index,\" \",q.default.sources.USER),this.quill.history.cutoff();var s=(new A.default).retain(t.index-l).delete(n+1).retain(i.length()-2-l).retain(1,{list:a});this.quill.updateContents(s,q.default.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(t.index-n,q.default.sources.SILENT)}},\"code exit\":{key:D.keys.ENTER,collapsed:!0,format:[\"code-block\"],prefix:/\\n\\n$/,suffix:/^\\s+$/,handler:function(t){var e=this.quill.getLine(t.index),n=b(e,2),r=n[0],o=n[1],i=(new A.default).retain(t.index+r.length()-o-2).retain(1,{\"code-block\":null}).delete(1);this.quill.updateContents(i,q.default.sources.USER)}},\"embed left\":s(D.keys.LEFT,!1),\"embed left shift\":s(D.keys.LEFT,!0),\"embed right\":s(D.keys.RIGHT,!1),\"embed right shift\":s(D.keys.RIGHT,!0)}},e.default=D,e.SHORTKEY=I},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),s=function t(e,n,r){null===e&&(e=Function.prototype);var o=Object.getOwnPropertyDescriptor(e,n);if(void 0===o){var i=Object.getPrototypeOf(e);return null===i?void 0:t(i,n,r)}if(\"value\"in o)return o.value;var l=o.get;if(void 0!==l)return l.call(r)},u=function(){function t(t,e){for(var n=0;n-1}Object.defineProperty(e,\"__esModule\",{value:!0}),e.sanitize=e.default=void 0;var a=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]&&arguments[1],n=this.container.querySelector(\".ql-selected\");if(t!==n&&(null!=n&&n.classList.remove(\"ql-selected\"),null!=t&&(t.classList.add(\"ql-selected\"),this.select.selectedIndex=[].indexOf.call(t.parentNode.children,t),t.hasAttribute(\"data-value\")?this.label.setAttribute(\"data-value\",t.getAttribute(\"data-value\")):this.label.removeAttribute(\"data-value\"),t.hasAttribute(\"data-label\")?this.label.setAttribute(\"data-label\",t.getAttribute(\"data-label\")):this.label.removeAttribute(\"data-label\"),e))){if(\"function\"==typeof Event)this.select.dispatchEvent(new Event(\"change\"));else if(\"object\"===(\"undefined\"==typeof Event?\"undefined\":l(Event))){var r=document.createEvent(\"Event\");r.initEvent(\"change\",!0,!0),this.select.dispatchEvent(r)}this.close()}}},{key:\"update\",value:function(){var t=void 0;if(this.select.selectedIndex>-1){var e=this.container.querySelector(\".ql-picker-options\").children[this.select.selectedIndex];t=this.select.options[this.select.selectedIndex],this.selectItem(e)}else this.selectItem(null);var n=null!=t&&t!==this.select.querySelector(\"option[selected]\");this.label.classList.toggle(\"ql-active\",n)}}]),t}();e.default=p},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(0),i=r(o),l=n(5),a=r(l),s=n(4),u=r(s),c=n(16),f=r(c),h=n(25),p=r(h),d=n(24),y=r(d),v=n(35),b=r(v),g=n(6),m=r(g),_=n(22),O=r(_),w=n(7),x=r(w),E=n(55),k=r(E),A=n(42),j=r(A),N=n(23),T=r(N);a.default.register({\"blots/block\":u.default,\"blots/block/embed\":s.BlockEmbed,\"blots/break\":f.default,\"blots/container\":p.default,\"blots/cursor\":y.default,\"blots/embed\":b.default,\"blots/inline\":m.default,\"blots/scroll\":O.default,\"blots/text\":x.default,\"modules/clipboard\":k.default,\"modules/history\":j.default,\"modules/keyboard\":T.default}),i.default.register(u.default,f.default,y.default,m.default,O.default,x.default),e.default=a.default},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(1),o=function(){function t(t){this.domNode=t,this.domNode[r.DATA_KEY]={blot:this}}return Object.defineProperty(t.prototype,\"statics\",{get:function(){return this.constructor},enumerable:!0,configurable:!0}),t.create=function(t){if(null==this.tagName)throw new r.ParchmentError(\"Blot definition missing tagName\");var e;return Array.isArray(this.tagName)?(\"string\"==typeof t&&(t=t.toUpperCase(),parseInt(t).toString()===t&&(t=parseInt(t))),e=\"number\"==typeof t?document.createElement(this.tagName[t-1]):this.tagName.indexOf(t)>-1?document.createElement(t):document.createElement(this.tagName[0])):e=document.createElement(this.tagName),this.className&&e.classList.add(this.className),e},t.prototype.attach=function(){null!=this.parent&&(this.scroll=this.parent.scroll)},t.prototype.clone=function(){var t=this.domNode.cloneNode(!1);return r.create(t)},t.prototype.detach=function(){null!=this.parent&&this.parent.removeChild(this),delete this.domNode[r.DATA_KEY]},t.prototype.deleteAt=function(t,e){this.isolate(t,e).remove()},t.prototype.formatAt=function(t,e,n,o){var i=this.isolate(t,e);if(null!=r.query(n,r.Scope.BLOT)&&o)i.wrap(n,o);else if(null!=r.query(n,r.Scope.ATTRIBUTE)){var l=r.create(this.statics.scope);i.wrap(l),l.format(n,o)}},t.prototype.insertAt=function(t,e,n){var o=null==n?r.create(\"text\",e):r.create(e,n),i=this.split(t);this.parent.insertBefore(o,i)},t.prototype.insertInto=function(t,e){void 0===e&&(e=null),null!=this.parent&&this.parent.children.remove(this);var n=null;t.children.insertBefore(this,e),null!=e&&(n=e.domNode),this.domNode.parentNode==t.domNode&&this.domNode.nextSibling==n||t.domNode.insertBefore(this.domNode,n),this.parent=t,this.attach()},t.prototype.isolate=function(t,e){var n=this.split(t);return n.split(e),n},t.prototype.length=function(){return 1},t.prototype.offset=function(t){return void 0===t&&(t=this.parent),null==this.parent||this==t?0:this.parent.children.offset(this)+this.parent.offset(t)},t.prototype.optimize=function(t){null!=this.domNode[r.DATA_KEY]&&delete this.domNode[r.DATA_KEY].mutations},t.prototype.remove=function(){null!=this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.detach()},t.prototype.replace=function(t){null!=t.parent&&(t.parent.insertBefore(this,t.next),t.remove())},t.prototype.replaceWith=function(t,e){var n=\"string\"==typeof t?r.create(t,e):t;return n.replace(this),n},t.prototype.split=function(t,e){return 0===t?this:this.next},t.prototype.update=function(t,e){},t.prototype.wrap=function(t,e){var n=\"string\"==typeof t?r.create(t,e):t;return null!=this.parent&&this.parent.insertBefore(n,this.next),n.appendChild(this),n},t.blotName=\"abstract\",t}();e.default=o},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=n(12),o=n(32),i=n(33),l=n(1),a=function(){function t(t){this.attributes={},this.domNode=t,this.build()}return t.prototype.attribute=function(t,e){e?t.add(this.domNode,e)&&(null!=t.value(this.domNode)?this.attributes[t.attrName]=t:delete this.attributes[t.attrName]):(t.remove(this.domNode),delete this.attributes[t.attrName])},t.prototype.build=function(){var t=this;this.attributes={};var e=r.default.keys(this.domNode),n=o.default.keys(this.domNode),a=i.default.keys(this.domNode);e.concat(n).concat(a).forEach(function(e){var n=l.query(e,l.Scope.ATTRIBUTE);n instanceof r.default&&(t.attributes[n.attrName]=n)})},t.prototype.copy=function(t){var e=this;Object.keys(this.attributes).forEach(function(n){var r=e.attributes[n].value(e.domNode);t.format(n,r)})},t.prototype.move=function(t){var e=this;this.copy(t),Object.keys(this.attributes).forEach(function(t){e.attributes[t].remove(e.domNode)}),this.attributes={}},t.prototype.values=function(){var t=this;return Object.keys(this.attributes).reduce(function(e,n){return e[n]=t.attributes[n].value(t.domNode),e},{})},t}();e.default=a},function(t,e,n){\"use strict\";function r(t,e){return(t.getAttribute(\"class\")||\"\").split(/\\s+/).filter(function(t){return 0===t.indexOf(e+\"-\")})}var o=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(12),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.keys=function(t){return(t.getAttribute(\"class\")||\"\").split(/\\s+/).map(function(t){return t.split(\"-\").slice(0,-1).join(\"-\")})},e.prototype.add=function(t,e){return!!this.canAdd(t,e)&&(this.remove(t),t.classList.add(this.keyName+\"-\"+e),!0)},e.prototype.remove=function(t){r(t,this.keyName).forEach(function(e){t.classList.remove(e)}),0===t.classList.length&&t.removeAttribute(\"class\")},e.prototype.value=function(t){var e=r(t,this.keyName)[0]||\"\",n=e.slice(this.keyName.length+1);return this.canAdd(t,n)?n:\"\"},e}(i.default);e.default=l},function(t,e,n){\"use strict\";function r(t){var e=t.split(\"-\"),n=e.slice(1).map(function(t){return t[0].toUpperCase()+t.slice(1)}).join(\"\");return e[0]+n}var o=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(12),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.keys=function(t){return(t.getAttribute(\"style\")||\"\").split(\";\").map(function(t){return t.split(\":\")[0].trim()})},e.prototype.add=function(t,e){return!!this.canAdd(t,e)&&(t.style[r(this.keyName)]=e,!0)},e.prototype.remove=function(t){t.style[r(this.keyName)]=\"\",t.getAttribute(\"style\")||t.removeAttribute(\"style\")},e.prototype.value=function(t){var e=t.style[r(this.keyName)];return this.canAdd(t,e)?e:\"\"},e}(i.default);e.default=l},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(e,\"__esModule\",{value:!0});var o=function(){function t(t,e){for(var n=0;nr&&this.stack.undo.length>0){var o=this.stack.undo.pop();n=n.compose(o.undo),t=o.redo.compose(t)}else this.lastRecorded=r;this.stack.undo.push({redo:t,undo:n}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift()}}},{key:\"redo\",value:function(){this.change(\"redo\",\"undo\")}},{key:\"transform\",value:function(t){this.stack.undo.forEach(function(e){e.undo=t.transform(e.undo,!0),e.redo=t.transform(e.redo,!0)}),this.stack.redo.forEach(function(e){e.undo=t.transform(e.undo,!0),e.redo=t.transform(e.redo,!0)})}},{key:\"undo\",value:function(){this.change(\"undo\",\"redo\")}}]),e}(y.default);v.DEFAULTS={delay:1e3,maxStack:100,userOnly:!1},e.default=v,e.getLastChangeIndex=s},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){var e=t.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/)||t.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);return e?(e[1]||\"https\")+\"://www.youtube.com/embed/\"+e[2]+\"?showinfo=0\":(e=t.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/))?(e[1]||\"https\")+\"://player.vimeo.com/video/\"+e[2]+\"/\":t}function s(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e.forEach(function(e){var r=document.createElement(\"option\");e===n?r.setAttribute(\"selected\",\"selected\"):r.setAttribute(\"value\",e),t.appendChild(r)})}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=e.BaseTooltip=void 0;var u=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:\"link\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.root.classList.remove(\"ql-hidden\"),this.root.classList.add(\"ql-editing\"),null!=e?this.textbox.value=e:t!==this.root.getAttribute(\"data-mode\")&&(this.textbox.value=\"\"),this.position(this.quill.getBounds(this.quill.selection.savedRange)),this.textbox.select(),this.textbox.setAttribute(\"placeholder\",this.textbox.getAttribute(\"data-\"+t)||\"\"),this.root.setAttribute(\"data-mode\",t)}},{key:\"restoreFocus\",value:function(){var t=this.quill.scrollingContainer.scrollTop;this.quill.focus(),this.quill.scrollingContainer.scrollTop=t}},{key:\"save\",value:function(){var t=this.textbox.value;switch(this.root.getAttribute(\"data-mode\")){case\"link\":var e=this.quill.root.scrollTop;this.linkRange?(this.quill.formatText(this.linkRange,\"link\",t,v.default.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format(\"link\",t,v.default.sources.USER)),this.quill.root.scrollTop=e;break;case\"video\":t=a(t);case\"formula\":if(!t)break;var n=this.quill.getSelection(!0);if(null!=n){var r=n.index+n.length;this.quill.insertEmbed(r,this.root.getAttribute(\"data-mode\"),t,v.default.sources.USER),\"formula\"===this.root.getAttribute(\"data-mode\")&&this.quill.insertText(r+1,\" \",v.default.sources.USER),this.quill.setSelection(r+2,v.default.sources.USER)}}this.textbox.value=\"\",this.hide()}}]),e}(N.default);e.BaseTooltip=R,e.default=L},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=function(){function t(){this.head=this.tail=null,this.length=0}return t.prototype.append=function(){for(var t=[],e=0;e1&&this.append.apply(this,t.slice(1))},t.prototype.contains=function(t){for(var e,n=this.iterator();e=n();)if(e===t)return!0;return!1},t.prototype.insertBefore=function(t,e){t&&(t.next=e,null!=e?(t.prev=e.prev,null!=e.prev&&(e.prev.next=t),e.prev=t,e===this.head&&(this.head=t)):null!=this.tail?(this.tail.next=t,t.prev=this.tail,this.tail=t):(t.prev=null,this.head=this.tail=t),this.length+=1)},t.prototype.offset=function(t){for(var e=0,n=this.head;null!=n;){if(n===t)return e;e+=n.length(),n=n.next}return-1},t.prototype.remove=function(t){this.contains(t)&&(null!=t.prev&&(t.prev.next=t.next),null!=t.next&&(t.next.prev=t.prev),t===this.head&&(this.head=t.next),t===this.tail&&(this.tail=t.prev),this.length-=1)},t.prototype.iterator=function(t){return void 0===t&&(t=this.head),function(){var e=t;return null!=t&&(t=t.next),e}},t.prototype.find=function(t,e){void 0===e&&(e=!1);for(var n,r=this.iterator();n=r();){var o=n.length();if(ta?n(r,t-a,Math.min(e,a+u-t)):n(r,0,Math.min(u,t+e-a)),a+=u}},t.prototype.map=function(t){return this.reduce(function(e,n){return e.push(t(n)),e},[])},t.prototype.reduce=function(t,e){for(var n,r=this.iterator();n=r();)e=t(e,n);return e},t}();e.default=r},function(t,e,n){\"use strict\";var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(17),i=n(1),l={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},a=function(t){function e(e){var n=t.call(this,e)||this;return n.scroll=n,n.observer=new MutationObserver(function(t){n.update(t)}),n.observer.observe(n.domNode,l),n.attach(),n}return r(e,t),e.prototype.detach=function(){t.prototype.detach.call(this),this.observer.disconnect()},e.prototype.deleteAt=function(e,n){this.update(),0===e&&n===this.length()?this.children.forEach(function(t){t.remove()}):t.prototype.deleteAt.call(this,e,n)},e.prototype.formatAt=function(e,n,r,o){this.update(),t.prototype.formatAt.call(this,e,n,r,o)},e.prototype.insertAt=function(e,n,r){this.update(),t.prototype.insertAt.call(this,e,n,r)},e.prototype.optimize=function(e,n){var r=this;void 0===e&&(e=[]),void 0===n&&(n={}),t.prototype.optimize.call(this,n);for(var l=[].slice.call(this.observer.takeRecords());l.length>0;)e.push(l.pop());for(var a=function(t,e){void 0===e&&(e=!0),null!=t&&t!==r&&null!=t.domNode.parentNode&&(null==t.domNode[i.DATA_KEY].mutations&&(t.domNode[i.DATA_KEY].mutations=[]),e&&a(t.parent))},s=function(t){null!=t.domNode[i.DATA_KEY]&&null!=t.domNode[i.DATA_KEY].mutations&&(t instanceof o.default&&t.children.forEach(s),t.optimize(n))},u=e,c=0;u.length>0;c+=1){if(c>=100)throw new Error(\"[Parchment] Maximum optimize iterations reached\");for(u.forEach(function(t){var e=i.find(t.target,!0);null!=e&&(e.domNode===t.target&&(\"childList\"===t.type?(a(i.find(t.previousSibling,!1)),[].forEach.call(t.addedNodes,function(t){var e=i.find(t,!1);a(e,!1),e instanceof o.default&&e.children.forEach(function(t){a(t,!1)})})):\"attributes\"===t.type&&a(e.prev)),a(e))}),this.children.forEach(s),u=[].slice.call(this.observer.takeRecords()),l=u.slice();l.length>0;)e.push(l.pop())}},e.prototype.update=function(e,n){var r=this;void 0===n&&(n={}),e=e||this.observer.takeRecords(),e.map(function(t){var e=i.find(t.target,!0);return null==e?null:null==e.domNode[i.DATA_KEY].mutations?(e.domNode[i.DATA_KEY].mutations=[t],e):(e.domNode[i.DATA_KEY].mutations.push(t),null)}).forEach(function(t){null!=t&&t!==r&&null!=t.domNode[i.DATA_KEY]&&t.update(t.domNode[i.DATA_KEY].mutations||[],n)}),null!=this.domNode[i.DATA_KEY].mutations&&t.prototype.update.call(this,this.domNode[i.DATA_KEY].mutations,n),this.optimize(e,n)},e.blotName=\"scroll\",e.defaultChild=\"block\",e.scope=i.Scope.BLOCK_BLOT,e.tagName=\"DIV\",e}(o.default);e.default=a},function(t,e,n){\"use strict\";function r(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var n in t)if(t[n]!==e[n])return!1;return!0}var o=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(18),l=n(1),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e.formats=function(n){if(n.tagName!==e.tagName)return t.formats.call(this,n)},e.prototype.format=function(n,r){var o=this;n!==this.statics.blotName||r?t.prototype.format.call(this,n,r):(this.children.forEach(function(t){t instanceof i.default||(t=t.wrap(e.blotName,!0)),o.attributes.copy(t)}),this.unwrap())},e.prototype.formatAt=function(e,n,r,o){if(null!=this.formats()[r]||l.query(r,l.Scope.ATTRIBUTE)){this.isolate(e,n).format(r,o)}else t.prototype.formatAt.call(this,e,n,r,o)},e.prototype.optimize=function(n){t.prototype.optimize.call(this,n);var o=this.formats();if(0===Object.keys(o).length)return this.unwrap();var i=this.next;i instanceof e&&i.prev===this&&r(o,i.formats())&&(i.moveChildren(this),i.remove())},e.blotName=\"inline\",e.scope=l.Scope.INLINE_BLOT,e.tagName=\"SPAN\",e}(i.default);e.default=a},function(t,e,n){\"use strict\";var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(18),i=n(1),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.formats=function(n){var r=i.query(e.blotName).tagName;if(n.tagName!==r)return t.formats.call(this,n)},e.prototype.format=function(n,r){null!=i.query(n,i.Scope.BLOCK)&&(n!==this.statics.blotName||r?t.prototype.format.call(this,n,r):this.replaceWith(e.blotName))},e.prototype.formatAt=function(e,n,r,o){null!=i.query(r,i.Scope.BLOCK)?this.format(r,o):t.prototype.formatAt.call(this,e,n,r,o)},e.prototype.insertAt=function(e,n,r){if(null==r||null!=i.query(n,i.Scope.INLINE))t.prototype.insertAt.call(this,e,n,r);else{var o=this.split(e),l=i.create(n,r);o.parent.insertBefore(l,o)}},e.prototype.update=function(e,n){navigator.userAgent.match(/Trident/)?this.build():t.prototype.update.call(this,e,n)},e.blotName=\"block\",e.scope=i.Scope.BLOCK_BLOT,e.tagName=\"P\",e}(o.default);e.default=l},function(t,e,n){\"use strict\";var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(19),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.formats=function(t){},e.prototype.format=function(e,n){t.prototype.formatAt.call(this,0,this.length(),e,n)},e.prototype.formatAt=function(e,n,r,o){0===e&&n===this.length()?this.format(r,o):t.prototype.formatAt.call(this,e,n,r,o)},e.prototype.formats=function(){return this.statics.formats(this.domNode)},e}(o.default);e.default=i},function(t,e,n){\"use strict\";var r=this&&this.__extends||function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};return function(e,n){function r(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(19),i=n(1),l=function(t){function e(e){var n=t.call(this,e)||this;return n.text=n.statics.value(n.domNode),n}return r(e,t),e.create=function(t){return document.createTextNode(t)},e.value=function(t){var e=t.data;return e.normalize&&(e=e.normalize()),e},e.prototype.deleteAt=function(t,e){this.domNode.data=this.text=this.text.slice(0,t)+this.text.slice(t+e)},e.prototype.index=function(t,e){return this.domNode===t?e:-1},e.prototype.insertAt=function(e,n,r){null==r?(this.text=this.text.slice(0,e)+n+this.text.slice(e),this.domNode.data=this.text):t.prototype.insertAt.call(this,e,n,r)},e.prototype.length=function(){return this.text.length},e.prototype.optimize=function(n){t.prototype.optimize.call(this,n),this.text=this.statics.value(this.domNode),0===this.text.length?this.remove():this.next instanceof e&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())},e.prototype.position=function(t,e){return void 0===e&&(e=!1),[this.domNode,t]},e.prototype.split=function(t,e){if(void 0===e&&(e=!1),!e){if(0===t)return this;if(t===this.length())return this.next}var n=i.create(this.domNode.splitText(t));return this.parent.insertBefore(n,this.next),this.text=this.statics.value(this.domNode),n},e.prototype.update=function(t,e){var n=this;t.some(function(t){return\"characterData\"===t.type&&t.target===n.domNode})&&(this.text=this.statics.value(this.domNode))},e.prototype.value=function(){return this.text},e.blotName=\"text\",e.scope=i.Scope.INLINE_BLOT,e}(o.default);e.default=l},function(t,e,n){\"use strict\";var r=document.createElement(\"div\");if(r.classList.toggle(\"test-class\",!1),r.classList.contains(\"test-class\")){var o=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return arguments.length>1&&!this.contains(t)==!e?e:o.call(this,t)}}String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.substr(e,t.length)===t}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){var n=this.toString();(\"number\"!=typeof e||!isFinite(e)||Math.floor(e)!==e||e>n.length)&&(e=n.length),e-=t.length;var r=n.indexOf(t,e);return-1!==r&&r===e}),Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(t){if(null===this)throw new TypeError(\"Array.prototype.find called on null or undefined\");if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var e,n=Object(this),r=n.length>>>0,o=arguments[1],i=0;ie.length?t:e,l=t.length>e.length?e:t,a=i.indexOf(l);if(-1!=a)return r=[[y,i.substring(0,a)],[v,l],[y,i.substring(a+l.length)]],t.length>e.length&&(r[0][0]=r[2][0]=d),r;if(1==l.length)return[[d,t],[y,e]];var u=s(t,e);if(u){var c=u[0],f=u[1],h=u[2],p=u[3],b=u[4],g=n(c,h),m=n(f,p);return g.concat([[v,b]],m)}return o(t,e)}function o(t,e){for(var n=t.length,r=e.length,o=Math.ceil((n+r)/2),l=o,a=2*o,s=new Array(a),u=new Array(a),c=0;cn)v+=2;else if(x>r)p+=2;else if(h){var E=l+f-_;if(E>=0&&E=k)return i(t,e,O,x)}}}for(var A=-m+b;A<=m-g;A+=2){var k,E=l+A;k=A==-m||A!=m&&u[E-1]n)g+=2;else if(j>r)b+=2;else if(!h){var w=l+f-A;if(w>=0&&w=k)return i(t,e,O,x)}}}}return[[d,t],[y,e]]}function i(t,e,r,o){var i=t.substring(0,r),l=e.substring(0,o),a=t.substring(r),s=e.substring(o),u=n(i,l),c=n(a,s);return u.concat(c)}function l(t,e){if(!t||!e||t.charAt(0)!=e.charAt(0))return 0;for(var n=0,r=Math.min(t.length,e.length),o=r,i=0;n=t.length?[r,o,i,s,f]:null}var r=t.length>e.length?t:e,o=t.length>e.length?e:t;if(r.length<4||2*o.lengthu[4].length?s:u:s;var c,f,h,p;return t.length>e.length?(c=i[0],f=i[1],h=i[2],p=i[3]):(h=i[0],p=i[1],c=i[2],f=i[3]),[c,f,h,p,i[4]]}function u(t){t.push([v,\"\"]);for(var e,n=0,r=0,o=0,i=\"\",s=\"\";n1?(0!==r&&0!==o&&(e=l(s,i),0!==e&&(n-r-o>0&&t[n-r-o-1][0]==v?t[n-r-o-1][1]+=s.substring(0,e):(t.splice(0,0,[v,s.substring(0,e)]),n++),s=s.substring(e),i=i.substring(e)),0!==(e=a(s,i))&&(t[n][1]=s.substring(s.length-e)+t[n][1],s=s.substring(0,s.length-e),i=i.substring(0,i.length-e))),0===r?t.splice(n-o,r+o,[y,s]):0===o?t.splice(n-r,r+o,[d,i]):t.splice(n-r-o,r+o,[d,i],[y,s]),n=n-r-o+(r?1:0)+(o?1:0)+1):0!==n&&t[n-1][0]==v?(t[n-1][1]+=t[n][1],t.splice(n,1)):n++,o=0,r=0,i=\"\",s=\"\"}\"\"===t[t.length-1][1]&&t.pop();var c=!1;for(n=1;n0&&r.splice(o+2,0,[l[0],a]),p(r,o,3)}return t}function h(t){for(var e=!1,n=function(t){return t.charCodeAt(0)>=56320&&t.charCodeAt(0)<=57343},r=2;r=55296&&t.charCodeAt(t.length-1)<=56319}(t[r-2][1])&&t[r-1][0]===d&&n(t[r-1][1])&&t[r][0]===y&&n(t[r][1])&&(e=!0,t[r-1][1]=t[r-2][1].slice(-1)+t[r-1][1],t[r][1]=t[r-2][1].slice(-1)+t[r][1],t[r-2][1]=t[r-2][1].slice(0,-1));if(!e)return t;for(var o=[],r=0;r0&&o.push(t[r]);return o}function p(t,e,n){for(var r=e+n-1;r>=0&&r>=e-1;r--)if(r+1=0&&n.length-1}function h(t,e,n){return t.nodeType===t.TEXT_NODE?n.reduce(function(e,n){return n(t,e)},new T.default):t.nodeType===t.ELEMENT_NODE?[].reduce.call(t.childNodes||[],function(r,o){var i=h(o,e,n);return o.nodeType===t.ELEMENT_NODE&&(i=e.reduce(function(t,e){return e(o,t)},i),i=(o[W]||[]).reduce(function(t,e){return e(o,t)},i)),r.concat(i)},new T.default):new T.default}function p(t,e,n){return s(n,t,!0)}function d(t,e){var n=P.default.Attributor.Attribute.keys(t),r=P.default.Attributor.Class.keys(t),o=P.default.Attributor.Style.keys(t),i={};return n.concat(r).concat(o).forEach(function(e){var n=P.default.query(e,P.default.Scope.ATTRIBUTE);null!=n&&(i[n.attrName]=n.value(t),i[n.attrName])||(n=G[e],null==n||n.attrName!==e&&n.keyName!==e||(i[n.attrName]=n.value(t)||void 0),null==(n=X[e])||n.attrName!==e&&n.keyName!==e||(n=X[e],i[n.attrName]=n.value(t)||void 0))}),Object.keys(i).length>0&&(e=s(e,i)),e}function y(t,e){var n=P.default.query(t);if(null==n)return e;if(n.prototype instanceof P.default.Embed){var r={},o=n.value(t);null!=o&&(r[n.blotName]=o,e=(new T.default).insert(r,n.formats(t)))}else\"function\"==typeof n.formats&&(e=s(e,n.blotName,n.formats(t)));return e}function v(t,e){return c(e,\"\\n\")||e.insert(\"\\n\"),e}function b(){return new T.default}function g(t,e){var n=P.default.query(t);if(null==n||\"list-item\"!==n.blotName||!c(e,\"\\n\"))return e;for(var r=-1,o=t.parentNode;!o.classList.contains(\"ql-clipboard\");)\"list\"===(P.default.query(o)||{}).blotName&&(r+=1),o=o.parentNode;return r<=0?e:e.compose((new T.default).retain(e.length()-1).retain(1,{indent:r}))}function m(t,e){return c(e,\"\\n\")||(f(t)||e.length()>0&&t.nextSibling&&f(t.nextSibling))&&e.insert(\"\\n\"),e}function _(t,e){if(f(t)&&null!=t.nextElementSibling&&!c(e,\"\\n\\n\")){var n=t.offsetHeight+parseFloat(u(t).marginTop)+parseFloat(u(t).marginBottom);t.nextElementSibling.offsetTop>t.offsetTop+1.5*n&&e.insert(\"\\n\")}return e}function O(t,e){var n={},r=t.style||{};return r.fontStyle&&\"italic\"===u(t).fontStyle&&(n.italic=!0),r.fontWeight&&(u(t).fontWeight.startsWith(\"bold\")||parseInt(u(t).fontWeight)>=700)&&(n.bold=!0),Object.keys(n).length>0&&(e=s(e,n)),parseFloat(r.textIndent||0)>0&&(e=(new T.default).insert(\"\\t\").concat(e)),e}function w(t,e){var n=t.data;if(\"O:P\"===t.parentNode.tagName)return e.insert(n.trim());if(0===n.trim().length&&t.parentNode.classList.contains(\"ql-clipboard\"))return e;if(!u(t.parentNode).whiteSpace.startsWith(\"pre\")){var r=function(t,e){return e=e.replace(/[^\\u00a0]/g,\"\"),e.length<1&&t?\" \":e};n=n.replace(/\\r\\n/g,\" \").replace(/\\n/g,\" \"),n=n.replace(/\\s\\s+/g,r.bind(r,!0)),(null==t.previousSibling&&f(t.parentNode)||null!=t.previousSibling&&f(t.previousSibling))&&(n=n.replace(/^\\s+/,r.bind(r,!1))),(null==t.nextSibling&&f(t.parentNode)||null!=t.nextSibling&&f(t.nextSibling))&&(n=n.replace(/\\s+$/,r.bind(r,!1)))}return e.insert(n)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.matchText=e.matchSpacing=e.matchNewline=e.matchBlot=e.matchAttributor=e.default=void 0;var x=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},E=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),k=function(){function t(t,e){for(var n=0;n\\r?\\n +\\<\"),this.convert();var e=this.quill.getFormat(this.quill.selection.savedRange.index);if(e[F.default.blotName]){var n=this.container.innerText;return this.container.innerHTML=\"\",(new T.default).insert(n,o({},F.default.blotName,e[F.default.blotName]))}var r=this.prepareMatching(),i=E(r,2),l=i[0],a=i[1],s=h(this.container,l,a);return c(s,\"\\n\")&&null==s.ops[s.ops.length-1].attributes&&(s=s.compose((new T.default).retain(s.length()-1).delete(1))),V.log(\"convert\",this.container.innerHTML,s),this.container.innerHTML=\"\",s}},{key:\"dangerouslyPasteHTML\",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:C.default.sources.API;if(\"string\"==typeof t)this.quill.setContents(this.convert(t),e),this.quill.setSelection(0,C.default.sources.SILENT);else{var r=this.convert(e);this.quill.updateContents((new T.default).retain(t).concat(r),n),this.quill.setSelection(t+r.length(),C.default.sources.SILENT)}}},{key:\"onPaste\",value:function(t){var e=this;if(!t.defaultPrevented&&this.quill.isEnabled()){var n=this.quill.getSelection(),r=(new T.default).retain(n.index),o=this.quill.scrollingContainer.scrollTop;this.container.focus(),this.quill.selection.update(C.default.sources.SILENT),setTimeout(function(){r=r.concat(e.convert()).delete(n.length),e.quill.updateContents(r,C.default.sources.USER),e.quill.setSelection(r.length()-n.length,C.default.sources.SILENT),e.quill.scrollingContainer.scrollTop=o,e.quill.focus()},1)}}},{key:\"prepareMatching\",value:function(){var t=this,e=[],n=[];return this.matchers.forEach(function(r){var o=E(r,2),i=o[0],l=o[1];switch(i){case Node.TEXT_NODE:n.push(l);break;case Node.ELEMENT_NODE:e.push(l);break;default:[].forEach.call(t.container.querySelectorAll(i),function(t){t[W]=t[W]||[],t[W].push(l)})}}),[e,n]}}]),e}(B.default);$.DEFAULTS={matchers:[],matchVisual:!0},e.default=$,e.matchAttributor=d,e.matchBlot=y,e.matchNewline=m,e.matchSpacing=_,e.matchText=w},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){for(var n=0;n '},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){for(var n=0;nr.right&&(i=r.right-o.right,this.root.style.left=e+i+\"px\"),o.leftr.bottom){var l=o.bottom-o.top,a=t.bottom-t.top+l;this.root.style.top=n-a+\"px\",this.root.classList.add(\"ql-flip\")}return i}},{key:\"show\",value:function(){this.root.classList.remove(\"ql-editing\"),this.root.classList.remove(\"ql-hidden\")}}]),t}();e.default=i},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var a=function(){function t(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var l,a=t[Symbol.iterator]();!(r=(l=a.next()).done)&&(n.push(l.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{!r&&a.return&&a.return()}finally{if(o)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),s=function t(e,n,r){null===e&&(e=Function.prototype);var o=Object.getOwnPropertyDescriptor(e,n);if(void 0===o){var i=Object.getPrototypeOf(e);return null===i?void 0:t(i,n,r)}if(\"value\"in o)return o.value;var l=o.get;if(void 0!==l)return l.call(r)},u=function(){function t(t,e){for(var n=0;n','','',''].join(\"\"),e.default=w},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var o=n(29),i=r(o),l=n(36),a=n(38),s=n(64),u=n(65),c=r(u),f=n(66),h=r(f),p=n(67),d=r(p),y=n(37),v=n(26),b=n(39),g=n(40),m=n(56),_=r(m),O=n(68),w=r(O),x=n(27),E=r(x),k=n(69),A=r(k),j=n(70),N=r(j),T=n(71),S=r(T),P=n(72),q=r(P),C=n(73),L=r(C),R=n(13),M=r(R),B=n(74),I=r(B),D=n(75),U=r(D),F=n(57),z=r(F),H=n(41),K=r(H),Y=n(28),V=r(Y),W=n(59),Z=r(W),G=n(60),X=r(G),$=n(61),Q=r($),J=n(108),tt=r(J),et=n(62),nt=r(et);i.default.register({\"attributors/attribute/direction\":a.DirectionAttribute,\"attributors/class/align\":l.AlignClass,\"attributors/class/background\":y.BackgroundClass,\"attributors/class/color\":v.ColorClass,\"attributors/class/direction\":a.DirectionClass,\"attributors/class/font\":b.FontClass,\"attributors/class/size\":g.SizeClass,\"attributors/style/align\":l.AlignStyle,\"attributors/style/background\":y.BackgroundStyle,\"attributors/style/color\":v.ColorStyle,\"attributors/style/direction\":a.DirectionStyle,\"attributors/style/font\":b.FontStyle,\"attributors/style/size\":g.SizeStyle},!0),i.default.register({\"formats/align\":l.AlignClass,\"formats/direction\":a.DirectionClass,\"formats/indent\":s.IndentClass,\"formats/background\":y.BackgroundStyle,\"formats/color\":v.ColorStyle,\"formats/font\":b.FontClass,\"formats/size\":g.SizeClass,\"formats/blockquote\":c.default,\"formats/code-block\":M.default,\"formats/header\":h.default,\"formats/list\":d.default,\"formats/bold\":_.default,\"formats/code\":R.Code,\"formats/italic\":w.default,\"formats/link\":E.default,\"formats/script\":A.default,\"formats/strike\":N.default,\"formats/underline\":S.default,\"formats/image\":q.default,\"formats/video\":L.default,\"formats/list/item\":p.ListItem,\"modules/formula\":I.default,\"modules/syntax\":U.default,\"modules/toolbar\":z.default,\"themes/bubble\":tt.default,\"themes/snow\":nt.default,\"ui/icons\":K.default,\"ui/picker\":V.default,\"ui/icon-picker\":X.default,\"ui/color-picker\":Z.default,\"ui/tooltip\":Q.default},!0),e.default=i.default},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.IndentClass=void 0;var l=function(){function t(t,e){for(var n=0;n0&&this.children.tail.format(t,e)}},{key:\"formats\",value:function(){return o({},this.statics.blotName,this.statics.formats(this.domNode))}},{key:\"insertBefore\",value:function(t,n){if(t instanceof v)u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"insertBefore\",this).call(this,t,n);else{var r=null==n?this.length():n.offset(this),o=this.split(r);o.parent.insertBefore(t,o)}}},{key:\"optimize\",value:function(t){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"optimize\",this).call(this,t);var n=this.next;null!=n&&n.prev===this&&n.statics.blotName===this.statics.blotName&&n.domNode.tagName===this.domNode.tagName&&n.domNode.getAttribute(\"data-checked\")===this.domNode.getAttribute(\"data-checked\")&&(n.moveChildren(this),n.remove())}},{key:\"replace\",value:function(t){if(t.statics.blotName!==this.statics.blotName){var n=f.default.create(this.statics.defaultChild);t.moveChildren(n),this.appendChild(n)}u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"replace\",this).call(this,t)}}]),e}(y.default);b.blotName=\"list\",b.scope=f.default.Scope.BLOCK_BLOT,b.tagName=[\"OL\",\"UL\"],b.defaultChild=\"list-item\",b.allowedChildren=[v],e.ListItem=v,e.default=b},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(56),a=function(t){return t&&t.__esModule?t:{default:t}}(l),s=function(t){function e(){return r(this,e),o(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return i(e,t),e}(a.default);s.blotName=\"italic\",s.tagName=[\"EM\",\"I\"],e.default=s},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){for(var n=0;n-1?n?this.domNode.setAttribute(t,n):this.domNode.removeAttribute(t):a(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"format\",this).call(this,t,n)}}],[{key:\"create\",value:function(t){var n=a(e.__proto__||Object.getPrototypeOf(e),\"create\",this).call(this,t);return\"string\"==typeof t&&n.setAttribute(\"src\",this.sanitize(t)),n}},{key:\"formats\",value:function(t){return f.reduce(function(e,n){return t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e},{})}},{key:\"match\",value:function(t){return/\\.(jpe?g|gif|png)$/.test(t)||/^data:image\\/.+;base64/.test(t)}},{key:\"sanitize\",value:function(t){return(0,c.sanitize)(t,[\"http\",\"https\",\"data\"])?t:\"//:0\"}},{key:\"value\",value:function(t){return t.getAttribute(\"src\")}}]),e}(u.default.Embed);h.blotName=\"image\",h.tagName=\"IMG\",e.default=h},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){for(var n=0;n-1?n?this.domNode.setAttribute(t,n):this.domNode.removeAttribute(t):a(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"format\",this).call(this,t,n)}}],[{key:\"create\",value:function(t){var n=a(e.__proto__||Object.getPrototypeOf(e),\"create\",this).call(this,t);return n.setAttribute(\"frameborder\",\"0\"),n.setAttribute(\"allowfullscreen\",!0),n.setAttribute(\"src\",this.sanitize(t)),n}},{key:\"formats\",value:function(t){return f.reduce(function(e,n){return t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e},{})}},{key:\"sanitize\",value:function(t){return c.default.sanitize(t)}},{key:\"value\",value:function(t){return t.getAttribute(\"src\")}}]),e}(s.BlockEmbed);h.blotName=\"video\",h.className=\"ql-video\",h.tagName=\"IFRAME\",e.default=h},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=e.FormulaBlot=void 0;var a=function(){function t(t,e){for(var n=0;n0||null==this.cachedText)&&(this.domNode.innerHTML=t(e),this.domNode.normalize(),this.attach()),this.cachedText=e)}}]),e}(v.default);b.className=\"ql-syntax\";var g=new c.default.Attributor.Class(\"token\",\"hljs\",{scope:c.default.Scope.INLINE}),m=function(t){function e(t,n){o(this,e);var r=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));if(\"function\"!=typeof r.options.highlight)throw new Error(\"Syntax module requires highlight.js. Please include the library on the page before Quill.\");var l=null;return r.quill.on(h.default.events.SCROLL_OPTIMIZE,function(){clearTimeout(l),l=setTimeout(function(){r.highlight(),l=null},r.options.interval)}),r.highlight(),r}return l(e,t),a(e,null,[{key:\"register\",value:function(){h.default.register(g,!0),h.default.register(b,!0)}}]),a(e,[{key:\"highlight\",value:function(){var t=this;if(!this.quill.selection.composing){this.quill.update(h.default.sources.USER);var e=this.quill.getSelection();this.quill.scroll.descendants(b).forEach(function(e){e.highlight(t.options.highlight)}),this.quill.update(h.default.sources.SILENT),null!=e&&this.quill.setSelection(e,h.default.sources.SILENT)}}}]),e}(d.default);m.DEFAULTS={highlight:function(){return null==window.hljs?null:function(t){return window.hljs.highlightAuto(t).value}}(),interval:1e3},e.CodeBlock=b,e.CodeToken=g,e.default=m},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e){t.exports=' '},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function i(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function l(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=e.BubbleTooltip=void 0;var a=function t(e,n,r){null===e&&(e=Function.prototype);var o=Object.getOwnPropertyDescriptor(e,n);if(void 0===o){var i=Object.getPrototypeOf(e);return null===i?void 0:t(i,n,r)}if(\"value\"in o)return o.value;var l=o.get;if(void 0!==l)return l.call(r)},s=function(){function t(t,e){for(var n=0;n0&&o===h.default.sources.USER){r.show(),r.root.style.left=\"0px\",r.root.style.width=\"\",r.root.style.width=r.root.offsetWidth+\"px\";var i=r.quill.getLines(e.index,e.length);if(1===i.length)r.position(r.quill.getBounds(e));else{var l=i[i.length-1],a=r.quill.getIndex(l),s=Math.min(l.length()-1,e.index+e.length-a),u=r.quill.getBounds(new y.Range(a,s));r.position(u)}}else document.activeElement!==r.textbox&&r.quill.hasFocus()&&r.hide()}),r}return l(e,t),s(e,[{key:\"listen\",value:function(){var t=this;a(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"listen\",this).call(this),this.root.querySelector(\".ql-close\").addEventListener(\"click\",function(){t.root.classList.remove(\"ql-editing\")}),this.quill.on(h.default.events.SCROLL_OPTIMIZE,function(){setTimeout(function(){if(!t.root.classList.contains(\"ql-hidden\")){var e=t.quill.getSelection();null!=e&&t.position(t.quill.getBounds(e))}},1)})}},{key:\"cancel\",value:function(){this.show()}},{key:\"position\",value:function(t){var n=a(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"position\",this).call(this,t),r=this.root.querySelector(\".ql-tooltip-arrow\");if(r.style.marginLeft=\"\",0===n)return n;r.style.marginLeft=-1*n-r.offsetWidth/2+\"px\"}}]),e}(p.BaseTooltip);_.TEMPLATE=['','
    ','','',\"
    \"].join(\"\"),e.BubbleTooltip=_,e.default=m},function(t,e,n){t.exports=n(63)}]).default})}).call(e,n(43).Buffer)},function(t,e,n){var r=n(11),o=n(1),i=r(o,\"Map\");t.exports=i},function(t,e,n){var r=n(1),o=r.Symbol;t.exports=o},function(t,e){function n(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}t.exports=n},function(t,e,n){function r(t,e,n){(void 0===n||i(t[e],n))&&(void 0!==n||e in t)||o(t,e,n)}var o=n(10),i=n(8);t.exports=r},function(t,e,n){function r(t,e,n,f,h){t!==e&&l(e,function(l,u){if(s(l))h||(h=new o),a(t,e,u,n,r,f,h);else{var p=f?f(c(t,u),l,u+\"\",t,e,h):void 0;void 0===p&&(p=l),i(t,u,p)}},u)}var o=n(48),i=n(19),l=n(53),a=n(58),s=n(0),u=n(34),c=n(27);t.exports=r},function(t,e,n){function r(t,e){return l(i(t,e,o),t+\"\")}var o=n(28),i=n(96),l=n(97);t.exports=r},function(t,e,n){var r=n(11),o=function(){try{var t=r(Object,\"defineProperty\");return t({},\"\",{}),t}catch(t){}}();t.exports=o},function(t,e,n){(function(e){var n=\"object\"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(e,n(35))},function(t,e,n){var r=n(95),o=r(Object.getPrototypeOf,Object);t.exports=o},function(t,e){function n(t,e){var n=typeof t;return!!(e=null==e?r:e)&&(\"number\"==n||\"symbol\"!=n&&o.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=r}var r=9007199254740991;t.exports=n},function(t,e,n){var r=n(56),o=n(61),i=n(93),l=i&&i.isTypedArray,a=l?o(l):r;t.exports=a},function(t,e,n){function r(t){return l(t)?o(t,!0):i(t)}var o=n(50),i=n(57),l=n(12);t.exports=r},function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e,n){\"use strict\";e.a={modules:[\"DisplaySize\",\"Toolbar\",\"Resize\"],overlayStyles:{position:\"absolute\",boxSizing:\"border-box\",border:\"1px dashed #444\"},handleStyles:{position:\"absolute\",height:\"12px\",width:\"12px\",backgroundColor:\"white\",border:\"1px solid #777\",boxSizing:\"border-box\",opacity:\"0.80\"},displayStyles:{position:\"absolute\",font:\"12px/1.0 Arial, Helvetica, sans-serif\",padding:\"4px 8px\",textAlign:\"center\",backgroundColor:\"white\",color:\"#333\",border:\"1px solid #777\",boxSizing:\"border-box\",opacity:\"0.80\",cursor:\"default\"},toolbarStyles:{position:\"absolute\",top:\"-12px\",right:\"0\",left:\"0\",height:\"0\",minWidth:\"100px\",font:\"12px/1.0 Arial, Helvetica, sans-serif\",textAlign:\"center\",color:\"#333\",boxSizing:\"border-box\",cursor:\"default\"},toolbarButtonStyles:{display:\"inline-block\",width:\"24px\",height:\"24px\",background:\"white\",border:\"1px solid #999\",verticalAlign:\"middle\"},toolbarButtonSvgStyles:{fill:\"#444\",stroke:\"#444\",strokeWidth:\"2\"}}},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,\"a\",function(){return a});var l=n(9),a=function(t){function e(){var t,n,i,l;r(this,e);for(var a=arguments.length,s=Array(a),u=0;u120&&t[1]>30)Object.assign(i.display.style,{right:\"4px\",bottom:\"4px\",left:\"auto\"});else if(\"right\"==i.img.style.float){var e=i.display.getBoundingClientRect();Object.assign(i.display.style,{right:\"auto\",bottom:\"-\"+(e.height+4)+\"px\",left:\"-\"+(e.width+4)+\"px\"})}else{var n=i.display.getBoundingClientRect();Object.assign(i.display.style,{right:\"-\"+(n.width+4)+\"px\",bottom:\"-\"+(n.height+4)+\"px\",left:\"auto\"})}}},i.getCurrentSize=function(){return[i.img.width,Math.round(i.img.width/i.img.naturalWidth*i.img.naturalHeight)]},l=n,o(i,l)}return i(e,t),e}(l.a)},function(t,e,n){\"use strict\";function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function i(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}n.d(e,\"a\",function(){return a});var l=n(9),a=function(t){function e(){var t,n,i,l;r(this,e);for(var a=arguments.length,s=Array(a),u=0;u0&&(r.style.borderLeftWidth=\"0\"),Object.assign(r.children[0].style,i.options.toolbarButtonSvgStyles),e.isApplied()&&i._selectButton(r),i.toolbar.appendChild(r)})},i._selectButton=function(t){t.style.filter=\"invert(20%)\"},l=n,o(i,l)}return i(e,t),e}(d.a)},function(t,e,n){var r=n(18),o=n(21),i=n(70),l=n(108),a=o(function(t){return t.push(void 0,i),r(l,void 0,t)});t.exports=a},function(t,e,n){\"use strict\";function r(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}function o(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(15),a=n.n(l),s=n(40),u=n.n(s),c=n(36),f=n(37),h=n(39),p=n(38),d=function(){function t(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{};i(this,t),this.initializeModules=function(){n.removeModules(),n.modules=n.moduleClasses.map(function(t){return new(v[t]||t)(n)}),n.modules.forEach(function(t){t.onCreate()}),n.onUpdate()},this.onUpdate=function(){n.repositionElements(),n.modules.forEach(function(t){t.onUpdate()})},this.removeModules=function(){n.modules.forEach(function(t){t.onDestroy()}),n.modules=[]},this.handleClick=function(t){if(t.target&&t.target.tagName&&\"IMG\"===t.target.tagName.toUpperCase()){if(n.img===t.target)return;n.img&&n.hide(),n.show(t.target),t.preventDefault()}else n.img&&n.hide()},this.handleScroll=function(t){n.hide()},this.show=function(t){n.img=t,n.showOverlay(),n.initializeModules()},this.showOverlay=function(){n.overlay&&n.hideOverlay(),n.quill.setSelection(null),n.setUserSelect(\"none\"),document.addEventListener(\"keyup\",n.checkImage,!0),n.quill.root.addEventListener(\"input\",n.checkImage,!0),n.overlay=document.createElement(\"div\"),Object.assign(n.overlay.style,n.options.overlayStyles),n.quill.root.parentNode.appendChild(n.overlay),n.repositionElements()},this.hideOverlay=function(){n.overlay&&(n.quill.root.parentNode.removeChild(n.overlay),n.overlay=void 0,document.removeEventListener(\"keyup\",n.checkImage),n.quill.root.removeEventListener(\"input\",n.checkImage),n.setUserSelect(\"\"))},this.repositionElements=function(){if(n.overlay&&n.img){var t=n.quill.root.parentNode,e=n.img.getBoundingClientRect(),r=t.getBoundingClientRect();Object.assign(n.overlay.style,{left:e.left-r.left-1+t.scrollLeft+\"px\",top:e.top-r.top+t.scrollTop+\"px\",width:e.width+\"px\",height:e.height+\"px\"})}},this.hide=function(){n.hideOverlay(),n.removeModules(),n.img=void 0},this.setUserSelect=function(t){[\"userSelect\",\"mozUserSelect\",\"webkitUserSelect\",\"msUserSelect\"].forEach(function(e){n.quill.root.style[e]=t,document.documentElement.style[e]=t})},this.checkImage=function(t){n.img&&(46!=t.keyCode&&8!=t.keyCode||(window.Quill||a.a).find(n.img).deleteAt(0),n.hide())},this.quill=e;var o=!1;r.modules&&(o=r.modules.slice()),this.options=u()({},r,c.a),!1!==o&&(this.options.modules=o),document.execCommand(\"enableObjectResizing\",!1,\"false\"),this.quill.root.addEventListener(\"click\",this.handleClick,!1),this.quill.root.addEventListener(\"mscontrolselect\",this.handleClick,!1),this.quill.root.addEventListener(\"scroll\",this.handleScroll,!1),this.quill.root.parentNode.style.position=this.quill.root.parentNode.style.position||\"relative\",this.moduleClasses=this.options.modules,this.modules=[]};if(e.default=b,window.Quill){var g=[\"alt\",\"height\",\"width\",\"style\"],m=window.Quill.import(\"formats/image\"),_=function(t){function e(){return i(this,e),r(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return o(e,t),d(e,[{key:\"format\",value:function(t,n){g.indexOf(t)>-1?n?this.domNode.setAttribute(t,n):this.domNode.removeAttribute(t):y(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),\"format\",this).call(this,t,n)}}],[{key:\"formats\",value:function(t){return g.reduce(function(e,n){return t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e},{})}}]),e}(m);window.Quill.register(_,!0),\"function\"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");t=Object(t);for(var e=1;e0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=t.indexOf(\"=\");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function o(t){var e=r(t),n=e[0],o=e[1];return 3*(n+o)/4-o}function i(t,e,n){return 3*(e+n)/4-n}function l(t){for(var e,n=r(t),o=n[0],l=n[1],a=new h(i(t,o,l)),s=0,u=l>0?o-4:o,c=0;c>16&255,a[s++]=e>>8&255,a[s++]=255&e;return 2===l&&(e=f[t.charCodeAt(c)]<<2|f[t.charCodeAt(c+1)]>>4,a[s++]=255&e),1===l&&(e=f[t.charCodeAt(c)]<<10|f[t.charCodeAt(c+1)]<<4|f[t.charCodeAt(c+2)]>>2,a[s++]=e>>8&255,a[s++]=255&e),a}function a(t){return c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+c[63&t]}function s(t,e,n){for(var r,o=[],i=e;il?l:i+16383));return 1===r?(e=t[n-1],o.push(c[e>>2]+c[e<<4&63]+\"==\")):2===r&&(e=(t[n-2]<<8)+t[n-1],o.push(c[e>>10]+c[e>>4&63]+c[e<<2&63]+\"=\")),o.join(\"\")}e.byteLength=o,e.toByteArray=l,e.fromByteArray=u;for(var c=[],f=[],h=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,p=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",d=0,y=p.length;d=r())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+r().toString(16)+\" bytes\");return 0|t}function y(t){return+t!=t&&(t=0),i.alloc(+t)}function v(t,e){if(i.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return K(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return W(t).length;default:if(r)return K(t).length;e=(\"\"+e).toLowerCase(),r=!0}}function b(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if(n>>>=0,e>>>=0,n<=e)return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return q(this,e,n);case\"utf8\":case\"utf-8\":return N(this,e,n);case\"ascii\":return S(this,e,n);case\"latin1\":case\"binary\":return P(this,e,n);case\"base64\":return j(this,e,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,e,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,o){if(0===t.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if(\"string\"==typeof e&&(e=i.from(e,r)),i.isBuffer(e))return 0===e.length?-1:_(t,e,n,r,o);if(\"number\"==typeof e)return e&=255,i.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):_(t,[e],n,r,o);throw new TypeError(\"val must be string, number or Buffer\")}function _(t,e,n,r,o){function i(t,e){return 1===l?t[e]:t.readUInt16BE(e*l)}var l=1,a=t.length,s=e.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(t.length<2||e.length<2)return-1;l=2,a/=2,s/=2,n/=2}var u;if(o){var c=-1;for(u=n;ua&&(n=a-s),u=n;u>=0;u--){for(var f=!0,h=0;ho&&(r=o):r=o;var i=e.length;if(i%2!=0)throw new TypeError(\"Invalid hex string\");r>i/2&&(r=i/2);for(var l=0;l239?4:i>223?3:i>191?2:1;if(o+a<=n){var s,u,c,f;switch(a){case 1:i<128&&(l=i);break;case 2:s=t[o+1],128==(192&s)&&(f=(31&i)<<6|63&s)>127&&(l=f);break;case 3:s=t[o+1],u=t[o+2],128==(192&s)&&128==(192&u)&&(f=(15&i)<<12|(63&s)<<6|63&u)>2047&&(f<55296||f>57343)&&(l=f);break;case 4:s=t[o+1],u=t[o+2],c=t[o+3],128==(192&s)&&128==(192&u)&&128==(192&c)&&(f=(15&i)<<18|(63&s)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(l=f)}}null===l?(l=65533,a=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),o+=a}return T(r)}function T(t){var e=t.length;if(e<=J)return String.fromCharCode.apply(String,t);for(var n=\"\",r=0;rr)&&(n=r);for(var o=\"\",i=e;in)throw new RangeError(\"Trying to access beyond buffer length\")}function R(t,e,n,r,o,l){if(!i.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError(\"Index out of range\")}function M(t,e,n,r){e<0&&(e=65535+e+1);for(var o=0,i=Math.min(t.length-n,2);o>>8*(r?o:1-o)}function B(t,e,n,r){e<0&&(e=4294967295+e+1);for(var o=0,i=Math.min(t.length-n,4);o>>8*(r?o:3-o)&255}function I(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function D(t,e,n,r,o){return o||I(t,e,n,4,3.4028234663852886e38,-3.4028234663852886e38),$.write(t,e,n,r,23,4),n+4}function U(t,e,n,r,o){return o||I(t,e,n,8,1.7976931348623157e308,-1.7976931348623157e308),$.write(t,e,n,r,52,8),n+8}function F(t){if(t=z(t).replace(tt,\"\"),t.length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}function z(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}function H(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function K(t,e){e=e||1/0;for(var n,r=t.length,o=null,i=[],l=0;l55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(l+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function Y(t){for(var e=[],n=0;n>8,o=n%256,i.push(o),i.push(r);return i}function W(t){return X.toByteArray(F(t))}function Z(t,e,n,r){for(var o=0;o=e.length||o>=t.length);++o)e[o+n]=t[o];return o}function G(t){return t!==t}/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nvar X=n(42),$=n(44),Q=n(45);e.Buffer=i,e.SlowBuffer=y,e.INSPECT_MAX_BYTES=50,i.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&\"function\"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=r(),i.poolSize=8192,i._augment=function(t){return t.__proto__=i.prototype,t},i.from=function(t,e,n){return l(null,t,e,n)},i.TYPED_ARRAY_SUPPORT&&(i.prototype.__proto__=Uint8Array.prototype,i.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&i[Symbol.species]===i&&Object.defineProperty(i,Symbol.species,{value:null,configurable:!0})),i.alloc=function(t,e,n){return s(null,t,e,n)},i.allocUnsafe=function(t){return u(null,t)},i.allocUnsafeSlow=function(t){return u(null,t)},i.isBuffer=function(t){return!(null==t||!t._isBuffer)},i.compare=function(t,e){if(!i.isBuffer(t)||!i.isBuffer(e))throw new TypeError(\"Arguments must be Buffers\");if(t===e)return 0;for(var n=t.length,r=e.length,o=0,l=Math.min(n,r);o0&&(t=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(t+=\" ... \")),\"\"},i.prototype.compare=function(t,e,n,r,o){if(!i.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError(\"out of range index\");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,o>>>=0,this===t)return 0;for(var l=o-r,a=n-e,s=Math.min(l,a),u=this.slice(r,o),c=t.slice(e,n),f=0;fo)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var i=!1;;)switch(r){case\"hex\":return O(this,t,e,n);case\"utf8\":case\"utf-8\":return w(this,t,e,n);case\"ascii\":return x(this,t,e,n);case\"latin1\":case\"binary\":return E(this,t,e,n);case\"base64\":return k(this,t,e,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return A(this,t,e,n);default:if(i)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),i=!0}},i.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var J=4096;i.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(o*=256);)r+=this[t+--e]*o;return r},i.prototype.readUInt8=function(t,e){return e||L(t,1,this.length),this[t]},i.prototype.readUInt16LE=function(t,e){return e||L(t,2,this.length),this[t]|this[t+1]<<8},i.prototype.readUInt16BE=function(t,e){return e||L(t,2,this.length),this[t]<<8|this[t+1]},i.prototype.readUInt32LE=function(t,e){return e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},i.prototype.readUInt32BE=function(t,e){return e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},i.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||L(t,e,this.length);for(var r=this[t],o=1,i=0;++i=o&&(r-=Math.pow(2,8*e)),r},i.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||L(t,e,this.length);for(var r=e,o=1,i=this[t+--r];r>0&&(o*=256);)i+=this[t+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i},i.prototype.readInt8=function(t,e){return e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},i.prototype.readInt16LE=function(t,e){e||L(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt16BE=function(t,e){e||L(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},i.prototype.readInt32LE=function(t,e){return e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},i.prototype.readInt32BE=function(t,e){return e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},i.prototype.readFloatLE=function(t,e){return e||L(t,4,this.length),$.read(this,t,!0,23,4)},i.prototype.readFloatBE=function(t,e){return e||L(t,4,this.length),$.read(this,t,!1,23,4)},i.prototype.readDoubleLE=function(t,e){return e||L(t,8,this.length),$.read(this,t,!0,52,8)},i.prototype.readDoubleBE=function(t,e){return e||L(t,8,this.length),$.read(this,t,!1,52,8)},i.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e|=0,n|=0,!r){R(this,t,e,n,Math.pow(2,8*n)-1,0)}var o=1,i=0;for(this[e]=255&t;++i=0&&(i*=256);)this[e+o]=t/i&255;return e+n},i.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,1,255,0),i.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},i.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,2,65535,0),i.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):M(this,t,e,!0),e+2},i.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,2,65535,0),i.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):M(this,t,e,!1),e+2},i.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,4,4294967295,0),i.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):B(this,t,e,!0),e+4},i.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,4,4294967295,0),i.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):B(this,t,e,!1),e+4},i.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var o=Math.pow(2,8*n-1);R(this,t,e,n,o-1,-o)}var i=0,l=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},i.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var o=Math.pow(2,8*n-1);R(this,t,e,n,o-1,-o)}var i=n-1,l=1,a=0;for(this[e+i]=255&t;--i>=0&&(l*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/l>>0)-a&255;return e+n},i.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,1,127,-128),i.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},i.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,2,32767,-32768),i.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):M(this,t,e,!0),e+2},i.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,2,32767,-32768),i.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):M(this,t,e,!1),e+2},i.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,4,2147483647,-2147483648),i.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):B(this,t,e,!0),e+4},i.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||R(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),i.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):B(this,t,e,!1),e+4},i.prototype.writeFloatLE=function(t,e,n){return D(this,t,e,!0,n)},i.prototype.writeFloatBE=function(t,e,n){return D(this,t,e,!1,n)},i.prototype.writeDoubleLE=function(t,e,n){return U(this,t,e,!0,n)},i.prototype.writeDoubleBE=function(t,e,n){return U(this,t,e,!1,n)},i.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),t.length-e=0;--o)t[o+e]=this[o+n];else if(l<1e3||!i.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,t||(t=0);var l;if(\"number\"==typeof t)for(l=e;l>1,c=-7,f=n?o-1:0,h=n?-1:1,p=t[e+f];for(f+=h,i=p&(1<<-c)-1,p>>=-c,c+=a;c>0;i=256*i+t[e+f],f+=h,c-=8);for(l=i&(1<<-c)-1,i>>=-c,c+=r;c>0;l=256*l+t[e+f],f+=h,c-=8);if(0===i)i=1-u;else{if(i===s)return l?NaN:1/0*(p?-1:1);l+=Math.pow(2,r),i-=u}return(p?-1:1)*l*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var l,a,s,u=8*i-o-1,c=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,l=c):(l=Math.floor(Math.log(e)/Math.LN2),e*(s=Math.pow(2,-l))<1&&(l--,s*=2),e+=l+f>=1?h/s:h*Math.pow(2,1-f),e*s>=2&&(l++,s/=2),l+f>=c?(a=0,l=c):l+f>=1?(a=(e*s-1)*Math.pow(2,o),l+=f):(a=e*Math.pow(2,f-1)*Math.pow(2,o),l=0));o>=8;t[n+p]=255&a,p+=d,a/=256,o-=8);for(l=l<0;t[n+p]=255&l,p+=d,l/=256,u-=8);t[n+p-d]|=128*y}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==n.call(t)}},function(t,e,n){function r(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(l=t.length>3&&\"function\"==typeof l?(o--,l):void 0,a&&i(n[0],n[1],a)&&(l=o<3?void 0:l,o=1),e=Object(e);++r-1}var o=n(4);t.exports=r},function(t,e,n){function r(t,e){var n=this.__data__,r=o(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}var o=n(4);t.exports=r},function(t,e,n){function r(){this.size=0,this.__data__={hash:new o,map:new(l||i),string:new o}}var o=n(46),i=n(3),l=n(16);t.exports=r},function(t,e,n){function r(t){var e=o(this,t).delete(t);return this.size-=e?1:0,e}var o=n(6);t.exports=r},function(t,e,n){function r(t){return o(this,t).get(t)}var o=n(6);t.exports=r},function(t,e,n){function r(t){return o(this,t).has(t)}var o=n(6);t.exports=r},function(t,e,n){function r(t,e){var n=o(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this}var o=n(6);t.exports=r},function(t,e){function n(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}t.exports=n},function(t,e,n){(function(t){var r=n(23),o=\"object\"==typeof e&&e&&!e.nodeType&&e,i=o&&\"object\"==typeof t&&t&&!t.nodeType&&t,l=i&&i.exports===o,a=l&&r.process,s=function(){try{var t=i&&i.require&&i.require(\"util\").types;return t||a&&a.binding&&a.binding(\"util\")}catch(t){}}();t.exports=s}).call(e,n(14)(t))},function(t,e){function n(t){return o.call(t)}var r=Object.prototype,o=r.toString;t.exports=n},function(t,e){function n(t,e){return function(n){return t(e(n))}}t.exports=n},function(t,e,n){function r(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var r=arguments,l=-1,a=i(r.length-e,0),s=Array(a);++l0){if(++e>=r)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;t.exports=n},function(t,e,n){function r(){this.__data__=new o,this.size=0}var o=n(3);t.exports=r},function(t,e){function n(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}t.exports=n},function(t,e){function n(t){return this.__data__.get(t)}t.exports=n},function(t,e){function n(t){return this.__data__.has(t)}t.exports=n},function(t,e,n){function r(t,e){var n=this.__data__;if(n instanceof o){var r=n.__data__;if(!i||r.length\\n \\n \\n \\n'},function(t,e){t.exports='\\n \\n \\n \\n'},function(t,e){t.exports='\\n \\n \\n \\n'}])});", "!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)(\"object\"==typeof exports?exports:t)[n]=r[n]}}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=15)}([function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=r(4),i=\"function\"==typeof Symbol&&\"symbol\"===n(Symbol(\"foo\")),s=Object.prototype.toString,a=Array.prototype.concat,u=Object.defineProperty,p=u&&function(){var t={};try{for(var e in u(t,\"x\",{enumerable:!1,value:t}),t)return!1;return t.x===t}catch(t){return!1}}(),c=function(t,e,r,n){var o;(!(e in t)||\"function\"==typeof(o=n)&&\"[object Function]\"===s.call(o)&&n())&&(p?u(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r)},f=function(t,e){var r=arguments.length>2?arguments[2]:{},n=o(e);i&&(n=a.call(n,Object.getOwnPropertySymbols(e)));for(var s=0;s0&&(r.attributes=e),this.push(r))},p.prototype.delete=function(t){return t<=0?this:this.push({delete:t})},p.prototype.retain=function(t,e){if(t<=0)return this;var r={retain:t};return null!=e&&\"object\"===n(e)&&Object.keys(e).length>0&&(r.attributes=e),this.push(r)},p.prototype.push=function(t){var e=this.ops.length,r=this.ops[e-1];if(t=s(!0,{},t),\"object\"===n(r)){if(\"number\"==typeof t.delete&&\"number\"==typeof r.delete)return this.ops[e-1]={delete:r.delete+t.delete},this;if(\"number\"==typeof r.delete&&null!=t.insert&&(e-=1,\"object\"!==n(r=this.ops[e-1])))return this.ops.unshift(t),this;if(i(t.attributes,r.attributes)){if(\"string\"==typeof t.insert&&\"string\"==typeof r.insert)return this.ops[e-1]={insert:r.insert+t.insert},\"object\"===n(t.attributes)&&(this.ops[e-1].attributes=t.attributes),this;if(\"number\"==typeof t.retain&&\"number\"==typeof r.retain)return this.ops[e-1]={retain:r.retain+t.retain},\"object\"===n(t.attributes)&&(this.ops[e-1].attributes=t.attributes),this}}return e===this.ops.length?this.ops.push(t):this.ops.splice(e,0,t),this},p.prototype.chop=function(){var t=this.ops[this.ops.length-1];return t&&t.retain&&!t.attributes&&this.ops.pop(),this},p.prototype.filter=function(t){return this.ops.filter(t)},p.prototype.forEach=function(t){this.ops.forEach(t)},p.prototype.map=function(t){return this.ops.map(t)},p.prototype.partition=function(t){var e=[],r=[];return this.forEach((function(n){(t(n)?e:r).push(n)})),[e,r]},p.prototype.reduce=function(t,e){return this.ops.reduce(t,e)},p.prototype.changeLength=function(){return this.reduce((function(t,e){return e.insert?t+a.length(e):e.delete?t-e.delete:t}),0)},p.prototype.length=function(){return this.reduce((function(t,e){return t+a.length(e)}),0)},p.prototype.slice=function(t,e){t=t||0,\"number\"!=typeof e&&(e=1/0);for(var r=[],n=a.iterator(this.ops),o=0;o0&&r.next(o.retain-s)}for(var u=new p(n);e.hasNext()||r.hasNext();)if(\"insert\"===r.peekType())u.push(r.next());else if(\"delete\"===e.peekType())u.push(e.next());else{var c=Math.min(e.peekLength(),r.peekLength()),f=e.next(c),l=r.next(c);if(\"number\"==typeof l.retain){var y={};\"number\"==typeof f.retain?y.retain=c:y.insert=f.insert;var h=a.attributes.compose(f.attributes,l.attributes,\"number\"==typeof f.retain);if(h&&(y.attributes=h),u.push(y),!r.hasNext()&&i(u.ops[u.ops.length-1],y)){var b=new p(e.rest());return u.concat(b).chop()}}else\"number\"==typeof l.delete&&\"number\"==typeof f.retain&&u.push(l)}return u.chop()},p.prototype.concat=function(t){var e=new p(this.ops.slice());return t.ops.length>0&&(e.push(t.ops[0]),e.ops=e.ops.concat(t.ops.slice(1))),e},p.prototype.diff=function(t,e){if(this.ops===t.ops)return new p;var r=[this,t].map((function(e){return e.map((function(r){if(null!=r.insert)return\"string\"==typeof r.insert?r.insert:u;throw new Error(\"diff() called \"+(e===t?\"on\":\"with\")+\" non-document\")})).join(\"\")})),n=new p,s=o(r[0],r[1],e),c=a.iterator(this.ops),f=a.iterator(t.ops);return s.forEach((function(t){for(var e=t[1].length;e>0;){var r=0;switch(t[0]){case o.INSERT:r=Math.min(f.peekLength(),e),n.push(f.next(r));break;case o.DELETE:r=Math.min(e,c.peekLength()),c.next(r),n.delete(r);break;case o.EQUAL:r=Math.min(c.peekLength(),f.peekLength(),e);var s=c.next(r),u=f.next(r);i(s.insert,u.insert)?n.retain(r,a.attributes.diff(s.attributes,u.attributes)):n.push(u).delete(r)}e-=r}})),n.chop()},p.prototype.eachLine=function(t,e){e=e||\"\\n\";for(var r=a.iterator(this.ops),n=new p,o=0;r.hasNext();){if(\"insert\"!==r.peekType())return;var i=r.peek(),s=a.length(i)-r.peekLength(),u=\"string\"==typeof i.insert?i.insert.indexOf(e,s)-s:-1;if(u<0)n.push(r.next());else if(u>0)n.push(r.next(u));else{if(!1===t(n,r.next(1).attributes||{},o))return;o+=1,n=new p}}n.length()>0&&t(n,{},o)},p.prototype.transform=function(t,e){if(e=!!e,\"number\"==typeof t)return this.transformPosition(t,e);for(var r=a.iterator(this.ops),n=a.iterator(t.ops),o=new p;r.hasNext()||n.hasNext();)if(\"insert\"!==r.peekType()||!e&&\"insert\"===n.peekType())if(\"insert\"===n.peekType())o.push(n.next());else{var i=Math.min(r.peekLength(),n.peekLength()),s=r.next(i),u=n.next(i);if(s.delete)continue;u.delete?o.push(u):o.retain(i,a.attributes.transform(s.attributes,u.attributes,e))}else o.retain(a.length(r.next()));return o.chop()},p.prototype.transformPosition=function(t,e){e=!!e;for(var r=a.iterator(this.ops),n=0;r.hasNext()&&n<=t;){var o=r.peekLength(),i=r.peekType();r.next(),\"delete\"!==i?(\"insert\"===i&&(n=0;s--)if(v[s]!=S[s])return!1;for(s=v.length-1;s>=0;s--)if(h=v[s],!f(t[h],e[h],r))return!1;return!0}(t,e,h))}function l(t){return null==t}function y(t){return!(!t||\"object\"!==n(t)||\"number\"!=typeof t.length)&&(\"function\"==typeof t.copy&&\"function\"==typeof t.slice&&!(t.length>0&&\"number\"!=typeof t[0]))}t.exports=f},function(t,e,r){\"use strict\";var n=Array.prototype.slice,o=r(5),i=Object.keys,s=i?function(t){return i(t)}:r(17),a=Object.keys;s.shim=function(){Object.keys?function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2)||(Object.keys=function(t){return o(t)?a(n.call(t)):a(t)}):Object.keys=s;return Object.keys||s},t.exports=s},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=Object.prototype.toString;t.exports=function(t){var e=o.call(t),r=\"[object Arguments]\"===e;return r||(r=\"[object Array]\"!==e&&null!==t&&\"object\"===n(t)&&\"number\"==typeof t.length&&t.length>=0&&\"[object Function]\"===o.call(t.callee)),r}},function(t,e,r){\"use strict\";var n=r(2),o=r(21)(\"%Function%\"),i=o.apply,s=o.call;t.exports=function(){return n.apply(s,arguments)},t.exports.apply=function(){return n.apply(i,arguments)}},function(t,e){function r(t){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){\"object\"===(\"undefined\"==typeof window?\"undefined\":r(window))&&(n=window)}t.exports=n},function(t,e,r){\"use strict\";var n=function(t){return t!=t};t.exports=function(t,e){return 0===t&&0===e?1/t==1/e:t===e||!(!n(t)||!n(e))}},function(t,e,r){\"use strict\";var n=r(8);t.exports=function(){return\"function\"==typeof Object.is?Object.is:n}},function(t,e,r){\"use strict\";var n=Object,o=TypeError;t.exports=function(){if(null!=this&&this!==n(this))throw new o(\"RegExp.prototype.flags getter called on non-object\");var t=\"\";return this.global&&(t+=\"g\"),this.ignoreCase&&(t+=\"i\"),this.multiline&&(t+=\"m\"),this.dotAll&&(t+=\"s\"),this.unicode&&(t+=\"u\"),this.sticky&&(t+=\"y\"),t}},function(t,e,r){\"use strict\";var n=r(10),o=r(0).supportsDescriptors,i=Object.getOwnPropertyDescriptor,s=TypeError;t.exports=function(){if(!o)throw new s(\"RegExp.prototype.flags requires a true ES5 environment that supports property descriptors\");if(\"gim\"===/a/gim.flags){var t=i(RegExp.prototype,\"flags\");if(t&&\"function\"==typeof t.get&&\"boolean\"==typeof/a/.dotAll)return t.get}return n}},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=Object.defineProperty,a=Object.getOwnPropertyDescriptor,u=function(t){return\"function\"==typeof Array.isArray?Array.isArray(t):\"[object Array]\"===i.call(t)},p=function(t){if(!t||\"[object Object]\"!==i.call(t))return!1;var e,r=o.call(t,\"constructor\"),n=t.constructor&&t.constructor.prototype&&o.call(t.constructor.prototype,\"isPrototypeOf\");if(t.constructor&&!r&&!n)return!1;for(e in t);return void 0===e||o.call(t,e)},c=function(t,e){s&&\"__proto__\"===e.name?s(t,e.name,{enumerable:!0,configurable:!0,value:e.newValue,writable:!0}):t[e.name]=e.newValue},f=function(t,e){if(\"__proto__\"===e){if(!o.call(t,e))return;if(a)return a(t,e).value}return t[e]};t.exports=function t(){var e,r,o,i,s,a,l=arguments[0],y=1,h=arguments.length,b=!1;for(\"boolean\"==typeof l&&(b=l,l=arguments[1]||{},y=2),(null==l||\"object\"!==n(l)&&\"function\"!=typeof l)&&(l={});yt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0){var u=a.pathname.split(\"/\"),f=u[u.length-1];c(f,e.removeDirectoryIndex)&&(u=u.slice(0,u.length-1),a.pathname=u.slice(1).join(\"/\")+\"/\")}if(a.hostname&&(a.hostname=a.hostname.replace(/\\.$/,\"\"),e.stripWWW&&/^www\\.([a-z\\-\\d]{2,63})\\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\\./,\"\"))),Array.isArray(e.removeQueryParameters))for(var l=0,y=i(a.searchParams.keys());lt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0){var f=e.data.substring(a);s.insert(f),r.ops=s.ops}return r}}))}},{key:\"registerTypeListener\",value:function(){var t=this;this.quill.on(\"text-change\",(function(e){var r=e.ops;if(!(!r||r.length<1||r.length>2)){var n=r[r.length-1];n.insert&&\"string\"==typeof n.insert&&n.insert.match(/\\s/)&&t.checkTextForUrl()}}))}},{key:\"checkTextForUrl\",value:function(){var t=this.quill.getSelection();if(t){var e=a(this.quill.getLeaf(t.index),1)[0];if(e.text&&\"a\"!==e.parent.domNode.localName){var r=this.quill.getIndex(e),n=e.text.match(this.options.urlRegularExpression),o=e.text.match(this.options.mailRegularExpression);n?this.textToUrl(r+n.index,n[0]):o&&this.textToMail(r+o.index,o[0])}}}},{key:\"textToUrl\",value:function(t,e){var r=(new o.a).retain(t).retain(e.length,{link:this.urlNormalizer(e)});this.quill.updateContents(r)}},{key:\"textToMail\",value:function(t,e){var r=(new o.a).retain(t).retain(e.length,{link:this.mailNormalizer(e)});this.quill.updateContents(r)}},{key:\"normalize\",value:function(t){if(this.options.normalizeRegularExpression.test(t))try{return s()(t,this.options.normalizeUrlOptions)}catch(t){console.error(t)}return t}}])&&l(e.prototype,r),n&&l(e,n),t}();null!=window&&window.Quill&&window.Quill.register(\"modules/magicUrl\",h)},function(t,e){function r(t,e,s){if(t==e)return t?[[0,t]]:[];(s<0||t.lengthe.length?t:e,u=t.length>e.length?e:t,p=a.indexOf(u);if(-1!=p)return s=[[1,a.substring(0,p)],[0,u],[1,a.substring(p+u.length)]],t.length>e.length&&(s[0][0]=s[2][0]=-1),s;if(1==u.length)return[[-1,t],[1,e]];var c=function(t,e){var r=t.length>e.length?t:e,n=t.length>e.length?e:t;if(r.length<4||2*n.length=t.length?[n,s,a,u,f]:null}var a,u,p,c,f,l=s(r,n,Math.ceil(r.length/4)),y=s(r,n,Math.ceil(r.length/2));if(!l&&!y)return null;a=y?l&&l[4].length>y[4].length?l:y:l;t.length>e.length?(u=a[0],p=a[1],c=a[2],f=a[3]):(c=a[0],f=a[1],u=a[2],p=a[3]);var h=a[4];return[u,p,c,f,h]}(t,e);if(c){var f=c[0],l=c[1],y=c[2],h=c[3],b=c[4],m=r(f,y),d=r(l,h);return m.concat([[0,b]],d)}return function(t,e){for(var r=t.length,o=e.length,i=Math.ceil((r+o)/2),s=i,a=2*i,u=new Array(a),p=new Array(a),c=0;cr)h+=2;else if(S>o)y+=2;else if(l){if((x=s+f-g)>=0&&x=j)return n(t,e,A,S)}}}for(var w=-d+b;w<=d-m;w+=2){for(var x=s+w,O=(j=w==-d||w!=d&&p[x-1]r)m+=2;else if(O>o)b+=2;else if(!l){if((v=s+f-w)>=0&&v=(j=r-j))return n(t,e,A,S)}}}}return[[-1,t],[1,e]]}(t,e)}(t=t.substring(0,t.length-u),e=e.substring(0,e.length-u));return p&&f.unshift([0,p]),c&&f.push([0,c]),function t(e){e.push([0,\"\"]);var r,n=0,s=0,a=0,u=\"\",p=\"\";for(;n1?(0!==s&&0!==a&&(0!==(r=o(p,u))&&(n-s-a>0&&0==e[n-s-a-1][0]?e[n-s-a-1][1]+=p.substring(0,r):(e.splice(0,0,[0,p.substring(0,r)]),n++),p=p.substring(r),u=u.substring(r)),0!==(r=i(p,u))&&(e[n][1]=p.substring(p.length-r)+e[n][1],p=p.substring(0,p.length-r),u=u.substring(0,u.length-r))),0===s?e.splice(n-a,s+a,[1,p]):0===a?e.splice(n-s,s+a,[-1,u]):e.splice(n-s-a,s+a,[-1,u],[1,p]),n=n-s-a+(s?1:0)+(a?1:0)+1):0!==n&&0==e[n-1][0]?(e[n-1][1]+=e[n][1],e.splice(n,1)):n++,a=0,s=0,u=\"\",p=\"\"}\"\"===e[e.length-1][1]&&e.pop();var c=!1;n=1;for(;n0&&n.splice(o+2,0,[s[0],u]),a(n,o,3)}return t}(f,s)),f=function(t){for(var e=!1,r=function(t){return t.charCodeAt(0)>=56320&&t.charCodeAt(0)<=57343},n=2;n=55296&&o.charCodeAt(o.length-1)<=56319)&&-1===t[n-1][0]&&r(t[n-1][1])&&1===t[n][0]&&r(t[n][1])&&(e=!0,t[n-1][1]=t[n-2][1].slice(-1)+t[n-1][1],t[n][1]=t[n-2][1].slice(-1)+t[n][1],t[n-2][1]=t[n-2][1].slice(0,-1));var o;if(!e)return t;var i=[];for(n=0;n0&&i.push(t[n]);return i}(f)}function n(t,e,n,o){var i=t.substring(0,n),s=e.substring(0,o),a=t.substring(n),u=e.substring(o),p=r(i,s),c=r(a,u);return p.concat(c)}function o(t,e){if(!t||!e||t.charAt(0)!=e.charAt(0))return 0;for(var r=0,n=Math.min(t.length,e.length),o=n,i=0;r=0&&n>=e-1;n--)if(n+10&&!i.call(t,0))for(var m=0;m0)for(var d=0;d=0&&\"[object Array]\"!==i.call(t)&&\"[object Function]\"===i.call(t.callee)},u=function(){return s(arguments)}();s.isLegacyArguments=a,t.exports=u?s:a},function(t,e,r){\"use strict\";var n=r(0),o=r(6),i=r(8),s=r(9),a=r(24),u=o(s(),Object);n(u,{getPolyfill:s,implementation:i,shim:a}),t.exports=u},function(t,e,r){\"use strict\";var n=\"Function.prototype.bind called on incompatible \",o=Array.prototype.slice,i=Object.prototype.toString;t.exports=function(t){var e=this;if(\"function\"!=typeof e||\"[object Function]\"!==i.call(e))throw new TypeError(n+e);for(var r,s=o.call(arguments,1),a=function(){if(this instanceof r){var n=e.apply(this,s.concat(o.call(arguments)));return Object(n)===n?n:this}return e.apply(t,s.concat(o.call(arguments)))},u=Math.max(0,e.length-s.length),p=[],c=0;c1&&\"boolean\"!=typeof e)throw new TypeError('\"allowMissing\" argument must be a boolean');for(var r=m(t),n=d(\"%\"+(r.length>0?r[0]:\"\")+\"%\",e),s=1;s=r.length){var a=i(n,r[s]);if(!e&&!(r[s]in n))throw new o(\"base intrinsic for \"+t+\" exists, but the property is not available.\");n=a?a.get||a.value:n[r[s]]}else n=n[r[s]];return n}},function(t,e,r){\"use strict\";(function(e){function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=e.Symbol,i=r(23);t.exports=function(){return\"function\"==typeof o&&(\"function\"==typeof Symbol&&(\"symbol\"===n(o(\"foo\"))&&(\"symbol\"===n(Symbol(\"bar\"))&&i())))}}).call(this,r(7))},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}t.exports=function(){if(\"function\"!=typeof Symbol||\"function\"!=typeof Object.getOwnPropertySymbols)return!1;if(\"symbol\"===n(Symbol.iterator))return!0;var t={},e=Symbol(\"test\"),r=Object(e);if(\"string\"==typeof e)return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(e))return!1;if(\"[object Symbol]\"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if(\"function\"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if(\"function\"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var o=Object.getOwnPropertySymbols(t);if(1!==o.length||o[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if(\"function\"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},function(t,e,r){\"use strict\";var n=r(9),o=r(0);t.exports=function(){var t=n();return o(Object,{is:t},{is:function(){return Object.is!==t}}),t}},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=r(26),i=RegExp.prototype.exec,s=Object.getOwnPropertyDescriptor,a=Object.prototype.toString,u=\"function\"==typeof Symbol&&\"symbol\"===n(Symbol.toStringTag);t.exports=function(t){if(!t||\"object\"!==n(t))return!1;if(!u)return\"[object RegExp]\"===a.call(t);var e=s(t,\"lastIndex\");return!(!e||!o(e,\"value\"))&&function(t){try{var e=t.lastIndex;return t.lastIndex=0,i.call(t),!0}catch(t){return!1}finally{t.lastIndex=e}}(t)}},function(t,e,r){\"use strict\";var n=r(2);t.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},function(t,e,r){\"use strict\";var n=r(0),o=r(6),i=r(10),s=r(11),a=r(28),u=o(i);n(u,{getPolyfill:s,implementation:i,shim:a}),t.exports=u},function(t,e,r){\"use strict\";var n=r(0).supportsDescriptors,o=r(11),i=Object.getOwnPropertyDescriptor,s=Object.defineProperty,a=TypeError,u=Object.getPrototypeOf,p=/a/;t.exports=function(){if(!n||!u)throw new a(\"RegExp.prototype.flags requires a true ES5 environment that supports property descriptors\");var t=o(),e=u(p),r=i(e,\"flags\");return r&&r.get===t||s(e,\"flags\",{configurable:!0,enumerable:!1,get:t}),t}},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=Date.prototype.getDay,i=Object.prototype.toString,s=\"function\"==typeof Symbol&&\"symbol\"===n(Symbol.toStringTag);t.exports=function(t){return\"object\"===n(t)&&null!==t&&(s?function(t){try{return o.call(t),!0}catch(t){return!1}}(t):\"[object Date]\"===i.call(t))}},function(t,e,r){function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=r(3),i=r(12),s={attributes:{compose:function(t,e,r){\"object\"!==n(t)&&(t={}),\"object\"!==n(e)&&(e={});var o=i(!0,{},e);for(var s in r||(o=Object.keys(o).reduce((function(t,e){return null!=o[e]&&(t[e]=o[e]),t}),{})),t)void 0!==t[s]&&void 0===e[s]&&(o[s]=t[s]);return Object.keys(o).length>0?o:void 0},diff:function(t,e){\"object\"!==n(t)&&(t={}),\"object\"!==n(e)&&(e={});var r=Object.keys(t).concat(Object.keys(e)).reduce((function(r,n){return o(t[n],e[n])||(r[n]=void 0===e[n]?null:e[n]),r}),{});return Object.keys(r).length>0?r:void 0},transform:function(t,e,r){if(\"object\"!==n(t))return e;if(\"object\"===n(e)){if(!r)return e;var o=Object.keys(e).reduce((function(r,n){return void 0===t[n]&&(r[n]=e[n]),r}),{});return Object.keys(o).length>0?o:void 0}}},iterator:function(t){return new a(t)},length:function(t){return\"number\"==typeof t.delete?t.delete:\"number\"==typeof t.retain?t.retain:\"string\"==typeof t.insert?t.insert.length:1}};function a(t){this.ops=t,this.index=0,this.offset=0}a.prototype.hasNext=function(){return this.peekLength()<1/0},a.prototype.next=function(t){t||(t=1/0);var e=this.ops[this.index];if(e){var r=this.offset,n=s.length(e);if(t>=n-r?(t=n-r,this.index+=1,this.offset=0):this.offset+=t,\"number\"==typeof e.delete)return{delete:t};var o={};return e.attributes&&(o.attributes=e.attributes),\"number\"==typeof e.retain?o.retain=t:\"string\"==typeof e.insert?o.insert=e.insert.substr(r,t):o.insert=e.insert,o}return{retain:1/0}},a.prototype.peek=function(){return this.ops[this.index]},a.prototype.peekLength=function(){return this.ops[this.index]?s.length(this.ops[this.index])-this.offset:1/0},a.prototype.peekType=function(){return this.ops[this.index]?\"number\"==typeof this.ops[this.index].delete?\"delete\":\"number\"==typeof this.ops[this.index].retain?\"retain\":\"insert\":\"retain\"},a.prototype.rest=function(){if(this.hasNext()){if(0===this.offset)return this.ops.slice(this.index);var t=this.offset,e=this.index,r=this.next(),n=this.ops.slice(this.index);return this.offset=t,this.index=e,[r].concat(n)}return[]},t.exports=s},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=r(32),i=r(34);function s(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=S,e.resolve=function(t,e){return S(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?S(t,!1,!0).resolveObject(e):e},e.format=function(t){i.isString(t)&&(t=S(t));return t instanceof s?t.format():s.prototype.format.call(t)},e.Url=s;var a=/^([a-z0-9.+-]+:)/i,u=/:[0-9]*$/,p=/^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,c=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat([\"<\",\">\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"]),f=[\"'\"].concat(c),l=[\"%\",\"/\",\"?\",\";\",\"#\"].concat(f),y=[\"/\",\"?\",\"#\"],h=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m={javascript:!0,\"javascript:\":!0},d={javascript:!0,\"javascript:\":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0},v=r(35);function S(t,e,r){if(t&&i.isObject(t)&&t instanceof s)return t;var n=new s;return n.parse(t,e,r),n}s.prototype.parse=function(t,e,r){if(!i.isString(t))throw new TypeError(\"Parameter 'url' must be a string, not \"+n(t));var s=t.indexOf(\"?\"),u=-1!==s&&s127?N+=\"x\":N+=C[F];if(!N.match(h)){var D=R.slice(0,I),$=R.slice(I+1),L=C.match(b);L&&(D.push(L[1]),$.unshift(L[2])),$.length&&(S=\"/\"+$.join(\".\")+S),this.hostname=D.join(\".\");break}}}this.hostname.length>255?this.hostname=\"\":this.hostname=this.hostname.toLowerCase(),U||(this.hostname=o.toASCII(this.hostname));var _=this.port?\":\"+this.port:\"\",q=this.hostname||\"\";this.host=q+_,this.href+=this.host,U&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),\"/\"!==S[0]&&(S=\"/\"+S))}if(!m[x])for(I=0,T=f.length;I0)&&r.host.split(\"@\"))&&(r.auth=k.shift(),r.host=r.hostname=k.shift());return r.search=t.search,r.query=t.query,i.isNull(r.pathname)&&i.isNull(r.search)||(r.path=(r.pathname?r.pathname:\"\")+(r.search?r.search:\"\")),r.href=r.format(),r}if(!x.length)return r.pathname=null,r.search?r.path=\"/\"+r.search:r.path=null,r.href=r.format(),r;for(var A=x.slice(-1)[0],P=(r.host||t.host||x.length>1)&&(\".\"===A||\"..\"===A)||\"\"===A,E=0,I=x.length;I>=0;I--)\".\"===(A=x[I])?x.splice(I,1):\"..\"===A?(x.splice(I,1),E++):E&&(x.splice(I,1),E--);if(!j&&!w)for(;E--;E)x.unshift(\"..\");!j||\"\"===x[0]||x[0]&&\"/\"===x[0].charAt(0)||x.unshift(\"\"),P&&\"/\"!==x.join(\"/\").substr(-1)&&x.push(\"\");var k,U=\"\"===x[0]||x[0]&&\"/\"===x[0].charAt(0);O&&(r.hostname=r.host=U?\"\":x.length?x.shift():\"\",(k=!!(r.host&&r.host.indexOf(\"@\")>0)&&r.host.split(\"@\"))&&(r.auth=k.shift(),r.host=r.hostname=k.shift()));return(j=j||r.host&&x.length)&&!U&&x.unshift(\"\"),x.length?r.pathname=x.join(\"/\"):(r.pathname=null,r.path=null),i.isNull(r.pathname)&&i.isNull(r.search)||(r.path=(r.pathname?r.pathname:\"\")+(r.search?r.search:\"\")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},s.prototype.parseHost=function(){var t=this.host,e=u.exec(t);e&&(\":\"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,r){(function(t,n){var o;function i(t){return(i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}\n/*! https://mths.be/punycode v1.4.1 by @mathias */!function(s){var a=\"object\"==i(e)&&e&&!e.nodeType&&e,u=\"object\"==i(t)&&t&&!t.nodeType&&t,p=\"object\"==(void 0===n?\"undefined\":i(n))&&n;p.global!==p&&p.window!==p&&p.self!==p||(s=p);var c,f,l=2147483647,y=/^xn--/,h=/[^\\x20-\\x7E]/,b=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,m={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},d=Math.floor,g=String.fromCharCode;function v(t){throw new RangeError(m[t])}function S(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function j(t,e){var r=t.split(\"@\"),n=\"\";return r.length>1&&(n=r[0]+\"@\",t=r[1]),n+S((t=t.replace(b,\".\")).split(\".\"),e).join(\".\")}function w(t){for(var e,r,n=[],o=0,i=t.length;o=55296&&e<=56319&&o65535&&(e+=g((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=g(t)})).join(\"\")}function O(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function A(t,e,r){var n=0;for(t=r?d(t/700):t>>1,t+=d(t/e);t>455;n+=36)t=d(t/35);return d(n+36*t/(t+38))}function P(t){var e,r,n,o,i,s,a,u,p,c,f,y=[],h=t.length,b=0,m=128,g=72;for((r=t.lastIndexOf(\"-\"))<0&&(r=0),n=0;n=128&&v(\"not-basic\"),y.push(t.charCodeAt(n));for(o=r>0?r+1:0;o=h&&v(\"invalid-input\"),((u=(f=t.charCodeAt(o++))-48<10?f-22:f-65<26?f-65:f-97<26?f-97:36)>=36||u>d((l-b)/s))&&v(\"overflow\"),b+=u*s,!(u<(p=a<=g?1:a>=g+26?26:a-g));a+=36)s>d(l/(c=36-p))&&v(\"overflow\"),s*=c;g=A(b-i,e=y.length+1,0==i),d(b/e)>l-m&&v(\"overflow\"),m+=d(b/e),b%=e,y.splice(b++,0,m)}return x(y)}function E(t){var e,r,n,o,i,s,a,u,p,c,f,y,h,b,m,S=[];for(y=(t=w(t)).length,e=128,r=0,i=72,s=0;s=e&&fd((l-r)/(h=n+1))&&v(\"overflow\"),r+=(a-e)*h,e=a,s=0;sl&&v(\"overflow\"),f==e){for(u=r,p=36;!(u<(c=p<=i?1:p>=i+26?26:p-i));p+=36)m=u-c,b=36-c,S.push(g(O(c+m%b,0))),u=d(m/b);S.push(g(O(u,0))),i=A(r,h,n==o),r=0,++n}++r,++e}return S.join(\"\")}if(c={version:\"1.4.1\",ucs2:{decode:w,encode:x},decode:P,encode:E,toASCII:function(t){return j(t,(function(t){return h.test(t)?\"xn--\"+E(t):t}))},toUnicode:function(t){return j(t,(function(t){return y.test(t)?P(t.slice(4).toLowerCase()):t}))}},\"object\"==i(r(13))&&r(13))void 0===(o=function(){return c}.call(e,r,e,t))||(t.exports=o);else if(a&&u)if(t.exports==a)u.exports=c;else for(f in c)c.hasOwnProperty(f)&&(a[f]=c[f]);else s.punycode=c}(this)}).call(this,r(33)(t),r(7))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}t.exports={isString:function(t){return\"string\"==typeof t},isObject:function(t){return\"object\"===n(t)&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,r){\"use strict\";e.decode=e.parse=r(36),e.encode=e.stringify=r(37)},function(t,e,r){\"use strict\";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,r,i){e=e||\"&\",r=r||\"=\";var s={};if(\"string\"!=typeof t||0===t.length)return s;var a=/\\+/g;t=t.split(e);var u=1e3;i&&\"number\"==typeof i.maxKeys&&(u=i.maxKeys);var p=t.length;u>0&&p>u&&(p=u);for(var c=0;c=0?(f=b.substr(0,m),l=b.substr(m+1)):(f=b,l=\"\"),y=decodeURIComponent(f),h=decodeURIComponent(l),n(s,y)?o(s[y])?s[y].push(h):s[y]=[s[y],h]:s[y]=h}return s};var o=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)}},function(t,e,r){\"use strict\";function n(t){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t})(t)}var o=function(t){switch(n(t)){case\"string\":return t;case\"boolean\":return t?\"true\":\"false\";case\"number\":return isFinite(t)?t:\"\";default:return\"\"}};t.exports=function(t,e,r,u){return e=e||\"&\",r=r||\"=\",null===t&&(t=void 0),\"object\"===n(t)?s(a(t),(function(n){var a=encodeURIComponent(o(n))+r;return i(t[n])?s(t[n],(function(t){return a+encodeURIComponent(o(t))})).join(e):a+encodeURIComponent(o(t[n]))})).join(e):u?encodeURIComponent(o(u))+r+encodeURIComponent(o(t)):\"\"};var i=Array.isArray||function(t){return\"[object Array]\"===Object.prototype.toString.call(t)};function s(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n= 200) {\n\t\t\t\tindex = bytes.shift() - 105;\n\t\t\t\tvar nextSet = _constants.SWAP[index];\n\n\t\t\t\t// Swap to other set\n\t\t\t\tif (nextSet !== undefined) {\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, nextSet);\n\t\t\t\t}\n\t\t\t\t// Continue on current set but encode a special character\n\t\t\t\telse {\n\t\t\t\t\t\t// Shift\n\t\t\t\t\t\tif ((set === _constants.SET_A || set === _constants.SET_B) && index === _constants.SHIFT) {\n\t\t\t\t\t\t\t// Convert the next character so that is encoded correctly\n\t\t\t\t\t\t\tbytes[0] = set === _constants.SET_A ? bytes[0] > 95 ? bytes[0] - 96 : bytes[0] : bytes[0] < 32 ? bytes[0] + 96 : bytes[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t\t}\n\t\t\t}\n\t\t\t// Continue encoding\n\t\t\telse {\n\t\t\t\t\tindex = CODE128.correctIndex(bytes, set);\n\t\t\t\t\tnextCode = CODE128.next(bytes, pos + 1, set);\n\t\t\t\t}\n\n\t\t\t// Get the correct binary encoding and calculate the weight\n\t\t\tvar enc = CODE128.getBar(index);\n\t\t\tvar weight = index * pos;\n\n\t\t\treturn {\n\t\t\t\tresult: enc + nextCode.result,\n\t\t\t\tchecksum: weight + nextCode.checksum\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn CODE128;\n}(_Barcode3.default);\n\nexports.default = CODE128;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Match Set functions\nvar matchSetALength = function matchSetALength(string) {\n\treturn string.match(new RegExp('^' + _constants.A_CHARS + '*'))[0].length;\n};\nvar matchSetBLength = function matchSetBLength(string) {\n\treturn string.match(new RegExp('^' + _constants.B_CHARS + '*'))[0].length;\n};\nvar matchSetC = function matchSetC(string) {\n\treturn string.match(new RegExp('^' + _constants.C_CHARS + '*'))[0];\n};\n\n// CODE128A or CODE128B\nfunction autoSelectFromAB(string, isA) {\n\tvar ranges = isA ? _constants.A_CHARS : _constants.B_CHARS;\n\tvar untilC = string.match(new RegExp('^(' + ranges + '+?)(([0-9]{2}){2,})([^0-9]|$)'));\n\n\tif (untilC) {\n\t\treturn untilC[1] + String.fromCharCode(204) + autoSelectFromC(string.substring(untilC[1].length));\n\t}\n\n\tvar chars = string.match(new RegExp('^' + ranges + '+'))[0];\n\n\tif (chars.length === string.length) {\n\t\treturn string;\n\t}\n\n\treturn chars + String.fromCharCode(isA ? 205 : 206) + autoSelectFromAB(string.substring(chars.length), !isA);\n}\n\n// CODE128C\nfunction autoSelectFromC(string) {\n\tvar cMatch = matchSetC(string);\n\tvar length = cMatch.length;\n\n\tif (length === string.length) {\n\t\treturn string;\n\t}\n\n\tstring = string.substring(length);\n\n\t// Select A/B depending on the longest match\n\tvar isA = matchSetALength(string) >= matchSetBLength(string);\n\treturn cMatch + String.fromCharCode(isA ? 206 : 205) + autoSelectFromAB(string, isA);\n}\n\n// Detect Code Set (A, B or C) and format the string\n\nexports.default = function (string) {\n\tvar newString = void 0;\n\tvar cLength = matchSetC(string).length;\n\n\t// Select 128C if the string start with enough digits\n\tif (cLength >= 2) {\n\t\tnewString = _constants.C_START_CHAR + autoSelectFromC(string);\n\t} else {\n\t\t// Select A/B depending on the longest match\n\t\tvar isA = matchSetALength(string) > matchSetBLength(string);\n\t\tnewString = (isA ? _constants.A_START_CHAR : _constants.B_START_CHAR) + autoSelectFromAB(string, isA);\n\t}\n\n\treturn newString.replace(/[\\xCD\\xCE]([^])[\\xCD\\xCE]/, // Any sequence between 205 and 206 characters\n\tfunction (match, char) {\n\t\treturn String.fromCharCode(203) + char;\n\t});\n};", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE2 = require('./CODE128');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _auto = require('./auto');\n\nvar _auto2 = _interopRequireDefault(_auto);\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 CODE128AUTO = function (_CODE) {\n\t_inherits(CODE128AUTO, _CODE);\n\n\tfunction CODE128AUTO(data, options) {\n\t\t_classCallCheck(this, CODE128AUTO);\n\n\t\t// ASCII value ranges 0-127, 200-211\n\t\tif (/^[\\x00-\\x7F\\xC8-\\xD3]+$/.test(data)) {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, (0, _auto2.default)(data), options));\n\t\t} else {\n\t\t\tvar _this = _possibleConstructorReturn(this, (CODE128AUTO.__proto__ || Object.getPrototypeOf(CODE128AUTO)).call(this, data, options));\n\t\t}\n\t\treturn _possibleConstructorReturn(_this);\n\t}\n\n\treturn CODE128AUTO;\n}(_CODE3.default);\n\nexports.default = CODE128AUTO;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\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 CODE128A = function (_CODE) {\n\t_inherits(CODE128A, _CODE);\n\n\tfunction CODE128A(string, options) {\n\t\t_classCallCheck(this, CODE128A);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128A.__proto__ || Object.getPrototypeOf(CODE128A)).call(this, _constants.A_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128A, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.A_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128A;\n}(_CODE3.default);\n\nexports.default = CODE128A;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\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 CODE128B = function (_CODE) {\n\t_inherits(CODE128B, _CODE);\n\n\tfunction CODE128B(string, options) {\n\t\t_classCallCheck(this, CODE128B);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128B.__proto__ || Object.getPrototypeOf(CODE128B)).call(this, _constants.B_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128B, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.B_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128B;\n}(_CODE3.default);\n\nexports.default = CODE128B;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _CODE2 = require('./CODE128.js');\n\nvar _CODE3 = _interopRequireDefault(_CODE2);\n\nvar _constants = require('./constants');\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 CODE128C = function (_CODE) {\n\t_inherits(CODE128C, _CODE);\n\n\tfunction CODE128C(string, options) {\n\t\t_classCallCheck(this, CODE128C);\n\n\t\treturn _possibleConstructorReturn(this, (CODE128C.__proto__ || Object.getPrototypeOf(CODE128C)).call(this, _constants.C_START_CHAR + string, options));\n\t}\n\n\t_createClass(CODE128C, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn new RegExp('^' + _constants.C_CHARS + '+$').test(this.data);\n\t\t}\n\t}]);\n\n\treturn CODE128C;\n}(_CODE3.default);\n\nexports.default = CODE128C;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CODE128C = exports.CODE128B = exports.CODE128A = exports.CODE128 = undefined;\n\nvar _CODE128_AUTO = require('./CODE128_AUTO.js');\n\nvar _CODE128_AUTO2 = _interopRequireDefault(_CODE128_AUTO);\n\nvar _CODE128A = require('./CODE128A.js');\n\nvar _CODE128A2 = _interopRequireDefault(_CODE128A);\n\nvar _CODE128B = require('./CODE128B.js');\n\nvar _CODE128B2 = _interopRequireDefault(_CODE128B);\n\nvar _CODE128C = require('./CODE128C.js');\n\nvar _CODE128C2 = _interopRequireDefault(_CODE128C);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.CODE128 = _CODE128_AUTO2.default;\nexports.CODE128A = _CODE128A2.default;\nexports.CODE128B = _CODE128B2.default;\nexports.CODE128C = _CODE128C2.default;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n// Standard start end and middle bits\nvar SIDE_BIN = exports.SIDE_BIN = '101';\nvar MIDDLE_BIN = exports.MIDDLE_BIN = '01010';\n\nvar BINARIES = exports.BINARIES = {\n\t'L': [// The L (left) type of encoding\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'G': [// The G type of encoding\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111'],\n\t'R': [// The R (right) type of encoding\n\t'1110010', '1100110', '1101100', '1000010', '1011100', '1001110', '1010000', '1000100', '1001000', '1110100'],\n\t'O': [// The O (odd) encoding for UPC-E\n\t'0001101', '0011001', '0010011', '0111101', '0100011', '0110001', '0101111', '0111011', '0110111', '0001011'],\n\t'E': [// The E (even) encoding for UPC-E\n\t'0100111', '0110011', '0011011', '0100001', '0011101', '0111001', '0000101', '0010001', '0001001', '0010111']\n};\n\n// Define the EAN-2 structure\nvar EAN2_STRUCTURE = exports.EAN2_STRUCTURE = ['LL', 'LG', 'GL', 'GG'];\n\n// Define the EAN-5 structure\nvar EAN5_STRUCTURE = exports.EAN5_STRUCTURE = ['GGLLL', 'GLGLL', 'GLLGL', 'GLLLG', 'LGGLL', 'LLGGL', 'LLLGG', 'LGLGL', 'LGLLG', 'LLGLG'];\n\n// Define the EAN-13 structure\nvar EAN13_STRUCTURE = exports.EAN13_STRUCTURE = ['LLLLLL', 'LLGLGG', 'LLGGLG', 'LLGGGL', 'LGLLGG', 'LGGLLG', 'LGGGLL', 'LGLGLG', 'LGLGGL', 'LGGLGL'];", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _constants = require('./constants');\n\n// Encode data string\nvar encode = function encode(data, structure, separator) {\n\tvar encoded = data.split('').map(function (val, idx) {\n\t\treturn _constants.BINARIES[structure[idx]];\n\t}).map(function (val, idx) {\n\t\treturn val ? val[data[idx]] : '';\n\t});\n\n\tif (separator) {\n\t\tvar last = data.length - 1;\n\t\tencoded = encoded.map(function (val, idx) {\n\t\t\treturn idx < last ? val + separator : val;\n\t\t});\n\t}\n\n\treturn encoded.join('');\n};\n\nexports.default = encode;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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\n// Base class for EAN8 & EAN13\nvar EAN = function (_Barcode) {\n\t_inherits(EAN, _Barcode);\n\n\tfunction EAN(data, options) {\n\t\t_classCallCheck(this, EAN);\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tvar _this = _possibleConstructorReturn(this, (EAN.__proto__ || Object.getPrototypeOf(EAN)).call(this, data, options));\n\n\t\t_this.fontSize = !options.flat && options.fontSize > options.width * 10 ? options.width * 10 : options.fontSize;\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN, [{\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\treturn this.options.flat ? this.encodeFlat() : this.encodeGuarded();\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText(from, to) {\n\t\t\treturn this.text.substr(from, to);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode(data, structure) {\n\t\t\treturn (0, _encoder2.default)(data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar textOptions = { fontSize: this.fontSize };\n\t\t\tvar guardOptions = { height: this.guardHeight };\n\n\t\t\treturn [{ data: _constants.SIDE_BIN, options: guardOptions }, { data: this.leftEncode(), text: this.leftText(), options: textOptions }, { data: _constants.MIDDLE_BIN, options: guardOptions }, { data: this.rightEncode(), text: this.rightText(), options: textOptions }, { data: _constants.SIDE_BIN, options: guardOptions }];\n\t\t}\n\t}, {\n\t\tkey: 'encodeFlat',\n\t\tvalue: function encodeFlat() {\n\t\t\tvar data = [_constants.SIDE_BIN, this.leftEncode(), _constants.MIDDLE_BIN, this.rightEncode(), _constants.SIDE_BIN];\n\n\t\t\treturn {\n\t\t\t\tdata: data.join(''),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN;\n}(_Barcode3.default);\n\nexports.default = EAN;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _constants = require('./constants');\n\nvar _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\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; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Binary_encoding_of_data_digits_into_EAN-13_barcode\n\n// Calculate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 12).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 3 : sum + a;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN13 = function (_EAN) {\n\t_inherits(EAN13, _EAN);\n\n\tfunction EAN13(data, options) {\n\t\t_classCallCheck(this, EAN13);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{12}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\t// Adds a last character to the end of the barcode\n\t\tvar _this = _possibleConstructorReturn(this, (EAN13.__proto__ || Object.getPrototypeOf(EAN13)).call(this, data, options));\n\n\t\t_this.lastChar = options.lastChar;\n\t\treturn _this;\n\t}\n\n\t_createClass(EAN13, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{13}$/) !== -1 && +this.data[12] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftText', this).call(this, 1, 6);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(1, 6);\n\t\t\tvar structure = _constants.EAN13_STRUCTURE[this.data[0]];\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'leftEncode', this).call(this, data, structure);\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightText', this).call(this, 7, 6);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(7, 6);\n\t\t\treturn _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'rightEncode', this).call(this, data, 'RRRRRR');\n\t\t}\n\n\t\t// The \"standard\" way of printing EAN13 barcodes with guard bars\n\n\t}, {\n\t\tkey: 'encodeGuarded',\n\t\tvalue: function encodeGuarded() {\n\t\t\tvar data = _get(EAN13.prototype.__proto__ || Object.getPrototypeOf(EAN13.prototype), 'encodeGuarded', this).call(this);\n\n\t\t\t// Extend data with left digit & last character\n\t\t\tif (this.options.displayValue) {\n\t\t\t\tdata.unshift({\n\t\t\t\t\tdata: '000000000000',\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: 'left', fontSize: this.fontSize }\n\t\t\t\t});\n\n\t\t\t\tif (this.options.lastChar) {\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00'\n\t\t\t\t\t});\n\t\t\t\t\tdata.push({\n\t\t\t\t\t\tdata: '00000',\n\t\t\t\t\t\ttext: this.options.lastChar,\n\t\t\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\t}]);\n\n\treturn EAN13;\n}(_EAN3.default);\n\nexports.default = EAN13;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _EAN2 = require('./EAN');\n\nvar _EAN3 = _interopRequireDefault(_EAN2);\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; } // Encoding documentation:\n// http://www.barcodeisland.com/ean8.phtml\n\n// Calculate the checksum digit\nvar checksum = function checksum(number) {\n\tvar res = number.substr(0, 7).split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a : sum + a * 3;\n\t}, 0);\n\n\treturn (10 - res % 10) % 10;\n};\n\nvar EAN8 = function (_EAN) {\n\t_inherits(EAN8, _EAN);\n\n\tfunction EAN8(data, options) {\n\t\t_classCallCheck(this, EAN8);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{7}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\treturn _possibleConstructorReturn(this, (EAN8.__proto__ || Object.getPrototypeOf(EAN8)).call(this, data, options));\n\t}\n\n\t_createClass(EAN8, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{8}$/) !== -1 && +this.data[7] === checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: 'leftText',\n\t\tvalue: function leftText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftText', this).call(this, 0, 4);\n\t\t}\n\t}, {\n\t\tkey: 'leftEncode',\n\t\tvalue: function leftEncode() {\n\t\t\tvar data = this.data.substr(0, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'leftEncode', this).call(this, data, 'LLLL');\n\t\t}\n\t}, {\n\t\tkey: 'rightText',\n\t\tvalue: function rightText() {\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightText', this).call(this, 4, 4);\n\t\t}\n\t}, {\n\t\tkey: 'rightEncode',\n\t\tvalue: function rightEncode() {\n\t\t\tvar data = this.data.substr(4, 4);\n\t\t\treturn _get(EAN8.prototype.__proto__ || Object.getPrototypeOf(EAN8.prototype), 'rightEncode', this).call(this, data, 'RRRR');\n\t\t}\n\t}]);\n\n\treturn EAN8;\n}(_EAN3.default);\n\nexports.default = EAN8;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_5#Encoding\n\nvar checksum = function checksum(data) {\n\tvar result = data.split('').map(function (n) {\n\t\treturn +n;\n\t}).reduce(function (sum, a, idx) {\n\t\treturn idx % 2 ? sum + a * 9 : sum + a * 3;\n\t}, 0);\n\treturn result % 10;\n};\n\nvar EAN5 = function (_Barcode) {\n\t_inherits(EAN5, _Barcode);\n\n\tfunction EAN5(data, options) {\n\t\t_classCallCheck(this, EAN5);\n\n\t\treturn _possibleConstructorReturn(this, (EAN5.__proto__ || Object.getPrototypeOf(EAN5)).call(this, data, options));\n\t}\n\n\t_createClass(EAN5, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{5}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar structure = _constants.EAN5_STRUCTURE[checksum(this.data)];\n\t\t\treturn {\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN5;\n}(_Barcode3.default);\n\nexports.default = EAN5;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _constants = require('./constants');\n\nvar _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/EAN_2#Encoding\n\nvar EAN2 = function (_Barcode) {\n\t_inherits(EAN2, _Barcode);\n\n\tfunction EAN2(data, options) {\n\t\t_classCallCheck(this, EAN2);\n\n\t\treturn _possibleConstructorReturn(this, (EAN2.__proto__ || Object.getPrototypeOf(EAN2)).call(this, data, options));\n\t}\n\n\t_createClass(EAN2, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{2}$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\t// Choose the structure based on the number mod 4\n\t\t\tvar structure = _constants.EAN2_STRUCTURE[parseInt(this.data) % 4];\n\t\t\treturn {\n\t\t\t\t// Start bits + Encode the two digits with 01 in between\n\t\t\t\tdata: '1011' + (0, _encoder2.default)(this.data, structure, '01'),\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn EAN2;\n}(_Barcode3.default);\n\nexports.default = EAN2;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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\nexports.checksum = checksum;\n\nvar _encoder = require(\"./encoder\");\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n\nvar UPC = function (_Barcode) {\n\t_inherits(UPC, _Barcode);\n\n\tfunction UPC(data, options) {\n\t\t_classCallCheck(this, UPC);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{11}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPC.__proto__ || Object.getPrototypeOf(UPC)).call(this, data, options));\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPC, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{12}$/) !== -1 && this.data[11] == checksum(this.data);\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"flatEncoding\",\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(0, 6), \"LLLLLL\");\n\t\t\tresult += \"01010\";\n\t\t\tresult += (0, _encoder2.default)(this.data.substr(6, 6), \"RRRRRR\");\n\t\t\tresult += \"101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"guardedEncoding\",\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the first digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(0, 1),\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\" + (0, _encoder2.default)(this.data[0], \"L\"),\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the left side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(1, 5), \"LLLLL\"),\n\t\t\t\ttext: this.text.substr(1, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the middle bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"01010\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the right side\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data.substr(6, 5), \"RRRRR\"),\n\t\t\t\ttext: this.text.substr(6, 5),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: (0, _encoder2.default)(this.data[11], \"R\") + \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the last digit\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text.substr(11, 1),\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}]);\n\n\treturn UPC;\n}(_Barcode3.default);\n\n// Calulate the checksum digit\n// https://en.wikipedia.org/wiki/International_Article_Number_(EAN)#Calculation_of_checksum_digit\n\n\nfunction checksum(number) {\n\tvar result = 0;\n\n\tvar i;\n\tfor (i = 1; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]);\n\t}\n\tfor (i = 0; i < 11; i += 2) {\n\t\tresult += parseInt(number[i]) * 3;\n\t}\n\n\treturn (10 - result % 10) % 10;\n}\n\nexports.default = UPC;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _encoder = require('./encoder');\n\nvar _encoder2 = _interopRequireDefault(_encoder);\n\nvar _Barcode2 = require('../Barcode.js');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\n\nvar _UPC = require('./UPC.js');\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; } // Encoding documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#Encoding\n//\n// UPC-E documentation:\n// https://en.wikipedia.org/wiki/Universal_Product_Code#UPC-E\n\nvar EXPANSIONS = [\"XX00000XXX\", \"XX10000XXX\", \"XX20000XXX\", \"XXX00000XX\", \"XXXX00000X\", \"XXXXX00005\", \"XXXXX00006\", \"XXXXX00007\", \"XXXXX00008\", \"XXXXX00009\"];\n\nvar PARITIES = [[\"EEEOOO\", \"OOOEEE\"], [\"EEOEOO\", \"OOEOEE\"], [\"EEOOEO\", \"OOEEOE\"], [\"EEOOOE\", \"OOEEEO\"], [\"EOEEOO\", \"OEOOEE\"], [\"EOOEEO\", \"OEEOOE\"], [\"EOOOEE\", \"OEEEOO\"], [\"EOEOEO\", \"OEOEOE\"], [\"EOEOOE\", \"OEOEEO\"], [\"EOOEOE\", \"OEEOEO\"]];\n\nvar UPCE = function (_Barcode) {\n\t_inherits(UPCE, _Barcode);\n\n\tfunction UPCE(data, options) {\n\t\t_classCallCheck(this, UPCE);\n\n\t\tvar _this = _possibleConstructorReturn(this, (UPCE.__proto__ || Object.getPrototypeOf(UPCE)).call(this, data, options));\n\t\t// Code may be 6 or 8 digits;\n\t\t// A 7 digit code is ambiguous as to whether the extra digit\n\t\t// is a UPC-A check or number system digit.\n\n\n\t\t_this.isValid = false;\n\t\tif (data.search(/^[0-9]{6}$/) !== -1) {\n\t\t\t_this.middleDigits = data;\n\t\t\t_this.upcA = expandToUPCA(data, \"0\");\n\t\t\t_this.text = options.text || '' + _this.upcA[0] + data + _this.upcA[_this.upcA.length - 1];\n\t\t\t_this.isValid = true;\n\t\t} else if (data.search(/^[01][0-9]{7}$/) !== -1) {\n\t\t\t_this.middleDigits = data.substring(1, data.length - 1);\n\t\t\t_this.upcA = expandToUPCA(_this.middleDigits, data[0]);\n\n\t\t\tif (_this.upcA[_this.upcA.length - 1] === data[data.length - 1]) {\n\t\t\t\t_this.isValid = true;\n\t\t\t} else {\n\t\t\t\t// checksum mismatch\n\t\t\t\treturn _possibleConstructorReturn(_this);\n\t\t\t}\n\t\t} else {\n\t\t\treturn _possibleConstructorReturn(_this);\n\t\t}\n\n\t\t_this.displayValue = options.displayValue;\n\n\t\t// Make sure the font is not bigger than the space between the guard bars\n\t\tif (options.fontSize > options.width * 10) {\n\t\t\t_this.fontSize = options.width * 10;\n\t\t} else {\n\t\t\t_this.fontSize = options.fontSize;\n\t\t}\n\n\t\t// Make the guard bars go down half the way of the text\n\t\t_this.guardHeight = options.height + _this.fontSize / 2 + options.textMargin;\n\t\treturn _this;\n\t}\n\n\t_createClass(UPCE, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.isValid;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tif (this.options.flat) {\n\t\t\t\treturn this.flatEncoding();\n\t\t\t} else {\n\t\t\t\treturn this.guardedEncoding();\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'flatEncoding',\n\t\tvalue: function flatEncoding() {\n\t\t\tvar result = \"\";\n\n\t\t\tresult += \"101\";\n\t\t\tresult += this.encodeMiddleDigits();\n\t\t\tresult += \"010101\";\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: 'guardedEncoding',\n\t\tvalue: function guardedEncoding() {\n\t\t\tvar result = [];\n\n\t\t\t// Add the UPC-A number system digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[0],\n\t\t\t\t\toptions: { textAlign: \"left\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Add the guard bars\n\t\t\tresult.push({\n\t\t\t\tdata: \"101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the 6 UPC-E digits\n\t\t\tresult.push({\n\t\t\t\tdata: this.encodeMiddleDigits(),\n\t\t\t\ttext: this.text.substring(1, 7),\n\t\t\t\toptions: { fontSize: this.fontSize }\n\t\t\t});\n\n\t\t\t// Add the end bits\n\t\t\tresult.push({\n\t\t\t\tdata: \"010101\",\n\t\t\t\toptions: { height: this.guardHeight }\n\t\t\t});\n\n\t\t\t// Add the UPC-A check digit beneath the quiet zone\n\t\t\tif (this.displayValue) {\n\t\t\t\tresult.push({\n\t\t\t\t\tdata: \"00000000\",\n\t\t\t\t\ttext: this.text[7],\n\t\t\t\t\toptions: { textAlign: \"right\", fontSize: this.fontSize }\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t}, {\n\t\tkey: 'encodeMiddleDigits',\n\t\tvalue: function encodeMiddleDigits() {\n\t\t\tvar numberSystem = this.upcA[0];\n\t\t\tvar checkDigit = this.upcA[this.upcA.length - 1];\n\t\t\tvar parity = PARITIES[parseInt(checkDigit)][parseInt(numberSystem)];\n\t\t\treturn (0, _encoder2.default)(this.middleDigits, parity);\n\t\t}\n\t}]);\n\n\treturn UPCE;\n}(_Barcode3.default);\n\nfunction expandToUPCA(middleDigits, numberSystem) {\n\tvar lastUpcE = parseInt(middleDigits[middleDigits.length - 1]);\n\tvar expansion = EXPANSIONS[lastUpcE];\n\n\tvar result = \"\";\n\tvar digitIndex = 0;\n\tfor (var i = 0; i < expansion.length; i++) {\n\t\tvar c = expansion[i];\n\t\tif (c === 'X') {\n\t\t\tresult += middleDigits[digitIndex++];\n\t\t} else {\n\t\t\tresult += c;\n\t\t}\n\t}\n\n\tresult = '' + numberSystem + result;\n\treturn '' + result + (0, _UPC.checksum)(result);\n}\n\nexports.default = UPCE;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPCE = exports.UPC = exports.EAN2 = exports.EAN5 = exports.EAN8 = exports.EAN13 = undefined;\n\nvar _EAN = require('./EAN13.js');\n\nvar _EAN2 = _interopRequireDefault(_EAN);\n\nvar _EAN3 = require('./EAN8.js');\n\nvar _EAN4 = _interopRequireDefault(_EAN3);\n\nvar _EAN5 = require('./EAN5.js');\n\nvar _EAN6 = _interopRequireDefault(_EAN5);\n\nvar _EAN7 = require('./EAN2.js');\n\nvar _EAN8 = _interopRequireDefault(_EAN7);\n\nvar _UPC = require('./UPC.js');\n\nvar _UPC2 = _interopRequireDefault(_UPC);\n\nvar _UPCE = require('./UPCE.js');\n\nvar _UPCE2 = _interopRequireDefault(_UPCE);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.EAN13 = _EAN2.default;\nexports.EAN8 = _EAN4.default;\nexports.EAN5 = _EAN6.default;\nexports.EAN2 = _EAN8.default;\nexports.UPC = _UPC2.default;\nexports.UPCE = _UPCE2.default;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar START_BIN = exports.START_BIN = '1010';\nvar END_BIN = exports.END_BIN = '11101';\n\nvar BINARIES = exports.BINARIES = ['00110', '10001', '01001', '11000', '00101', '10100', '01100', '00011', '10010', '01010'];", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _constants = require('./constants');\n\nvar _Barcode2 = require('../Barcode');\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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 ITF = function (_Barcode) {\n\t_inherits(ITF, _Barcode);\n\n\tfunction ITF() {\n\t\t_classCallCheck(this, ITF);\n\n\t\treturn _possibleConstructorReturn(this, (ITF.__proto__ || Object.getPrototypeOf(ITF)).apply(this, arguments));\n\t}\n\n\t_createClass(ITF, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^([0-9]{2})+$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: 'encode',\n\t\tvalue: function encode() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Calculate all the digit pairs\n\t\t\tvar encoded = this.data.match(/.{2}/g).map(function (pair) {\n\t\t\t\treturn _this2.encodePair(pair);\n\t\t\t}).join('');\n\n\t\t\treturn {\n\t\t\t\tdata: _constants.START_BIN + encoded + _constants.END_BIN,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Calculate the data of a number pair\n\n\t}, {\n\t\tkey: 'encodePair',\n\t\tvalue: function encodePair(pair) {\n\t\t\tvar second = _constants.BINARIES[pair[1]];\n\n\t\t\treturn _constants.BINARIES[pair[0]].split('').map(function (first, idx) {\n\t\t\t\treturn (first === '1' ? '111' : '1') + (second[idx] === '1' ? '000' : '0');\n\t\t\t}).join('');\n\t\t}\n\t}]);\n\n\treturn ITF;\n}(_Barcode3.default);\n\nexports.default = ITF;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _ITF2 = require('./ITF');\n\nvar _ITF3 = _interopRequireDefault(_ITF2);\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\n// Calculate the checksum digit\nvar checksum = function checksum(data) {\n\tvar res = data.substr(0, 13).split('').map(function (num) {\n\t\treturn parseInt(num, 10);\n\t}).reduce(function (sum, n, idx) {\n\t\treturn sum + n * (3 - idx % 2 * 2);\n\t}, 0);\n\n\treturn Math.ceil(res / 10) * 10 - res;\n};\n\nvar ITF14 = function (_ITF) {\n\t_inherits(ITF14, _ITF);\n\n\tfunction ITF14(data, options) {\n\t\t_classCallCheck(this, ITF14);\n\n\t\t// Add checksum if it does not exist\n\t\tif (data.search(/^[0-9]{13}$/) !== -1) {\n\t\t\tdata += checksum(data);\n\t\t}\n\t\treturn _possibleConstructorReturn(this, (ITF14.__proto__ || Object.getPrototypeOf(ITF14)).call(this, data, options));\n\t}\n\n\t_createClass(ITF14, [{\n\t\tkey: 'valid',\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]{14}$/) !== -1 && +this.data[13] === checksum(this.data);\n\t\t}\n\t}]);\n\n\treturn ITF14;\n}(_ITF3.default);\n\nexports.default = ITF14;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ITF14 = exports.ITF = undefined;\n\nvar _ITF = require('./ITF');\n\nvar _ITF2 = _interopRequireDefault(_ITF);\n\nvar _ITF3 = require('./ITF14');\n\nvar _ITF4 = _interopRequireDefault(_ITF3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.ITF = _ITF2.default;\nexports.ITF14 = _ITF4.default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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; } // Encoding documentation\n// https://en.wikipedia.org/wiki/MSI_Barcode#Character_set_and_binary_lookup\n\nvar MSI = function (_Barcode) {\n\t_inherits(MSI, _Barcode);\n\n\tfunction MSI(data, options) {\n\t\t_classCallCheck(this, MSI);\n\n\t\treturn _possibleConstructorReturn(this, (MSI.__proto__ || Object.getPrototypeOf(MSI)).call(this, data, options));\n\t}\n\n\t_createClass(MSI, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\t// Start bits\n\t\t\tvar ret = \"110\";\n\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\t// Convert the character to binary (always 4 binary digits)\n\t\t\t\tvar digit = parseInt(this.data[i]);\n\t\t\t\tvar bin = digit.toString(2);\n\t\t\t\tbin = addZeroes(bin, 4 - bin.length);\n\n\t\t\t\t// Add 100 for every zero and 110 for every 1\n\t\t\t\tfor (var b = 0; b < bin.length; b++) {\n\t\t\t\t\tret += bin[b] == \"0\" ? \"100\" : \"110\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// End bits\n\t\t\tret += \"1001\";\n\n\t\t\treturn {\n\t\t\t\tdata: ret,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[0-9]+$/) !== -1;\n\t\t}\n\t}]);\n\n\treturn MSI;\n}(_Barcode3.default);\n\nfunction addZeroes(number, n) {\n\tfor (var i = 0; i < n; i++) {\n\t\tnumber = \"0\" + number;\n\t}\n\treturn number;\n}\n\nexports.default = MSI;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.mod10 = mod10;\nexports.mod11 = mod11;\nfunction mod10(number) {\n\tvar sum = 0;\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[i]);\n\t\tif ((i + number.length) % 2 === 0) {\n\t\t\tsum += n;\n\t\t} else {\n\t\t\tsum += n * 2 % 10 + Math.floor(n * 2 / 10);\n\t\t}\n\t}\n\treturn (10 - sum % 10) % 10;\n}\n\nfunction mod11(number) {\n\tvar sum = 0;\n\tvar weights = [2, 3, 4, 5, 6, 7];\n\tfor (var i = 0; i < number.length; i++) {\n\t\tvar n = parseInt(number[number.length - 1 - i]);\n\t\tsum += weights[i % weights.length] * n;\n\t}\n\treturn (11 - sum % 11) % 11;\n}", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\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 MSI10 = function (_MSI) {\n\t_inherits(MSI10, _MSI);\n\n\tfunction MSI10(data, options) {\n\t\t_classCallCheck(this, MSI10);\n\n\t\treturn _possibleConstructorReturn(this, (MSI10.__proto__ || Object.getPrototypeOf(MSI10)).call(this, data + (0, _checksums.mod10)(data), options));\n\t}\n\n\treturn MSI10;\n}(_MSI3.default);\n\nexports.default = MSI10;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\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 MSI11 = function (_MSI) {\n\t_inherits(MSI11, _MSI);\n\n\tfunction MSI11(data, options) {\n\t\t_classCallCheck(this, MSI11);\n\n\t\treturn _possibleConstructorReturn(this, (MSI11.__proto__ || Object.getPrototypeOf(MSI11)).call(this, data + (0, _checksums.mod11)(data), options));\n\t}\n\n\treturn MSI11;\n}(_MSI3.default);\n\nexports.default = MSI11;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\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 MSI1010 = function (_MSI) {\n\t_inherits(MSI1010, _MSI);\n\n\tfunction MSI1010(data, options) {\n\t\t_classCallCheck(this, MSI1010);\n\n\t\tdata += (0, _checksums.mod10)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1010.__proto__ || Object.getPrototypeOf(MSI1010)).call(this, data, options));\n\t}\n\n\treturn MSI1010;\n}(_MSI3.default);\n\nexports.default = MSI1010;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _MSI2 = require('./MSI.js');\n\nvar _MSI3 = _interopRequireDefault(_MSI2);\n\nvar _checksums = require('./checksums.js');\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 MSI1110 = function (_MSI) {\n\t_inherits(MSI1110, _MSI);\n\n\tfunction MSI1110(data, options) {\n\t\t_classCallCheck(this, MSI1110);\n\n\t\tdata += (0, _checksums.mod11)(data);\n\t\tdata += (0, _checksums.mod10)(data);\n\t\treturn _possibleConstructorReturn(this, (MSI1110.__proto__ || Object.getPrototypeOf(MSI1110)).call(this, data, options));\n\t}\n\n\treturn MSI1110;\n}(_MSI3.default);\n\nexports.default = MSI1110;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MSI1110 = exports.MSI1010 = exports.MSI11 = exports.MSI10 = exports.MSI = undefined;\n\nvar _MSI = require('./MSI.js');\n\nvar _MSI2 = _interopRequireDefault(_MSI);\n\nvar _MSI3 = require('./MSI10.js');\n\nvar _MSI4 = _interopRequireDefault(_MSI3);\n\nvar _MSI5 = require('./MSI11.js');\n\nvar _MSI6 = _interopRequireDefault(_MSI5);\n\nvar _MSI7 = require('./MSI1010.js');\n\nvar _MSI8 = _interopRequireDefault(_MSI7);\n\nvar _MSI9 = require('./MSI1110.js');\n\nvar _MSI10 = _interopRequireDefault(_MSI9);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.MSI = _MSI2.default;\nexports.MSI10 = _MSI4.default;\nexports.MSI11 = _MSI6.default;\nexports.MSI1010 = _MSI8.default;\nexports.MSI1110 = _MSI10.default;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.pharmacode = 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 _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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; } // Encoding documentation\n// http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf\n\nvar pharmacode = function (_Barcode) {\n\t_inherits(pharmacode, _Barcode);\n\n\tfunction pharmacode(data, options) {\n\t\t_classCallCheck(this, pharmacode);\n\n\t\tvar _this = _possibleConstructorReturn(this, (pharmacode.__proto__ || Object.getPrototypeOf(pharmacode)).call(this, data, options));\n\n\t\t_this.number = parseInt(data, 10);\n\t\treturn _this;\n\t}\n\n\t_createClass(pharmacode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar z = this.number;\n\t\t\tvar result = \"\";\n\n\t\t\t// http://i.imgur.com/RMm4UDJ.png\n\t\t\t// (source: http://www.gomaro.ch/ftproot/Laetus_PHARMA-CODE.pdf, page: 34)\n\t\t\twhile (!isNaN(z) && z != 0) {\n\t\t\t\tif (z % 2 === 0) {\n\t\t\t\t\t// Even\n\t\t\t\t\tresult = \"11100\" + result;\n\t\t\t\t\tz = (z - 2) / 2;\n\t\t\t\t} else {\n\t\t\t\t\t// Odd\n\t\t\t\t\tresult = \"100\" + result;\n\t\t\t\t\tz = (z - 1) / 2;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove the two last zeroes\n\t\t\tresult = result.slice(0, -2);\n\n\t\t\treturn {\n\t\t\t\tdata: result,\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.number >= 3 && this.number <= 131070;\n\t\t}\n\t}]);\n\n\treturn pharmacode;\n}(_Barcode3.default);\n\nexports.pharmacode = pharmacode;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.codabar = 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 _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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; } // Encoding specification:\n// http://www.barcodeisland.com/codabar.phtml\n\nvar codabar = function (_Barcode) {\n\t_inherits(codabar, _Barcode);\n\n\tfunction codabar(data, options) {\n\t\t_classCallCheck(this, codabar);\n\n\t\tif (data.search(/^[0-9\\-\\$\\:\\.\\+\\/]+$/) === 0) {\n\t\t\tdata = \"A\" + data + \"A\";\n\t\t}\n\n\t\tvar _this = _possibleConstructorReturn(this, (codabar.__proto__ || Object.getPrototypeOf(codabar)).call(this, data.toUpperCase(), options));\n\n\t\t_this.text = _this.options.text || _this.text.replace(/[A-D]/g, '');\n\t\treturn _this;\n\t}\n\n\t_createClass(codabar, [{\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn this.data.search(/^[A-D][0-9\\-\\$\\:\\.\\+\\/]+[A-D]$/) !== -1;\n\t\t}\n\t}, {\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\tvar result = [];\n\t\t\tvar encodings = this.getEncodings();\n\t\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t\tresult.push(encodings[this.data.charAt(i)]);\n\t\t\t\t// for all characters except the last, append a narrow-space (\"0\")\n\t\t\t\tif (i !== this.data.length - 1) {\n\t\t\t\t\tresult.push(\"0\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttext: this.text,\n\t\t\t\tdata: result.join('')\n\t\t\t};\n\t\t}\n\t}, {\n\t\tkey: \"getEncodings\",\n\t\tvalue: function getEncodings() {\n\t\t\treturn {\n\t\t\t\t\"0\": \"101010011\",\n\t\t\t\t\"1\": \"101011001\",\n\t\t\t\t\"2\": \"101001011\",\n\t\t\t\t\"3\": \"110010101\",\n\t\t\t\t\"4\": \"101101001\",\n\t\t\t\t\"5\": \"110101001\",\n\t\t\t\t\"6\": \"100101011\",\n\t\t\t\t\"7\": \"100101101\",\n\t\t\t\t\"8\": \"100110101\",\n\t\t\t\t\"9\": \"110100101\",\n\t\t\t\t\"-\": \"101001101\",\n\t\t\t\t\"$\": \"101100101\",\n\t\t\t\t\":\": \"1101011011\",\n\t\t\t\t\"/\": \"1101101011\",\n\t\t\t\t\".\": \"1101101101\",\n\t\t\t\t\"+\": \"1011011011\",\n\t\t\t\t\"A\": \"1011001001\",\n\t\t\t\t\"B\": \"1001001011\",\n\t\t\t\t\"C\": \"1010010011\",\n\t\t\t\t\"D\": \"1010011001\"\n\t\t\t};\n\t\t}\n\t}]);\n\n\treturn codabar;\n}(_Barcode3.default);\n\nexports.codabar = codabar;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.GenericBarcode = 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 _Barcode2 = require(\"../Barcode.js\");\n\nvar _Barcode3 = _interopRequireDefault(_Barcode2);\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 GenericBarcode = function (_Barcode) {\n\t_inherits(GenericBarcode, _Barcode);\n\n\tfunction GenericBarcode(data, options) {\n\t\t_classCallCheck(this, GenericBarcode);\n\n\t\treturn _possibleConstructorReturn(this, (GenericBarcode.__proto__ || Object.getPrototypeOf(GenericBarcode)).call(this, data, options)); // Sets this.data and this.text\n\t}\n\n\t// Return the corresponding binary numbers for the data provided\n\n\n\t_createClass(GenericBarcode, [{\n\t\tkey: \"encode\",\n\t\tvalue: function encode() {\n\t\t\treturn {\n\t\t\t\tdata: \"10101010101010101010101010101010101010101\",\n\t\t\t\ttext: this.text\n\t\t\t};\n\t\t}\n\n\t\t// Resturn true/false if the string provided is valid for this encoder\n\n\t}, {\n\t\tkey: \"valid\",\n\t\tvalue: function valid() {\n\t\t\treturn true;\n\t\t}\n\t}]);\n\n\treturn GenericBarcode;\n}(_Barcode3.default);\n\nexports.GenericBarcode = GenericBarcode;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _CODE = require('./CODE39/');\n\nvar _CODE2 = require('./CODE128/');\n\nvar _EAN_UPC = require('./EAN_UPC/');\n\nvar _ITF = require('./ITF/');\n\nvar _MSI = require('./MSI/');\n\nvar _pharmacode = require('./pharmacode/');\n\nvar _codabar = require('./codabar');\n\nvar _GenericBarcode = require('./GenericBarcode/');\n\nexports.default = {\n\tCODE39: _CODE.CODE39,\n\tCODE128: _CODE2.CODE128, CODE128A: _CODE2.CODE128A, CODE128B: _CODE2.CODE128B, CODE128C: _CODE2.CODE128C,\n\tEAN13: _EAN_UPC.EAN13, EAN8: _EAN_UPC.EAN8, EAN5: _EAN_UPC.EAN5, EAN2: _EAN_UPC.EAN2, UPC: _EAN_UPC.UPC, UPCE: _EAN_UPC.UPCE,\n\tITF14: _ITF.ITF14,\n\tITF: _ITF.ITF,\n\tMSI: _MSI.MSI, MSI10: _MSI.MSI10, MSI11: _MSI.MSI11, MSI1010: _MSI.MSI1010, MSI1110: _MSI.MSI1110,\n\tpharmacode: _pharmacode.pharmacode,\n\tcodabar: _codabar.codabar,\n\tGenericBarcode: _GenericBarcode.GenericBarcode\n};", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = function (old, replaceObj) {\n return _extends({}, old, replaceObj);\n};", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = linearizeEncodings;\n\n// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\nfunction linearizeEncodings(encodings) {\n\tvar linearEncodings = [];\n\tfunction nextLevel(encoded) {\n\t\tif (Array.isArray(encoded)) {\n\t\t\tfor (var i = 0; i < encoded.length; i++) {\n\t\t\t\tnextLevel(encoded[i]);\n\t\t\t}\n\t\t} else {\n\t\t\tencoded.text = encoded.text || \"\";\n\t\t\tencoded.data = encoded.data || \"\";\n\t\t\tlinearEncodings.push(encoded);\n\t\t}\n\t}\n\tnextLevel(encodings);\n\n\treturn linearEncodings;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = fixOptions;\n\n\nfunction fixOptions(options) {\n\t// Fix the margins\n\toptions.marginTop = options.marginTop || options.margin;\n\toptions.marginBottom = options.marginBottom || options.margin;\n\toptions.marginRight = options.marginRight || options.margin;\n\toptions.marginLeft = options.marginLeft || options.margin;\n\n\treturn options;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.default = optionsFromStrings;\n\n// Convert string to integers/booleans where it should be\n\nfunction optionsFromStrings(options) {\n\tvar intOptions = [\"width\", \"height\", \"textMargin\", \"fontSize\", \"margin\", \"marginTop\", \"marginBottom\", \"marginLeft\", \"marginRight\"];\n\n\tfor (var intOption in intOptions) {\n\t\tif (intOptions.hasOwnProperty(intOption)) {\n\t\t\tintOption = intOptions[intOption];\n\t\t\tif (typeof options[intOption] === \"string\") {\n\t\t\t\toptions[intOption] = parseInt(options[intOption], 10);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof options[\"displayValue\"] === \"string\") {\n\t\toptions[\"displayValue\"] = options[\"displayValue\"] != \"false\";\n\t}\n\n\treturn options;\n}", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nvar defaults = {\n\twidth: 2,\n\theight: 100,\n\tformat: \"auto\",\n\tdisplayValue: true,\n\tfontOptions: \"\",\n\tfont: \"monospace\",\n\ttext: undefined,\n\ttextAlign: \"center\",\n\ttextPosition: \"bottom\",\n\ttextMargin: 2,\n\tfontSize: 20,\n\tbackground: \"#ffffff\",\n\tlineColor: \"#000000\",\n\tmargin: 10,\n\tmarginTop: undefined,\n\tmarginBottom: undefined,\n\tmarginLeft: undefined,\n\tmarginRight: undefined,\n\tvalid: function valid() {}\n};\n\nexports.default = defaults;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _optionsFromStrings = require(\"./optionsFromStrings.js\");\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _defaults = require(\"../options/defaults.js\");\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getOptionsFromElement(element) {\n\tvar options = {};\n\tfor (var property in _defaults2.default) {\n\t\tif (_defaults2.default.hasOwnProperty(property)) {\n\t\t\t// jsbarcode-*\n\t\t\tif (element.hasAttribute(\"jsbarcode-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"jsbarcode-\" + property.toLowerCase());\n\t\t\t}\n\n\t\t\t// data-*\n\t\t\tif (element.hasAttribute(\"data-\" + property.toLowerCase())) {\n\t\t\t\toptions[property] = element.getAttribute(\"data-\" + property.toLowerCase());\n\t\t\t}\n\t\t}\n\t}\n\n\toptions[\"value\"] = element.getAttribute(\"jsbarcode-value\") || element.getAttribute(\"data-value\");\n\n\t// Since all atributes are string they need to be converted to integers\n\toptions = (0, _optionsFromStrings2.default)(options);\n\n\treturn options;\n}\n\nexports.default = getOptionsFromElement;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports.getTotalWidthOfEncodings = exports.calculateEncodingAttributes = exports.getBarcodePadding = exports.getEncodingHeight = exports.getMaximumHeightOfEncodings = undefined;\n\nvar _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getEncodingHeight(encoding, options) {\n\treturn options.height + (options.displayValue && encoding.text.length > 0 ? options.fontSize + options.textMargin : 0) + options.marginTop + options.marginBottom;\n}\n\nfunction getBarcodePadding(textWidth, barcodeWidth, options) {\n\tif (options.displayValue && barcodeWidth < textWidth) {\n\t\tif (options.textAlign == \"center\") {\n\t\t\treturn Math.floor((textWidth - barcodeWidth) / 2);\n\t\t} else if (options.textAlign == \"left\") {\n\t\t\treturn 0;\n\t\t} else if (options.textAlign == \"right\") {\n\t\t\treturn Math.floor(textWidth - barcodeWidth);\n\t\t}\n\t}\n\treturn 0;\n}\n\nfunction calculateEncodingAttributes(encodings, barcodeOptions, context) {\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tvar encoding = encodings[i];\n\t\tvar options = (0, _merge2.default)(barcodeOptions, encoding.options);\n\n\t\t// Calculate the width of the encoding\n\t\tvar textWidth;\n\t\tif (options.displayValue) {\n\t\t\ttextWidth = messureText(encoding.text, options, context);\n\t\t} else {\n\t\t\ttextWidth = 0;\n\t\t}\n\n\t\tvar barcodeWidth = encoding.data.length * options.width;\n\t\tencoding.width = Math.ceil(Math.max(textWidth, barcodeWidth));\n\n\t\tencoding.height = getEncodingHeight(encoding, options);\n\n\t\tencoding.barcodePadding = getBarcodePadding(textWidth, barcodeWidth, options);\n\t}\n}\n\nfunction getTotalWidthOfEncodings(encodings) {\n\tvar totalWidth = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\ttotalWidth += encodings[i].width;\n\t}\n\treturn totalWidth;\n}\n\nfunction getMaximumHeightOfEncodings(encodings) {\n\tvar maxHeight = 0;\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tif (encodings[i].height > maxHeight) {\n\t\t\tmaxHeight = encodings[i].height;\n\t\t}\n\t}\n\treturn maxHeight;\n}\n\nfunction messureText(string, options, context) {\n\tvar ctx;\n\n\tif (context) {\n\t\tctx = context;\n\t} else if (typeof document !== \"undefined\") {\n\t\tctx = document.createElement(\"canvas\").getContext(\"2d\");\n\t} else {\n\t\t// If the text cannot be messured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tctx.font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t// Calculate the width of the encoding\n\tvar measureTextResult = ctx.measureText(string);\n\tif (!measureTextResult) {\n\t\t// Some implementations don't implement measureText and return undefined.\n\t\t// If the text cannot be measured we will return 0.\n\t\t// This will make some barcode with big text render incorrectly\n\t\treturn 0;\n\t}\n\tvar size = measureTextResult.width;\n\treturn size;\n}\n\nexports.getMaximumHeightOfEncodings = getMaximumHeightOfEncodings;\nexports.getEncodingHeight = getEncodingHeight;\nexports.getBarcodePadding = getBarcodePadding;\nexports.calculateEncodingAttributes = calculateEncodingAttributes;\nexports.getTotalWidthOfEncodings = getTotalWidthOfEncodings;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\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 CanvasRenderer = function () {\n\tfunction CanvasRenderer(canvas, encodings, options) {\n\t\t_classCallCheck(this, CanvasRenderer);\n\n\t\tthis.canvas = canvas;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(CanvasRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\t// Abort if the browser does not support HTML5 canvas\n\t\t\tif (!this.canvas.getContext) {\n\t\t\t\tthrow new Error('The browser does not support canvas.');\n\t\t\t}\n\n\t\t\tthis.prepareCanvas();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, this.encodings[i].options);\n\n\t\t\t\tthis.drawCanvasBarcode(encodingOptions, this.encodings[i]);\n\t\t\t\tthis.drawCanvasText(encodingOptions, this.encodings[i]);\n\n\t\t\t\tthis.moveCanvasDrawing(this.encodings[i]);\n\t\t\t}\n\n\t\t\tthis.restoreCanvas();\n\t\t}\n\t}, {\n\t\tkey: \"prepareCanvas\",\n\t\tvalue: function prepareCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.save();\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options, ctx);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tthis.canvas.width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\n\t\t\tthis.canvas.height = maxHeight;\n\n\t\t\t// Paint the canvas\n\t\t\tctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\tif (this.options.background) {\n\t\t\t\tctx.fillStyle = this.options.background;\n\t\t\t\tctx.fillRect(0, 0, this.canvas.width, this.canvas.height);\n\t\t\t}\n\n\t\t\tctx.translate(this.options.marginLeft, 0);\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasBarcode\",\n\t\tvalue: function drawCanvasBarcode(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.marginTop + options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = options.marginTop;\n\t\t\t}\n\n\t\t\tctx.fillStyle = options.lineColor;\n\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tvar x = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height);\n\t\t\t\t} else if (binary[b]) {\n\t\t\t\t\tctx.fillRect(x, yFrom, options.width, options.height * binary[b]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawCanvasText\",\n\t\tvalue: function drawCanvasText(options, encoding) {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tvar font = options.fontOptions + \" \" + options.fontSize + \"px \" + options.font;\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.marginTop + options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.marginTop + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\tctx.font = font;\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\tctx.textAlign = 'left';\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\tctx.textAlign = 'right';\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\tctx.textAlign = 'center';\n\t\t\t\t\t}\n\n\t\t\t\tctx.fillText(encoding.text, x, y);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"moveCanvasDrawing\",\n\t\tvalue: function moveCanvasDrawing(encoding) {\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.translate(encoding.width, 0);\n\t\t}\n\t}, {\n\t\tkey: \"restoreCanvas\",\n\t\tvalue: function restoreCanvas() {\n\t\t\t// Get the canvas context\n\t\t\tvar ctx = this.canvas.getContext(\"2d\");\n\n\t\t\tctx.restore();\n\t\t}\n\t}]);\n\n\treturn CanvasRenderer;\n}();\n\nexports.default = CanvasRenderer;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 _merge = require(\"../help/merge.js\");\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _shared = require(\"./shared.js\");\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 svgns = \"http://www.w3.org/2000/svg\";\n\nvar SVGRenderer = function () {\n\tfunction SVGRenderer(svg, encodings, options) {\n\t\t_classCallCheck(this, SVGRenderer);\n\n\t\tthis.svg = svg;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t\tthis.document = options.xmlDocument || document;\n\t}\n\n\t_createClass(SVGRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tvar currentX = this.options.marginLeft;\n\n\t\t\tthis.prepareSVG();\n\t\t\tfor (var i = 0; i < this.encodings.length; i++) {\n\t\t\t\tvar encoding = this.encodings[i];\n\t\t\t\tvar encodingOptions = (0, _merge2.default)(this.options, encoding.options);\n\n\t\t\t\tvar group = this.createGroup(currentX, encodingOptions.marginTop, this.svg);\n\n\t\t\t\tthis.setGroupOptions(group, encodingOptions);\n\n\t\t\t\tthis.drawSvgBarcode(group, encodingOptions, encoding);\n\t\t\t\tthis.drawSVGText(group, encodingOptions, encoding);\n\n\t\t\t\tcurrentX += encoding.width;\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"prepareSVG\",\n\t\tvalue: function prepareSVG() {\n\t\t\t// Clear the SVG\n\t\t\twhile (this.svg.firstChild) {\n\t\t\t\tthis.svg.removeChild(this.svg.firstChild);\n\t\t\t}\n\n\t\t\t(0, _shared.calculateEncodingAttributes)(this.encodings, this.options);\n\t\t\tvar totalWidth = (0, _shared.getTotalWidthOfEncodings)(this.encodings);\n\t\t\tvar maxHeight = (0, _shared.getMaximumHeightOfEncodings)(this.encodings);\n\n\t\t\tvar width = totalWidth + this.options.marginLeft + this.options.marginRight;\n\t\t\tthis.setSvgAttributes(width, maxHeight);\n\n\t\t\tif (this.options.background) {\n\t\t\t\tthis.drawRect(0, 0, width, maxHeight, this.svg).setAttribute(\"style\", \"fill:\" + this.options.background + \";\");\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSvgBarcode\",\n\t\tvalue: function drawSvgBarcode(parent, options, encoding) {\n\t\t\tvar binary = encoding.data;\n\n\t\t\t// Creates the barcode out of the encoded binary\n\t\t\tvar yFrom;\n\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\tyFrom = options.fontSize + options.textMargin;\n\t\t\t} else {\n\t\t\t\tyFrom = 0;\n\t\t\t}\n\n\t\t\tvar barWidth = 0;\n\t\t\tvar x = 0;\n\t\t\tfor (var b = 0; b < binary.length; b++) {\n\t\t\t\tx = b * options.width + encoding.barcodePadding;\n\n\t\t\t\tif (binary[b] === \"1\") {\n\t\t\t\t\tbarWidth++;\n\t\t\t\t} else if (barWidth > 0) {\n\t\t\t\t\tthis.drawRect(x - options.width * barWidth, yFrom, options.width * barWidth, options.height, parent);\n\t\t\t\t\tbarWidth = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Last draw is needed since the barcode ends with 1\n\t\t\tif (barWidth > 0) {\n\t\t\t\tthis.drawRect(x - options.width * (barWidth - 1), yFrom, options.width * barWidth, options.height, parent);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"drawSVGText\",\n\t\tvalue: function drawSVGText(parent, options, encoding) {\n\t\t\tvar textElem = this.document.createElementNS(svgns, 'text');\n\n\t\t\t// Draw the text if displayValue is set\n\t\t\tif (options.displayValue) {\n\t\t\t\tvar x, y;\n\n\t\t\t\ttextElem.setAttribute(\"style\", \"font:\" + options.fontOptions + \" \" + options.fontSize + \"px \" + options.font);\n\n\t\t\t\tif (options.textPosition == \"top\") {\n\t\t\t\t\ty = options.fontSize - options.textMargin;\n\t\t\t\t} else {\n\t\t\t\t\ty = options.height + options.textMargin + options.fontSize;\n\t\t\t\t}\n\n\t\t\t\t// Draw the text in the correct X depending on the textAlign option\n\t\t\t\tif (options.textAlign == \"left\" || encoding.barcodePadding > 0) {\n\t\t\t\t\tx = 0;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"start\");\n\t\t\t\t} else if (options.textAlign == \"right\") {\n\t\t\t\t\tx = encoding.width - 1;\n\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"end\");\n\t\t\t\t}\n\t\t\t\t// In all other cases, center the text\n\t\t\t\telse {\n\t\t\t\t\t\tx = encoding.width / 2;\n\t\t\t\t\t\ttextElem.setAttribute(\"text-anchor\", \"middle\");\n\t\t\t\t\t}\n\n\t\t\t\ttextElem.setAttribute(\"x\", x);\n\t\t\t\ttextElem.setAttribute(\"y\", y);\n\n\t\t\t\ttextElem.appendChild(this.document.createTextNode(encoding.text));\n\n\t\t\t\tparent.appendChild(textElem);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: \"setSvgAttributes\",\n\t\tvalue: function setSvgAttributes(width, height) {\n\t\t\tvar svg = this.svg;\n\t\t\tsvg.setAttribute(\"width\", width + \"px\");\n\t\t\tsvg.setAttribute(\"height\", height + \"px\");\n\t\t\tsvg.setAttribute(\"x\", \"0px\");\n\t\t\tsvg.setAttribute(\"y\", \"0px\");\n\t\t\tsvg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n\t\t\tsvg.setAttribute(\"xmlns\", svgns);\n\t\t\tsvg.setAttribute(\"version\", \"1.1\");\n\n\t\t\tsvg.setAttribute(\"style\", \"transform: translate(0,0)\");\n\t\t}\n\t}, {\n\t\tkey: \"createGroup\",\n\t\tvalue: function createGroup(x, y, parent) {\n\t\t\tvar group = this.document.createElementNS(svgns, 'g');\n\t\t\tgroup.setAttribute(\"transform\", \"translate(\" + x + \", \" + y + \")\");\n\n\t\t\tparent.appendChild(group);\n\n\t\t\treturn group;\n\t\t}\n\t}, {\n\t\tkey: \"setGroupOptions\",\n\t\tvalue: function setGroupOptions(group, options) {\n\t\t\tgroup.setAttribute(\"style\", \"fill:\" + options.lineColor + \";\");\n\t\t}\n\t}, {\n\t\tkey: \"drawRect\",\n\t\tvalue: function drawRect(x, y, width, height, parent) {\n\t\t\tvar rect = this.document.createElementNS(svgns, 'rect');\n\n\t\t\trect.setAttribute(\"x\", x);\n\t\t\trect.setAttribute(\"y\", y);\n\t\t\trect.setAttribute(\"width\", width);\n\t\t\trect.setAttribute(\"height\", height);\n\n\t\t\tparent.appendChild(rect);\n\n\t\t\treturn rect;\n\t\t}\n\t}]);\n\n\treturn SVGRenderer;\n}();\n\nexports.default = SVGRenderer;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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 ObjectRenderer = function () {\n\tfunction ObjectRenderer(object, encodings, options) {\n\t\t_classCallCheck(this, ObjectRenderer);\n\n\t\tthis.object = object;\n\t\tthis.encodings = encodings;\n\t\tthis.options = options;\n\t}\n\n\t_createClass(ObjectRenderer, [{\n\t\tkey: \"render\",\n\t\tvalue: function render() {\n\t\t\tthis.object.encodings = this.encodings;\n\t\t}\n\t}]);\n\n\treturn ObjectRenderer;\n}();\n\nexports.default = ObjectRenderer;", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _canvas = require('./canvas.js');\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _svg = require('./svg.js');\n\nvar _svg2 = _interopRequireDefault(_svg);\n\nvar _object = require('./object.js');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = { CanvasRenderer: _canvas2.default, SVGRenderer: _svg2.default, ObjectRenderer: _object2.default };", "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\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 InvalidInputException = function (_Error) {\n\t_inherits(InvalidInputException, _Error);\n\n\tfunction InvalidInputException(symbology, input) {\n\t\t_classCallCheck(this, InvalidInputException);\n\n\t\tvar _this = _possibleConstructorReturn(this, (InvalidInputException.__proto__ || Object.getPrototypeOf(InvalidInputException)).call(this));\n\n\t\t_this.name = \"InvalidInputException\";\n\n\t\t_this.symbology = symbology;\n\t\t_this.input = input;\n\n\t\t_this.message = '\"' + _this.input + '\" is not a valid input for ' + _this.symbology;\n\t\treturn _this;\n\t}\n\n\treturn InvalidInputException;\n}(Error);\n\nvar InvalidElementException = function (_Error2) {\n\t_inherits(InvalidElementException, _Error2);\n\n\tfunction InvalidElementException() {\n\t\t_classCallCheck(this, InvalidElementException);\n\n\t\tvar _this2 = _possibleConstructorReturn(this, (InvalidElementException.__proto__ || Object.getPrototypeOf(InvalidElementException)).call(this));\n\n\t\t_this2.name = \"InvalidElementException\";\n\t\t_this2.message = \"Not supported type to render on\";\n\t\treturn _this2;\n\t}\n\n\treturn InvalidElementException;\n}(Error);\n\nvar NoElementException = function (_Error3) {\n\t_inherits(NoElementException, _Error3);\n\n\tfunction NoElementException() {\n\t\t_classCallCheck(this, NoElementException);\n\n\t\tvar _this3 = _possibleConstructorReturn(this, (NoElementException.__proto__ || Object.getPrototypeOf(NoElementException)).call(this));\n\n\t\t_this3.name = \"NoElementException\";\n\t\t_this3.message = \"No element to render on.\";\n\t\treturn _this3;\n\t}\n\n\treturn NoElementException;\n}(Error);\n\nexports.InvalidInputException = InvalidInputException;\nexports.InvalidElementException = InvalidElementException;\nexports.NoElementException = NoElementException;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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; }; /* global HTMLImageElement */\n/* global HTMLCanvasElement */\n/* global SVGElement */\n\nvar _getOptionsFromElement = require(\"./getOptionsFromElement.js\");\n\nvar _getOptionsFromElement2 = _interopRequireDefault(_getOptionsFromElement);\n\nvar _renderers = require(\"../renderers\");\n\nvar _renderers2 = _interopRequireDefault(_renderers);\n\nvar _exceptions = require(\"../exceptions/exceptions.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Takes an element and returns an object with information about how\n// it should be rendered\n// This could also return an array with these objects\n// {\n// element: The element that the renderer should draw on\n// renderer: The name of the renderer\n// afterRender (optional): If something has to done after the renderer\n// completed, calls afterRender (function)\n// options (optional): Options that can be defined in the element\n// }\n\nfunction getRenderProperties(element) {\n\t// If the element is a string, query select call again\n\tif (typeof element === \"string\") {\n\t\treturn querySelectedRenderProperties(element);\n\t}\n\t// If element is array. Recursivly call with every object in the array\n\telse if (Array.isArray(element)) {\n\t\t\tvar returnArray = [];\n\t\t\tfor (var i = 0; i < element.length; i++) {\n\t\t\t\treturnArray.push(getRenderProperties(element[i]));\n\t\t\t}\n\t\t\treturn returnArray;\n\t\t}\n\t\t// If element, render on canvas and set the uri as src\n\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLImageElement) {\n\t\t\t\treturn newCanvasRenderProperties(element);\n\t\t\t}\n\t\t\t// If SVG\n\t\t\telse if (element && element.nodeName && element.nodeName.toLowerCase() === 'svg' || typeof SVGElement !== 'undefined' && element instanceof SVGElement) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\telement: element,\n\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\trenderer: _renderers2.default.SVGRenderer\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// If canvas (in browser)\n\t\t\t\telse if (typeof HTMLCanvasElement !== 'undefined' && element instanceof HTMLCanvasElement) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\toptions: (0, _getOptionsFromElement2.default)(element),\n\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\t// If canvas (in node)\n\t\t\t\t\telse if (element && element.getContext) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.CanvasRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (element && (typeof element === \"undefined\" ? \"undefined\" : _typeof(element)) === 'object' && !element.nodeName) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\telement: element,\n\t\t\t\t\t\t\t\trenderer: _renderers2.default.ObjectRenderer\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new _exceptions.InvalidElementException();\n\t\t\t\t\t\t}\n}\n\nfunction querySelectedRenderProperties(string) {\n\tvar selector = document.querySelectorAll(string);\n\tif (selector.length === 0) {\n\t\treturn undefined;\n\t} else {\n\t\tvar returnArray = [];\n\t\tfor (var i = 0; i < selector.length; i++) {\n\t\t\treturnArray.push(getRenderProperties(selector[i]));\n\t\t}\n\t\treturn returnArray;\n\t}\n}\n\nfunction newCanvasRenderProperties(imgElement) {\n\tvar canvas = document.createElement('canvas');\n\treturn {\n\t\telement: canvas,\n\t\toptions: (0, _getOptionsFromElement2.default)(imgElement),\n\t\trenderer: _renderers2.default.CanvasRenderer,\n\t\tafterRender: function afterRender() {\n\t\t\timgElement.setAttribute(\"src\", canvas.toDataURL());\n\t\t}\n\t};\n}\n\nexports.default = getRenderProperties;", "\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: 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\n/*eslint no-console: 0 */\n\nvar ErrorHandler = function () {\n\tfunction ErrorHandler(api) {\n\t\t_classCallCheck(this, ErrorHandler);\n\n\t\tthis.api = api;\n\t}\n\n\t_createClass(ErrorHandler, [{\n\t\tkey: \"handleCatch\",\n\t\tvalue: function handleCatch(e) {\n\t\t\t// If babel supported extending of Error in a correct way instanceof would be used here\n\t\t\tif (e.name === \"InvalidInputException\") {\n\t\t\t\tif (this.api._options.valid !== this.api._defaults.valid) {\n\t\t\t\t\tthis.api._options.valid(false);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e.message;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthrow e;\n\t\t\t}\n\n\t\t\tthis.api.render = function () {};\n\t\t}\n\t}, {\n\t\tkey: \"wrapBarcodeCall\",\n\t\tvalue: function wrapBarcodeCall(func) {\n\t\t\ttry {\n\t\t\t\tvar result = func.apply(undefined, arguments);\n\t\t\t\tthis.api._options.valid(true);\n\t\t\t\treturn result;\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleCatch(e);\n\n\t\t\t\treturn this.api;\n\t\t\t}\n\t\t}\n\t}]);\n\n\treturn ErrorHandler;\n}();\n\nexports.default = ErrorHandler;", "'use strict';\n\nvar _barcodes = require('./barcodes/');\n\nvar _barcodes2 = _interopRequireDefault(_barcodes);\n\nvar _merge = require('./help/merge.js');\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _linearizeEncodings = require('./help/linearizeEncodings.js');\n\nvar _linearizeEncodings2 = _interopRequireDefault(_linearizeEncodings);\n\nvar _fixOptions = require('./help/fixOptions.js');\n\nvar _fixOptions2 = _interopRequireDefault(_fixOptions);\n\nvar _getRenderProperties = require('./help/getRenderProperties.js');\n\nvar _getRenderProperties2 = _interopRequireDefault(_getRenderProperties);\n\nvar _optionsFromStrings = require('./help/optionsFromStrings.js');\n\nvar _optionsFromStrings2 = _interopRequireDefault(_optionsFromStrings);\n\nvar _ErrorHandler = require('./exceptions/ErrorHandler.js');\n\nvar _ErrorHandler2 = _interopRequireDefault(_ErrorHandler);\n\nvar _exceptions = require('./exceptions/exceptions.js');\n\nvar _defaults = require('./options/defaults.js');\n\nvar _defaults2 = _interopRequireDefault(_defaults);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The protype of the object returned from the JsBarcode() call\n\n\n// Help functions\nvar API = function API() {};\n\n// The first call of the library API\n// Will return an object with all barcodes calls and the data that is used\n// by the renderers\n\n\n// Default values\n\n\n// Exceptions\n// Import all the barcodes\nvar JsBarcode = function JsBarcode(element, text, options) {\n\tvar api = new API();\n\n\tif (typeof element === \"undefined\") {\n\t\tthrow Error(\"No element to render on was provided.\");\n\t}\n\n\t// Variables that will be pased through the API calls\n\tapi._renderProperties = (0, _getRenderProperties2.default)(element);\n\tapi._encodings = [];\n\tapi._options = _defaults2.default;\n\tapi._errorHandler = new _ErrorHandler2.default(api);\n\n\t// If text is set, use the simple syntax (render the barcode directly)\n\tif (typeof text !== \"undefined\") {\n\t\toptions = options || {};\n\n\t\tif (!options.format) {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tapi.options(options)[options.format](text, options).render();\n\t}\n\n\treturn api;\n};\n\n// To make tests work TODO: remove\nJsBarcode.getModule = function (name) {\n\treturn _barcodes2.default[name];\n};\n\n// Register all barcodes\nfor (var name in _barcodes2.default) {\n\tif (_barcodes2.default.hasOwnProperty(name)) {\n\t\t// Security check if the propery is a prototype property\n\t\tregisterBarcode(_barcodes2.default, name);\n\t}\n}\nfunction registerBarcode(barcodes, name) {\n\tAPI.prototype[name] = API.prototype[name.toUpperCase()] = API.prototype[name.toLowerCase()] = function (text, options) {\n\t\tvar api = this;\n\t\treturn api._errorHandler.wrapBarcodeCall(function () {\n\t\t\t// Ensure text is options.text\n\t\t\toptions.text = typeof options.text === 'undefined' ? undefined : '' + options.text;\n\n\t\t\tvar newOptions = (0, _merge2.default)(api._options, options);\n\t\t\tnewOptions = (0, _optionsFromStrings2.default)(newOptions);\n\t\t\tvar Encoder = barcodes[name];\n\t\t\tvar encoded = encode(text, Encoder, newOptions);\n\t\t\tapi._encodings.push(encoded);\n\n\t\t\treturn api;\n\t\t});\n\t};\n}\n\n// encode() handles the Encoder call and builds the binary string to be rendered\nfunction encode(text, Encoder, options) {\n\t// Ensure that text is a string\n\ttext = \"\" + text;\n\n\tvar encoder = new Encoder(text, options);\n\n\t// If the input is not valid for the encoder, throw error.\n\t// If the valid callback option is set, call it instead of throwing error\n\tif (!encoder.valid()) {\n\t\tthrow new _exceptions.InvalidInputException(encoder.constructor.name, text);\n\t}\n\n\t// Make a request for the binary data (and other infromation) that should be rendered\n\tvar encoded = encoder.encode();\n\n\t// Encodings can be nestled like [[1-1, 1-2], 2, [3-1, 3-2]\n\t// Convert to [1-1, 1-2, 2, 3-1, 3-2]\n\tencoded = (0, _linearizeEncodings2.default)(encoded);\n\n\t// Merge\n\tfor (var i = 0; i < encoded.length; i++) {\n\t\tencoded[i].options = (0, _merge2.default)(options, encoded[i].options);\n\t}\n\n\treturn encoded;\n}\n\nfunction autoSelectBarcode() {\n\t// If CODE128 exists. Use it\n\tif (_barcodes2.default[\"CODE128\"]) {\n\t\treturn \"CODE128\";\n\t}\n\n\t// Else, take the first (probably only) barcode\n\treturn Object.keys(_barcodes2.default)[0];\n}\n\n// Sets global encoder options\n// Added to the api by the JsBarcode function\nAPI.prototype.options = function (options) {\n\tthis._options = (0, _merge2.default)(this._options, options);\n\treturn this;\n};\n\n// Will create a blank space (usually in between barcodes)\nAPI.prototype.blank = function (size) {\n\tvar zeroes = new Array(size + 1).join(\"0\");\n\tthis._encodings.push({ data: zeroes });\n\treturn this;\n};\n\n// Initialize JsBarcode on all HTML elements defined.\nAPI.prototype.init = function () {\n\t// Should do nothing if no elements where found\n\tif (!this._renderProperties) {\n\t\treturn;\n\t}\n\n\t// Make sure renderProperies is an array\n\tif (!Array.isArray(this._renderProperties)) {\n\t\tthis._renderProperties = [this._renderProperties];\n\t}\n\n\tvar renderProperty;\n\tfor (var i in this._renderProperties) {\n\t\trenderProperty = this._renderProperties[i];\n\t\tvar options = (0, _merge2.default)(this._options, renderProperty.options);\n\n\t\tif (options.format == \"auto\") {\n\t\t\toptions.format = autoSelectBarcode();\n\t\t}\n\n\t\tthis._errorHandler.wrapBarcodeCall(function () {\n\t\t\tvar text = options.value;\n\t\t\tvar Encoder = _barcodes2.default[options.format.toUpperCase()];\n\t\t\tvar encoded = encode(text, Encoder, options);\n\n\t\t\trender(renderProperty, encoded, options);\n\t\t});\n\t}\n};\n\n// The render API call. Calls the real render function.\nAPI.prototype.render = function () {\n\tif (!this._renderProperties) {\n\t\tthrow new _exceptions.NoElementException();\n\t}\n\n\tif (Array.isArray(this._renderProperties)) {\n\t\tfor (var i = 0; i < this._renderProperties.length; i++) {\n\t\t\trender(this._renderProperties[i], this._encodings, this._options);\n\t\t}\n\t} else {\n\t\trender(this._renderProperties, this._encodings, this._options);\n\t}\n\n\treturn this;\n};\n\nAPI.prototype._defaults = _defaults2.default;\n\n// Prepares the encodings and calls the renderer\nfunction render(renderProperties, encodings, options) {\n\tencodings = (0, _linearizeEncodings2.default)(encodings);\n\n\tfor (var i = 0; i < encodings.length; i++) {\n\t\tencodings[i].options = (0, _merge2.default)(options, encodings[i].options);\n\t\t(0, _fixOptions2.default)(encodings[i].options);\n\t}\n\n\t(0, _fixOptions2.default)(options);\n\n\tvar Renderer = renderProperties.renderer;\n\tvar renderer = new Renderer(renderProperties.element, encodings, options);\n\trenderer.render();\n\n\tif (renderProperties.afterRender) {\n\t\trenderProperties.afterRender();\n\t}\n}\n\n// Export to browser\nif (typeof window !== \"undefined\") {\n\twindow.JsBarcode = JsBarcode;\n}\n\n// Export to jQuery\n/*global jQuery */\nif (typeof jQuery !== 'undefined') {\n\tjQuery.fn.JsBarcode = function (content, options) {\n\t\tvar elementArray = [];\n\t\tjQuery(this).each(function () {\n\t\t\telementArray.push(this);\n\t\t});\n\t\treturn JsBarcode(elementArray, content, options);\n\t};\n}\n\n// Export to commonJS\nmodule.exports = JsBarcode;", "/*!\n localForage -- Offline Storage, Improved\n Version 1.10.0\n https://localforage.github.io/localForage\n (c) 2013-2017 Mozilla, Apache License 2.0\n*/\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.localforage = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw (f.code=\"MODULE_NOT_FOUND\", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var scriptEl = global.document.createElement('script');\n scriptEl.onreadystatechange = function () {\n nextTick();\n\n scriptEl.onreadystatechange = null;\n scriptEl.parentNode.removeChild(scriptEl);\n scriptEl = null;\n };\n global.document.documentElement.appendChild(scriptEl);\n };\n } else {\n scheduleDrain = function () {\n setTimeout(nextTick, 0);\n };\n }\n}\n\nvar draining;\nvar queue = [];\n//named nextTick for less confusing stack traces\nfunction nextTick() {\n draining = true;\n var i, oldQueue;\n var len = queue.length;\n while (len) {\n oldQueue = queue;\n queue = [];\n i = -1;\n while (++i < len) {\n oldQueue[i]();\n }\n len = queue.length;\n }\n draining = false;\n}\n\nmodule.exports = immediate;\nfunction immediate(task) {\n if (queue.push(task) === 1 && !draining) {\n scheduleDrain();\n }\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],2:[function(_dereq_,module,exports){\n'use strict';\nvar immediate = _dereq_(1);\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n},{\"1\":1}],3:[function(_dereq_,module,exports){\n(function (global){\n'use strict';\nif (typeof global.Promise !== 'function') {\n global.Promise = _dereq_(2);\n}\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"2\":2}],4:[function(_dereq_,module,exports){\n'use strict';\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getIDB() {\n /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */\n try {\n if (typeof indexedDB !== 'undefined') {\n return indexedDB;\n }\n if (typeof webkitIndexedDB !== 'undefined') {\n return webkitIndexedDB;\n }\n if (typeof mozIndexedDB !== 'undefined') {\n return mozIndexedDB;\n }\n if (typeof OIndexedDB !== 'undefined') {\n return OIndexedDB;\n }\n if (typeof msIndexedDB !== 'undefined') {\n return msIndexedDB;\n }\n } catch (e) {\n return;\n }\n}\n\nvar idb = getIDB();\n\nfunction isIndexedDBValid() {\n try {\n // Initialize IndexedDB; fall back to vendor-prefixed versions\n // if needed.\n if (!idb || !idb.open) {\n return false;\n }\n // We mimic PouchDB here;\n //\n // We test for openDatabase because IE Mobile identifies itself\n // as Safari. Oh the lulz...\n var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);\n\n var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;\n\n // Safari <10.1 does not meet our requirements for IDB support\n // (see: https://github.com/pouchdb/pouchdb/issues/5572).\n // Safari 10.1 shipped with fetch, we can use that to detect it.\n // Note: this creates issues with `window.fetch` polyfills and\n // overrides; see:\n // https://github.com/localForage/localForage/issues/856\n return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&\n // some outdated implementations of IDB that appear on Samsung\n // and HTC Android devices <4.4 are missing IDBKeyRange\n // See: https://github.com/mozilla/localForage/issues/128\n // See: https://github.com/mozilla/localForage/issues/272\n typeof IDBKeyRange !== 'undefined';\n } catch (e) {\n return false;\n }\n}\n\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\n// Abstracts constructing a Blob object, so it also works in older\n// browsers that don't support the native Blob constructor. (i.e.\n// old QtWebKit versions, at least).\nfunction createBlob(parts, properties) {\n /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */\n parts = parts || [];\n properties = properties || {};\n try {\n return new Blob(parts, properties);\n } catch (e) {\n if (e.name !== 'TypeError') {\n throw e;\n }\n var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;\n var builder = new Builder();\n for (var i = 0; i < parts.length; i += 1) {\n builder.append(parts[i]);\n }\n return builder.getBlob(properties.type);\n }\n}\n\n// This is CommonJS because lie is an external dependency, so Rollup\n// can just ignore it.\nif (typeof Promise === 'undefined') {\n // In the \"nopromises\" build this will just throw if you don't have\n // a global promise object, but it would throw anyway later.\n _dereq_(3);\n}\nvar Promise$1 = Promise;\n\nfunction executeCallback(promise, callback) {\n if (callback) {\n promise.then(function (result) {\n callback(null, result);\n }, function (error) {\n callback(error);\n });\n }\n}\n\nfunction executeTwoCallbacks(promise, callback, errorCallback) {\n if (typeof callback === 'function') {\n promise.then(callback);\n }\n\n if (typeof errorCallback === 'function') {\n promise[\"catch\"](errorCallback);\n }\n}\n\nfunction normalizeKey(key) {\n // Cast the key to a string, as that's all we can set as a key.\n if (typeof key !== 'string') {\n console.warn(key + ' used as a key, but it is not a string.');\n key = String(key);\n }\n\n return key;\n}\n\nfunction getCallback() {\n if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {\n return arguments[arguments.length - 1];\n }\n}\n\n// Some code originally from async_storage.js in\n// [Gaia](https://github.com/mozilla-b2g/gaia).\n\nvar DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';\nvar supportsBlobs = void 0;\nvar dbContexts = {};\nvar toString = Object.prototype.toString;\n\n// Transaction Modes\nvar READ_ONLY = 'readonly';\nvar READ_WRITE = 'readwrite';\n\n// Transform a binary string to an array buffer, because otherwise\n// weird stuff happens when you try to work with the binary string directly.\n// It is known.\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction _binStringToArrayBuffer(bin) {\n var length = bin.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n for (var i = 0; i < length; i++) {\n arr[i] = bin.charCodeAt(i);\n }\n return buf;\n}\n\n//\n// Blobs are not supported in all versions of IndexedDB, notably\n// Chrome <37 and Android <5. In those versions, storing a blob will throw.\n//\n// Various other blob bugs exist in Chrome v37-42 (inclusive).\n// Detecting them is expensive and confusing to users, and Chrome 37-42\n// is at very low usage worldwide, so we do a hacky userAgent check instead.\n//\n// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120\n// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916\n// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836\n//\n// Code borrowed from PouchDB. See:\n// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js\n//\nfunction _checkBlobSupportWithoutCaching(idb) {\n return new Promise$1(function (resolve) {\n var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);\n var blob = createBlob(['']);\n txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');\n\n txn.onabort = function (e) {\n // If the transaction aborts now its due to not being able to\n // write to the database, likely due to the disk being full\n e.preventDefault();\n e.stopPropagation();\n resolve(false);\n };\n\n txn.oncomplete = function () {\n var matchedChrome = navigator.userAgent.match(/Chrome\\/(\\d+)/);\n var matchedEdge = navigator.userAgent.match(/Edge\\//);\n // MS Edge pretends to be Chrome 42:\n // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx\n resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);\n };\n })[\"catch\"](function () {\n return false; // error, so assume unsupported\n });\n}\n\nfunction _checkBlobSupport(idb) {\n if (typeof supportsBlobs === 'boolean') {\n return Promise$1.resolve(supportsBlobs);\n }\n return _checkBlobSupportWithoutCaching(idb).then(function (value) {\n supportsBlobs = value;\n return supportsBlobs;\n });\n}\n\nfunction _deferReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Create a deferred object representing the current database operation.\n var deferredOperation = {};\n\n deferredOperation.promise = new Promise$1(function (resolve, reject) {\n deferredOperation.resolve = resolve;\n deferredOperation.reject = reject;\n });\n\n // Enqueue the deferred operation.\n dbContext.deferredOperations.push(deferredOperation);\n\n // Chain its promise to the database readiness.\n if (!dbContext.dbReady) {\n dbContext.dbReady = deferredOperation.promise;\n } else {\n dbContext.dbReady = dbContext.dbReady.then(function () {\n return deferredOperation.promise;\n });\n }\n}\n\nfunction _advanceReadiness(dbInfo) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Resolve its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.resolve();\n return deferredOperation.promise;\n }\n}\n\nfunction _rejectReadiness(dbInfo, err) {\n var dbContext = dbContexts[dbInfo.name];\n\n // Dequeue a deferred operation.\n var deferredOperation = dbContext.deferredOperations.pop();\n\n // Reject its promise (which is part of the database readiness\n // chain of promises).\n if (deferredOperation) {\n deferredOperation.reject(err);\n return deferredOperation.promise;\n }\n}\n\nfunction _getConnection(dbInfo, upgradeNeeded) {\n return new Promise$1(function (resolve, reject) {\n dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();\n\n if (dbInfo.db) {\n if (upgradeNeeded) {\n _deferReadiness(dbInfo);\n dbInfo.db.close();\n } else {\n return resolve(dbInfo.db);\n }\n }\n\n var dbArgs = [dbInfo.name];\n\n if (upgradeNeeded) {\n dbArgs.push(dbInfo.version);\n }\n\n var openreq = idb.open.apply(idb, dbArgs);\n\n if (upgradeNeeded) {\n openreq.onupgradeneeded = function (e) {\n var db = openreq.result;\n try {\n db.createObjectStore(dbInfo.storeName);\n if (e.oldVersion <= 1) {\n // Added when support for blob shims was added\n db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);\n }\n } catch (ex) {\n if (ex.name === 'ConstraintError') {\n console.warn('The database \"' + dbInfo.name + '\"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage \"' + dbInfo.storeName + '\" already exists.');\n } else {\n throw ex;\n }\n }\n };\n }\n\n openreq.onerror = function (e) {\n e.preventDefault();\n reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n var db = openreq.result;\n db.onversionchange = function (e) {\n // Triggered when the database is modified (e.g. adding an objectStore) or\n // deleted (even when initiated by other sessions in different tabs).\n // Closing the connection here prevents those operations from being blocked.\n // If the database is accessed again later by this instance, the connection\n // will be reopened or the database recreated as needed.\n e.target.close();\n };\n resolve(db);\n _advanceReadiness(dbInfo);\n };\n });\n}\n\nfunction _getOriginalConnection(dbInfo) {\n return _getConnection(dbInfo, false);\n}\n\nfunction _getUpgradedConnection(dbInfo) {\n return _getConnection(dbInfo, true);\n}\n\nfunction _isUpgradeNeeded(dbInfo, defaultVersion) {\n if (!dbInfo.db) {\n return true;\n }\n\n var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);\n var isDowngrade = dbInfo.version < dbInfo.db.version;\n var isUpgrade = dbInfo.version > dbInfo.db.version;\n\n if (isDowngrade) {\n // If the version is not the default one\n // then warn for impossible downgrade.\n if (dbInfo.version !== defaultVersion) {\n console.warn('The database \"' + dbInfo.name + '\"' + \" can't be downgraded from version \" + dbInfo.db.version + ' to version ' + dbInfo.version + '.');\n }\n // Align the versions to prevent errors.\n dbInfo.version = dbInfo.db.version;\n }\n\n if (isUpgrade || isNewStore) {\n // If the store is new then increment the version (if needed).\n // This will trigger an \"upgradeneeded\" event which is required\n // for creating a store.\n if (isNewStore) {\n var incVersion = dbInfo.db.version + 1;\n if (incVersion > dbInfo.version) {\n dbInfo.version = incVersion;\n }\n }\n\n return true;\n }\n\n return false;\n}\n\n// encode a blob for indexeddb engines that don't support blobs\nfunction _encodeBlob(blob) {\n return new Promise$1(function (resolve, reject) {\n var reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = function (e) {\n var base64 = btoa(e.target.result || '');\n resolve({\n __local_forage_encoded_blob: true,\n data: base64,\n type: blob.type\n });\n };\n reader.readAsBinaryString(blob);\n });\n}\n\n// decode an encoded blob\nfunction _decodeBlob(encodedBlob) {\n var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));\n return createBlob([arrayBuff], { type: encodedBlob.type });\n}\n\n// is this one of our fancy encoded blobs?\nfunction _isEncodedBlob(value) {\n return value && value.__local_forage_encoded_blob;\n}\n\n// Specialize the default `ready()` function by making it dependent\n// on the current database operations. Thus, the driver will be actually\n// ready when it's been initialized (default) *and* there are no pending\n// operations on the database (initiated by some other instances).\nfunction _fullyReady(callback) {\n var self = this;\n\n var promise = self._initReady().then(function () {\n var dbContext = dbContexts[self._dbInfo.name];\n\n if (dbContext && dbContext.dbReady) {\n return dbContext.dbReady;\n }\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n}\n\n// Try to establish a new db connection to replace the\n// current one which is broken (i.e. experiencing\n// InvalidStateError while creating a transaction).\nfunction _tryReconnect(dbInfo) {\n _deferReadiness(dbInfo);\n\n var dbContext = dbContexts[dbInfo.name];\n var forages = dbContext.forages;\n\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n if (forage._dbInfo.db) {\n forage._dbInfo.db.close();\n forage._dbInfo.db = null;\n }\n }\n dbInfo.db = null;\n\n return _getOriginalConnection(dbInfo).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n // store the latest db reference\n // in case the db was upgraded\n dbInfo.db = dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n })[\"catch\"](function (err) {\n _rejectReadiness(dbInfo, err);\n throw err;\n });\n}\n\n// FF doesn't like Promises (micro-tasks) and IDDB store operations,\n// so we have to do it with callbacks\nfunction createTransaction(dbInfo, mode, callback, retries) {\n if (retries === undefined) {\n retries = 1;\n }\n\n try {\n var tx = dbInfo.db.transaction(dbInfo.storeName, mode);\n callback(null, tx);\n } catch (err) {\n if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {\n return Promise$1.resolve().then(function () {\n if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {\n // increase the db version, to create the new ObjectStore\n if (dbInfo.db) {\n dbInfo.version = dbInfo.db.version + 1;\n }\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n }).then(function () {\n return _tryReconnect(dbInfo).then(function () {\n createTransaction(dbInfo, mode, callback, retries - 1);\n });\n })[\"catch\"](callback);\n }\n\n callback(err);\n }\n}\n\nfunction createDbContext() {\n return {\n // Running localForages sharing a database.\n forages: [],\n // Shared database.\n db: null,\n // Database readiness (promise).\n dbReady: null,\n // Deferred operations on the database.\n deferredOperations: []\n };\n}\n\n// Open the IndexedDB database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n // Get the current context of the database;\n var dbContext = dbContexts[dbInfo.name];\n\n // ...or create a new context.\n if (!dbContext) {\n dbContext = createDbContext();\n // Register the new context in the global container.\n dbContexts[dbInfo.name] = dbContext;\n }\n\n // Register itself as a running localForage in the current context.\n dbContext.forages.push(self);\n\n // Replace the default `ready()` function with the specialized one.\n if (!self._initReady) {\n self._initReady = self.ready;\n self.ready = _fullyReady;\n }\n\n // Create an array of initialization states of the related localForages.\n var initPromises = [];\n\n function ignoreErrors() {\n // Don't handle errors here,\n // just makes sure related localForages aren't pending.\n return Promise$1.resolve();\n }\n\n for (var j = 0; j < dbContext.forages.length; j++) {\n var forage = dbContext.forages[j];\n if (forage !== self) {\n // Don't wait for itself...\n initPromises.push(forage._initReady()[\"catch\"](ignoreErrors));\n }\n }\n\n // Take a snapshot of the related localForages.\n var forages = dbContext.forages.slice(0);\n\n // Initialize the connection process only when\n // all the related localForages aren't pending.\n return Promise$1.all(initPromises).then(function () {\n dbInfo.db = dbContext.db;\n // Get the connection or open a new one without upgrade.\n return _getOriginalConnection(dbInfo);\n }).then(function (db) {\n dbInfo.db = db;\n if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {\n // Reopen the database for upgrading.\n return _getUpgradedConnection(dbInfo);\n }\n return db;\n }).then(function (db) {\n dbInfo.db = dbContext.db = db;\n self._dbInfo = dbInfo;\n // Share the final connection amongst related localForages.\n for (var k = 0; k < forages.length; k++) {\n var forage = forages[k];\n if (forage !== self) {\n // Self is already up-to-date.\n forage._dbInfo.db = dbInfo.db;\n forage._dbInfo.version = dbInfo.version;\n }\n }\n });\n}\n\nfunction getItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.get(key);\n\n req.onsuccess = function () {\n var value = req.result;\n if (value === undefined) {\n value = null;\n }\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n resolve(value);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items stored in database.\nfunction iterate(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openCursor();\n var iterationNumber = 1;\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (cursor) {\n var value = cursor.value;\n if (_isEncodedBlob(value)) {\n value = _decodeBlob(value);\n }\n var result = iterator(value, cursor.key, iterationNumber++);\n\n // when the iterator callback returns any\n // (non-`undefined`) value, then we stop\n // the iteration immediately\n if (result !== void 0) {\n resolve(result);\n } else {\n cursor[\"continue\"]();\n }\n } else {\n resolve();\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n\n return promise;\n}\n\nfunction setItem(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n var dbInfo;\n self.ready().then(function () {\n dbInfo = self._dbInfo;\n if (toString.call(value) === '[object Blob]') {\n return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {\n if (blobSupport) {\n return value;\n }\n return _encodeBlob(value);\n });\n }\n return value;\n }).then(function (value) {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n\n // The reason we don't _save_ null is because IE 10 does\n // not support saving the `null` type in IndexedDB. How\n // ironic, given the bug below!\n // See: https://github.com/mozilla/localForage/issues/161\n if (value === null) {\n value = undefined;\n }\n\n var req = store.put(value, key);\n\n transaction.oncomplete = function () {\n // Cast to undefined so the value passed to\n // callback/promise is the same as what one would get out\n // of `getItem()` later. This leads to some weirdness\n // (setItem('foo', undefined) will return `null`), but\n // it's not my fault localStorage is our baseline and that\n // it's weird.\n if (value === undefined) {\n value = null;\n }\n\n resolve(value);\n };\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction removeItem(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n // We use a Grunt task to make this safe for IE and some\n // versions of Android (including those used by Cordova).\n // Normally IE won't like `.delete()` and will insist on\n // using `['delete']()`, but we have a build step that\n // fixes this for us now.\n var req = store[\"delete\"](key);\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onerror = function () {\n reject(req.error);\n };\n\n // The request will be also be aborted if we've exceeded our storage\n // space.\n transaction.onabort = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction clear(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.clear();\n\n transaction.oncomplete = function () {\n resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n var err = req.error ? req.error : req.transaction.error;\n reject(err);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction length(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.count();\n\n req.onsuccess = function () {\n resolve(req.result);\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction key(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n if (n < 0) {\n resolve(null);\n\n return;\n }\n\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var advanced = false;\n var req = store.openKeyCursor();\n\n req.onsuccess = function () {\n var cursor = req.result;\n if (!cursor) {\n // this means there weren't enough keys\n resolve(null);\n\n return;\n }\n\n if (n === 0) {\n // We have the first key, return it if that's what they\n // wanted.\n resolve(cursor.key);\n } else {\n if (!advanced) {\n // Otherwise, ask the cursor to skip ahead n\n // records.\n advanced = true;\n cursor.advance(n);\n } else {\n // When we get here, we've got the nth key.\n resolve(cursor.key);\n }\n }\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {\n if (err) {\n return reject(err);\n }\n\n try {\n var store = transaction.objectStore(self._dbInfo.storeName);\n var req = store.openKeyCursor();\n var keys = [];\n\n req.onsuccess = function () {\n var cursor = req.result;\n\n if (!cursor) {\n resolve(keys);\n return;\n }\n\n keys.push(cursor.key);\n cursor[\"continue\"]();\n };\n\n req.onerror = function () {\n reject(req.error);\n };\n } catch (e) {\n reject(e);\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;\n\n var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n forages[i]._dbInfo.db = db;\n }\n return db;\n });\n\n if (!options.storeName) {\n promise = dbPromise.then(function (db) {\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n }\n\n var dropDBPromise = new Promise$1(function (resolve, reject) {\n var req = idb.deleteDatabase(options.name);\n\n req.onerror = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n reject(req.error);\n };\n\n req.onblocked = function () {\n // Closing all open connections in onversionchange handler should prevent this situation, but if\n // we do get here, it just means the request remains pending - eventually it will succeed or error\n console.warn('dropInstance blocked for database \"' + options.name + '\" until all open connections are closed');\n };\n\n req.onsuccess = function () {\n var db = req.result;\n if (db) {\n db.close();\n }\n resolve(db);\n };\n });\n\n return dropDBPromise.then(function (db) {\n dbContext.db = db;\n for (var i = 0; i < forages.length; i++) {\n var _forage = forages[i];\n _advanceReadiness(_forage._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n } else {\n promise = dbPromise.then(function (db) {\n if (!db.objectStoreNames.contains(options.storeName)) {\n return;\n }\n\n var newVersion = db.version + 1;\n\n _deferReadiness(options);\n\n var dbContext = dbContexts[options.name];\n var forages = dbContext.forages;\n\n db.close();\n for (var i = 0; i < forages.length; i++) {\n var forage = forages[i];\n forage._dbInfo.db = null;\n forage._dbInfo.version = newVersion;\n }\n\n var dropObjectPromise = new Promise$1(function (resolve, reject) {\n var req = idb.open(options.name, newVersion);\n\n req.onerror = function (err) {\n var db = req.result;\n db.close();\n reject(err);\n };\n\n req.onupgradeneeded = function () {\n var db = req.result;\n db.deleteObjectStore(options.storeName);\n };\n\n req.onsuccess = function () {\n var db = req.result;\n db.close();\n resolve(db);\n };\n });\n\n return dropObjectPromise.then(function (db) {\n dbContext.db = db;\n for (var j = 0; j < forages.length; j++) {\n var _forage2 = forages[j];\n _forage2._dbInfo.db = db;\n _advanceReadiness(_forage2._dbInfo);\n }\n })[\"catch\"](function (err) {\n (_rejectReadiness(options, err) || Promise$1.resolve())[\"catch\"](function () {});\n throw err;\n });\n });\n }\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar asyncStorage = {\n _driver: 'asyncStorage',\n _initStorage: _initStorage,\n _support: isIndexedDBValid(),\n iterate: iterate,\n getItem: getItem,\n setItem: setItem,\n removeItem: removeItem,\n clear: clear,\n length: length,\n key: key,\n keys: keys,\n dropInstance: dropInstance\n};\n\nfunction isWebSQLValid() {\n return typeof openDatabase === 'function';\n}\n\n// Sadly, the best way to save binary data in WebSQL/localStorage is serializing\n// it to Base64, so this is how we store it to prevent very strange errors with less\n// verbose ways of binary <-> string data storage.\nvar BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\nvar BLOB_TYPE_PREFIX = '~~local_forage_type~';\nvar BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;\n\nvar SERIALIZED_MARKER = '__lfsc__:';\nvar SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;\n\n// OMG the serializations!\nvar TYPE_ARRAYBUFFER = 'arbf';\nvar TYPE_BLOB = 'blob';\nvar TYPE_INT8ARRAY = 'si08';\nvar TYPE_UINT8ARRAY = 'ui08';\nvar TYPE_UINT8CLAMPEDARRAY = 'uic8';\nvar TYPE_INT16ARRAY = 'si16';\nvar TYPE_INT32ARRAY = 'si32';\nvar TYPE_UINT16ARRAY = 'ur16';\nvar TYPE_UINT32ARRAY = 'ui32';\nvar TYPE_FLOAT32ARRAY = 'fl32';\nvar TYPE_FLOAT64ARRAY = 'fl64';\nvar TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;\n\nvar toString$1 = Object.prototype.toString;\n\nfunction stringToBuffer(serializedString) {\n // Fill the string into a ArrayBuffer.\n var bufferLength = serializedString.length * 0.75;\n var len = serializedString.length;\n var i;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (serializedString[serializedString.length - 1] === '=') {\n bufferLength--;\n if (serializedString[serializedString.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var buffer = new ArrayBuffer(bufferLength);\n var bytes = new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = BASE_CHARS.indexOf(serializedString[i]);\n encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);\n encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);\n encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);\n\n /*jslint bitwise: true */\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return buffer;\n}\n\n// Converts a buffer to a string to store, serialized, in the backend\n// storage library.\nfunction bufferToString(buffer) {\n // base64-arraybuffer\n var bytes = new Uint8Array(buffer);\n var base64String = '';\n var i;\n\n for (i = 0; i < bytes.length; i += 3) {\n /*jslint bitwise: true */\n base64String += BASE_CHARS[bytes[i] >> 2];\n base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64String += BASE_CHARS[bytes[i + 2] & 63];\n }\n\n if (bytes.length % 3 === 2) {\n base64String = base64String.substring(0, base64String.length - 1) + '=';\n } else if (bytes.length % 3 === 1) {\n base64String = base64String.substring(0, base64String.length - 2) + '==';\n }\n\n return base64String;\n}\n\n// Serialize a value, afterwards executing a callback (which usually\n// instructs the `setItem()` callback/promise to be executed). This is how\n// we store binary data with localStorage.\nfunction serialize(value, callback) {\n var valueType = '';\n if (value) {\n valueType = toString$1.call(value);\n }\n\n // Cannot use `value instanceof ArrayBuffer` or such here, as these\n // checks fail when running the tests using casper.js...\n //\n // TODO: See why those tests fail and use a better solution.\n if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {\n // Convert binary arrays to a string and prefix the string with\n // a special marker.\n var buffer;\n var marker = SERIALIZED_MARKER;\n\n if (value instanceof ArrayBuffer) {\n buffer = value;\n marker += TYPE_ARRAYBUFFER;\n } else {\n buffer = value.buffer;\n\n if (valueType === '[object Int8Array]') {\n marker += TYPE_INT8ARRAY;\n } else if (valueType === '[object Uint8Array]') {\n marker += TYPE_UINT8ARRAY;\n } else if (valueType === '[object Uint8ClampedArray]') {\n marker += TYPE_UINT8CLAMPEDARRAY;\n } else if (valueType === '[object Int16Array]') {\n marker += TYPE_INT16ARRAY;\n } else if (valueType === '[object Uint16Array]') {\n marker += TYPE_UINT16ARRAY;\n } else if (valueType === '[object Int32Array]') {\n marker += TYPE_INT32ARRAY;\n } else if (valueType === '[object Uint32Array]') {\n marker += TYPE_UINT32ARRAY;\n } else if (valueType === '[object Float32Array]') {\n marker += TYPE_FLOAT32ARRAY;\n } else if (valueType === '[object Float64Array]') {\n marker += TYPE_FLOAT64ARRAY;\n } else {\n callback(new Error('Failed to get type for BinaryArray'));\n }\n }\n\n callback(marker + bufferToString(buffer));\n } else if (valueType === '[object Blob]') {\n // Conver the blob to a binaryArray and then to a string.\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n // Backwards-compatible prefix for the blob type.\n var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);\n\n callback(SERIALIZED_MARKER + TYPE_BLOB + str);\n };\n\n fileReader.readAsArrayBuffer(value);\n } else {\n try {\n callback(JSON.stringify(value));\n } catch (e) {\n console.error(\"Couldn't convert value into a JSON string: \", value);\n\n callback(null, e);\n }\n }\n}\n\n// Deserialize data we've inserted into a value column/field. We place\n// special markers into our strings to mark them as encoded; this isn't\n// as nice as a meta field, but it's the only sane thing we can do whilst\n// keeping localStorage support intact.\n//\n// Oftentimes this will just deserialize JSON content, but if we have a\n// special marker (SERIALIZED_MARKER, defined above), we will extract\n// some kind of arraybuffer/binary data/typed array out of the string.\nfunction deserialize(value) {\n // If we haven't marked this string as being specially serialized (i.e.\n // something other than serialized JSON), we can just return it and be\n // done with it.\n if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {\n return JSON.parse(value);\n }\n\n // The following code deals with deserializing some kind of Blob or\n // TypedArray. First we separate out the type of data we're dealing\n // with from the data itself.\n var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);\n var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);\n\n var blobType;\n // Backwards-compatible blob type serialization strategy.\n // DBs created with older versions of localForage will simply not have the blob type.\n if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {\n var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);\n blobType = matcher[1];\n serializedString = serializedString.substring(matcher[0].length);\n }\n var buffer = stringToBuffer(serializedString);\n\n // Return the right type based on the code/type set during\n // serialization.\n switch (type) {\n case TYPE_ARRAYBUFFER:\n return buffer;\n case TYPE_BLOB:\n return createBlob([buffer], { type: blobType });\n case TYPE_INT8ARRAY:\n return new Int8Array(buffer);\n case TYPE_UINT8ARRAY:\n return new Uint8Array(buffer);\n case TYPE_UINT8CLAMPEDARRAY:\n return new Uint8ClampedArray(buffer);\n case TYPE_INT16ARRAY:\n return new Int16Array(buffer);\n case TYPE_UINT16ARRAY:\n return new Uint16Array(buffer);\n case TYPE_INT32ARRAY:\n return new Int32Array(buffer);\n case TYPE_UINT32ARRAY:\n return new Uint32Array(buffer);\n case TYPE_FLOAT32ARRAY:\n return new Float32Array(buffer);\n case TYPE_FLOAT64ARRAY:\n return new Float64Array(buffer);\n default:\n throw new Error('Unkown type: ' + type);\n }\n}\n\nvar localforageSerializer = {\n serialize: serialize,\n deserialize: deserialize,\n stringToBuffer: stringToBuffer,\n bufferToString: bufferToString\n};\n\n/*\n * Includes code from:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\nfunction createDbTable(t, dbInfo, callback, errorCallback) {\n t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);\n}\n\n// Open the WebSQL database (automatically creates one if one didn't\n// previously exist), using any options set in the config.\nfunction _initStorage$1(options) {\n var self = this;\n var dbInfo = {\n db: null\n };\n\n if (options) {\n for (var i in options) {\n dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];\n }\n }\n\n var dbInfoPromise = new Promise$1(function (resolve, reject) {\n // Open the database; the openDatabase API will automatically\n // create it for us if it doesn't exist.\n try {\n dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);\n } catch (e) {\n return reject(e);\n }\n\n // Create our key/value table if it doesn't exist.\n dbInfo.db.transaction(function (t) {\n createDbTable(t, dbInfo, function () {\n self._dbInfo = dbInfo;\n resolve();\n }, function (t, error) {\n reject(error);\n });\n }, reject);\n });\n\n dbInfo.serializer = localforageSerializer;\n return dbInfoPromise;\n}\n\nfunction tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {\n t.executeSql(sqlStatement, args, callback, function (t, error) {\n if (error.code === error.SYNTAX_ERR) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name = ?\", [dbInfo.storeName], function (t, results) {\n if (!results.rows.length) {\n // if the table is missing (was deleted)\n // re-create it table and retry\n createDbTable(t, dbInfo, function () {\n t.executeSql(sqlStatement, args, callback, errorCallback);\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n } else {\n errorCallback(t, error);\n }\n }, errorCallback);\n}\n\nfunction getItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).value : null;\n\n // Check to see if this is serialized content we need to\n // unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction iterate$1(iterator, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {\n var rows = results.rows;\n var length = rows.length;\n\n for (var i = 0; i < length; i++) {\n var item = rows.item(i);\n var result = item.value;\n\n // Check to see if this is serialized content\n // we need to unpack.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n result = iterator(result, item.key, i + 1);\n\n // void(0) prevents problems with redefinition\n // of `undefined`.\n if (result !== void 0) {\n resolve(result);\n return;\n }\n }\n\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction _setItem(key, value, callback, retriesLeft) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n // The localStorage API doesn't return undefined values in an\n // \"expected\" way, so undefined is always cast to null in all\n // drivers. See: https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {\n resolve(originalValue);\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n // The transaction failed; check\n // to see if it's a quota error.\n if (sqlError.code === sqlError.QUOTA_ERR) {\n // We reject the callback outright for now, but\n // it's worth trying to re-run the transaction.\n // Even if the user accepts the prompt to use\n // more storage on Safari, this error will\n // be called.\n //\n // Try to re-run the transaction.\n if (retriesLeft > 0) {\n resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));\n return;\n }\n reject(sqlError);\n }\n });\n }\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction setItem$1(key, value, callback) {\n return _setItem.apply(this, [key, value, callback, 1]);\n}\n\nfunction removeItem$1(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Deletes every item in the table.\n// TODO: Find out if this resets the AUTO_INCREMENT number.\nfunction clear$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Does a simple `COUNT(key)` to get the number of items stored in\n// localForage.\nfunction length$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n // Ahhh, SQL makes this one soooooo easy.\n tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {\n var result = results.rows.item(0).c;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Return the key located at key index X; essentially gets the key from a\n// `WHERE id = ?`. This is the most efficient way I can think to implement\n// this rarely-used (in my experience) part of the API, but it can seem\n// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so\n// the ID of each key will change every time it's updated. Perhaps a stored\n// procedure for the `setItem()` SQL would solve this problem?\n// TODO: Don't change ID on `setItem()`.\nfunction key$1(n, callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {\n var result = results.rows.length ? results.rows.item(0).key : null;\n resolve(result);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$1(callback) {\n var self = this;\n\n var promise = new Promise$1(function (resolve, reject) {\n self.ready().then(function () {\n var dbInfo = self._dbInfo;\n dbInfo.db.transaction(function (t) {\n tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {\n var keys = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n keys.push(results.rows.item(i).key);\n }\n\n resolve(keys);\n }, function (t, error) {\n reject(error);\n });\n });\n })[\"catch\"](reject);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// https://www.w3.org/TR/webdatabase/#databases\n// > There is no way to enumerate or delete the databases available for an origin from this API.\nfunction getAllStoreNames(db) {\n return new Promise$1(function (resolve, reject) {\n db.transaction(function (t) {\n t.executeSql('SELECT name FROM sqlite_master ' + \"WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'\", [], function (t, results) {\n var storeNames = [];\n\n for (var i = 0; i < results.rows.length; i++) {\n storeNames.push(results.rows.item(i).name);\n }\n\n resolve({\n db: db,\n storeNames: storeNames\n });\n }, function (t, error) {\n reject(error);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n}\n\nfunction dropInstance$1(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n var currentConfig = this.config();\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n var db;\n if (options.name === currentConfig.name) {\n // use the db reference of the current instance\n db = self._dbInfo.db;\n } else {\n db = openDatabase(options.name, '', '', 0);\n }\n\n if (!options.storeName) {\n // drop all database tables\n resolve(getAllStoreNames(db));\n } else {\n resolve({\n db: db,\n storeNames: [options.storeName]\n });\n }\n }).then(function (operationInfo) {\n return new Promise$1(function (resolve, reject) {\n operationInfo.db.transaction(function (t) {\n function dropTable(storeName) {\n return new Promise$1(function (resolve, reject) {\n t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {\n resolve();\n }, function (t, error) {\n reject(error);\n });\n });\n }\n\n var operations = [];\n for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {\n operations.push(dropTable(operationInfo.storeNames[i]));\n }\n\n Promise$1.all(operations).then(function () {\n resolve();\n })[\"catch\"](function (e) {\n reject(e);\n });\n }, function (sqlError) {\n reject(sqlError);\n });\n });\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar webSQLStorage = {\n _driver: 'webSQLStorage',\n _initStorage: _initStorage$1,\n _support: isWebSQLValid(),\n iterate: iterate$1,\n getItem: getItem$1,\n setItem: setItem$1,\n removeItem: removeItem$1,\n clear: clear$1,\n length: length$1,\n key: key$1,\n keys: keys$1,\n dropInstance: dropInstance$1\n};\n\nfunction isLocalStorageValid() {\n try {\n return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&\n // in IE8 typeof localStorage.setItem === 'object'\n !!localStorage.setItem;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getKeyPrefix(options, defaultConfig) {\n var keyPrefix = options.name + '/';\n\n if (options.storeName !== defaultConfig.storeName) {\n keyPrefix += options.storeName + '/';\n }\n return keyPrefix;\n}\n\n// Check if localStorage throws when saving an item\nfunction checkIfLocalStorageThrows() {\n var localStorageTestKey = '_localforage_support_test';\n\n try {\n localStorage.setItem(localStorageTestKey, true);\n localStorage.removeItem(localStorageTestKey);\n\n return false;\n } catch (e) {\n return true;\n }\n}\n\n// Check if localStorage is usable and allows to save an item\n// This method checks if localStorage is usable in Safari Private Browsing\n// mode, or in any other case where the available quota for localStorage\n// is 0 and there wasn't any saved items yet.\nfunction _isLocalStorageUsable() {\n return !checkIfLocalStorageThrows() || localStorage.length > 0;\n}\n\n// Config the localStorage backend, using options set in the config.\nfunction _initStorage$2(options) {\n var self = this;\n var dbInfo = {};\n if (options) {\n for (var i in options) {\n dbInfo[i] = options[i];\n }\n }\n\n dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);\n\n if (!_isLocalStorageUsable()) {\n return Promise$1.reject();\n }\n\n self._dbInfo = dbInfo;\n dbInfo.serializer = localforageSerializer;\n\n return Promise$1.resolve();\n}\n\n// Remove all keys from the datastore, effectively destroying all data in\n// the app's key/value store!\nfunction clear$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var keyPrefix = self._dbInfo.keyPrefix;\n\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Retrieve an item from the store. Unlike the original async_storage\n// library in Gaia, we don't modify return values at all. If a key's value\n// is `undefined`, we pass that value to the callback function.\nfunction getItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result = localStorage.getItem(dbInfo.keyPrefix + key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the key\n // is likely undefined and we'll pass it straight to the\n // callback.\n if (result) {\n result = dbInfo.serializer.deserialize(result);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Iterate over all items in the store.\nfunction iterate$2(iterator, callback) {\n var self = this;\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var keyPrefix = dbInfo.keyPrefix;\n var keyPrefixLength = keyPrefix.length;\n var length = localStorage.length;\n\n // We use a dedicated iterator instead of the `i` variable below\n // so other keys we fetch in localStorage aren't counted in\n // the `iterationNumber` argument passed to the `iterate()`\n // callback.\n //\n // See: github.com/mozilla/localForage/pull/435#discussion_r38061530\n var iterationNumber = 1;\n\n for (var i = 0; i < length; i++) {\n var key = localStorage.key(i);\n if (key.indexOf(keyPrefix) !== 0) {\n continue;\n }\n var value = localStorage.getItem(key);\n\n // If a result was found, parse it from the serialized\n // string into a JS object. If result isn't truthy, the\n // key is likely undefined and we'll pass it straight\n // to the iterator.\n if (value) {\n value = dbInfo.serializer.deserialize(value);\n }\n\n value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);\n\n if (value !== void 0) {\n return value;\n }\n }\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Same as localStorage's key() method, except takes a callback.\nfunction key$2(n, callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var result;\n try {\n result = localStorage.key(n);\n } catch (error) {\n result = null;\n }\n\n // Remove the prefix from the key, if a key is found.\n if (result) {\n result = result.substring(dbInfo.keyPrefix.length);\n }\n\n return result;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction keys$2(callback) {\n var self = this;\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n var length = localStorage.length;\n var keys = [];\n\n for (var i = 0; i < length; i++) {\n var itemKey = localStorage.key(i);\n if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {\n keys.push(itemKey.substring(dbInfo.keyPrefix.length));\n }\n }\n\n return keys;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Supply the number of keys in the datastore to the callback function.\nfunction length$2(callback) {\n var self = this;\n var promise = self.keys().then(function (keys) {\n return keys.length;\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Remove an item from the store, nice and simple.\nfunction removeItem$2(key, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n var dbInfo = self._dbInfo;\n localStorage.removeItem(dbInfo.keyPrefix + key);\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\n// Set a key's value and run an optional callback once the value is set.\n// Unlike Gaia's implementation, the callback function is passed the value,\n// in case you want to operate on that value only after you're sure it\n// saved, or something like that.\nfunction setItem$2(key, value, callback) {\n var self = this;\n\n key = normalizeKey(key);\n\n var promise = self.ready().then(function () {\n // Convert undefined values to null.\n // https://github.com/mozilla/localForage/pull/42\n if (value === undefined) {\n value = null;\n }\n\n // Save the original value to pass to the callback.\n var originalValue = value;\n\n return new Promise$1(function (resolve, reject) {\n var dbInfo = self._dbInfo;\n dbInfo.serializer.serialize(value, function (value, error) {\n if (error) {\n reject(error);\n } else {\n try {\n localStorage.setItem(dbInfo.keyPrefix + key, value);\n resolve(originalValue);\n } catch (e) {\n // localStorage capacity exceeded.\n // TODO: Make this a specific error/event.\n if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {\n reject(e);\n }\n reject(e);\n }\n }\n });\n });\n });\n\n executeCallback(promise, callback);\n return promise;\n}\n\nfunction dropInstance$2(options, callback) {\n callback = getCallback.apply(this, arguments);\n\n options = typeof options !== 'function' && options || {};\n if (!options.name) {\n var currentConfig = this.config();\n options.name = options.name || currentConfig.name;\n options.storeName = options.storeName || currentConfig.storeName;\n }\n\n var self = this;\n var promise;\n if (!options.name) {\n promise = Promise$1.reject('Invalid arguments');\n } else {\n promise = new Promise$1(function (resolve) {\n if (!options.storeName) {\n resolve(options.name + '/');\n } else {\n resolve(_getKeyPrefix(options, self._defaultConfig));\n }\n }).then(function (keyPrefix) {\n for (var i = localStorage.length - 1; i >= 0; i--) {\n var key = localStorage.key(i);\n\n if (key.indexOf(keyPrefix) === 0) {\n localStorage.removeItem(key);\n }\n }\n });\n }\n\n executeCallback(promise, callback);\n return promise;\n}\n\nvar localStorageWrapper = {\n _driver: 'localStorageWrapper',\n _initStorage: _initStorage$2,\n _support: isLocalStorageValid(),\n iterate: iterate$2,\n getItem: getItem$2,\n setItem: setItem$2,\n removeItem: removeItem$2,\n clear: clear$2,\n length: length$2,\n key: key$2,\n keys: keys$2,\n dropInstance: dropInstance$2\n};\n\nvar sameValue = function sameValue(x, y) {\n return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);\n};\n\nvar includes = function includes(array, searchElement) {\n var len = array.length;\n var i = 0;\n while (i < len) {\n if (sameValue(array[i], searchElement)) {\n return true;\n }\n i++;\n }\n\n return false;\n};\n\nvar isArray = Array.isArray || function (arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n};\n\n// Drivers are stored here when `defineDriver()` is called.\n// They are shared across all instances of localForage.\nvar DefinedDrivers = {};\n\nvar DriverSupport = {};\n\nvar DefaultDrivers = {\n INDEXEDDB: asyncStorage,\n WEBSQL: webSQLStorage,\n LOCALSTORAGE: localStorageWrapper\n};\n\nvar DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];\n\nvar OptionalDriverMethods = ['dropInstance'];\n\nvar LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);\n\nvar DefaultConfig = {\n description: '',\n driver: DefaultDriverOrder.slice(),\n name: 'localforage',\n // Default DB size is _JUST UNDER_ 5MB, as it's the highest size\n // we can use without a prompt.\n size: 4980736,\n storeName: 'keyvaluepairs',\n version: 1.0\n};\n\nfunction callWhenReady(localForageInstance, libraryMethod) {\n localForageInstance[libraryMethod] = function () {\n var _args = arguments;\n return localForageInstance.ready().then(function () {\n return localForageInstance[libraryMethod].apply(localForageInstance, _args);\n });\n };\n}\n\nfunction extend() {\n for (var i = 1; i < arguments.length; i++) {\n var arg = arguments[i];\n\n if (arg) {\n for (var _key in arg) {\n if (arg.hasOwnProperty(_key)) {\n if (isArray(arg[_key])) {\n arguments[0][_key] = arg[_key].slice();\n } else {\n arguments[0][_key] = arg[_key];\n }\n }\n }\n }\n }\n\n return arguments[0];\n}\n\nvar LocalForage = function () {\n function LocalForage(options) {\n _classCallCheck(this, LocalForage);\n\n for (var driverTypeKey in DefaultDrivers) {\n if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {\n var driver = DefaultDrivers[driverTypeKey];\n var driverName = driver._driver;\n this[driverTypeKey] = driverName;\n\n if (!DefinedDrivers[driverName]) {\n // we don't need to wait for the promise,\n // since the default drivers can be defined\n // in a blocking manner\n this.defineDriver(driver);\n }\n }\n }\n\n this._defaultConfig = extend({}, DefaultConfig);\n this._config = extend({}, this._defaultConfig, options);\n this._driverSet = null;\n this._initDriver = null;\n this._ready = false;\n this._dbInfo = null;\n\n this._wrapLibraryMethodsWithReady();\n this.setDriver(this._config.driver)[\"catch\"](function () {});\n }\n\n // Set any config values for localForage; can be called anytime before\n // the first API call (e.g. `getItem`, `setItem`).\n // We loop through options so we don't overwrite existing config\n // values.\n\n\n LocalForage.prototype.config = function config(options) {\n // If the options argument is an object, we use it to set values.\n // Otherwise, we return either a specified config value or all\n // config values.\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {\n // If localforage is ready and fully initialized, we can't set\n // any new configuration values. Instead, we return an error.\n if (this._ready) {\n return new Error(\"Can't call config() after localforage \" + 'has been used.');\n }\n\n for (var i in options) {\n if (i === 'storeName') {\n options[i] = options[i].replace(/\\W/g, '_');\n }\n\n if (i === 'version' && typeof options[i] !== 'number') {\n return new Error('Database version must be a number.');\n }\n\n this._config[i] = options[i];\n }\n\n // after all config options are set and\n // the driver option is used, try setting it\n if ('driver' in options && options.driver) {\n return this.setDriver(this._config.driver);\n }\n\n return true;\n } else if (typeof options === 'string') {\n return this._config[options];\n } else {\n return this._config;\n }\n };\n\n // Used to define a custom driver, shared across all instances of\n // localForage.\n\n\n LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {\n var promise = new Promise$1(function (resolve, reject) {\n try {\n var driverName = driverObject._driver;\n var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');\n\n // A driver name should be defined and not overlap with the\n // library-defined, default drivers.\n if (!driverObject._driver) {\n reject(complianceError);\n return;\n }\n\n var driverMethods = LibraryMethods.concat('_initStorage');\n for (var i = 0, len = driverMethods.length; i < len; i++) {\n var driverMethodName = driverMethods[i];\n\n // when the property is there,\n // it should be a method even when optional\n var isRequired = !includes(OptionalDriverMethods, driverMethodName);\n if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {\n reject(complianceError);\n return;\n }\n }\n\n var configureMissingMethods = function configureMissingMethods() {\n var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {\n return function () {\n var error = new Error('Method ' + methodName + ' is not implemented by the current driver');\n var promise = Promise$1.reject(error);\n executeCallback(promise, arguments[arguments.length - 1]);\n return promise;\n };\n };\n\n for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {\n var optionalDriverMethod = OptionalDriverMethods[_i];\n if (!driverObject[optionalDriverMethod]) {\n driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);\n }\n }\n };\n\n configureMissingMethods();\n\n var setDriverSupport = function setDriverSupport(support) {\n if (DefinedDrivers[driverName]) {\n console.info('Redefining LocalForage driver: ' + driverName);\n }\n DefinedDrivers[driverName] = driverObject;\n DriverSupport[driverName] = support;\n // don't use a then, so that we can define\n // drivers that have simple _support methods\n // in a blocking manner\n resolve();\n };\n\n if ('_support' in driverObject) {\n if (driverObject._support && typeof driverObject._support === 'function') {\n driverObject._support().then(setDriverSupport, reject);\n } else {\n setDriverSupport(!!driverObject._support);\n }\n } else {\n setDriverSupport(true);\n }\n } catch (e) {\n reject(e);\n }\n });\n\n executeTwoCallbacks(promise, callback, errorCallback);\n return promise;\n };\n\n LocalForage.prototype.driver = function driver() {\n return this._driver || null;\n };\n\n LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {\n var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));\n\n executeTwoCallbacks(getDriverPromise, callback, errorCallback);\n return getDriverPromise;\n };\n\n LocalForage.prototype.getSerializer = function getSerializer(callback) {\n var serializerPromise = Promise$1.resolve(localforageSerializer);\n executeTwoCallbacks(serializerPromise, callback);\n return serializerPromise;\n };\n\n LocalForage.prototype.ready = function ready(callback) {\n var self = this;\n\n var promise = self._driverSet.then(function () {\n if (self._ready === null) {\n self._ready = self._initDriver();\n }\n\n return self._ready;\n });\n\n executeTwoCallbacks(promise, callback, callback);\n return promise;\n };\n\n LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {\n var self = this;\n\n if (!isArray(drivers)) {\n drivers = [drivers];\n }\n\n var supportedDrivers = this._getSupportedDrivers(drivers);\n\n function setDriverToConfig() {\n self._config.driver = self.driver();\n }\n\n function extendSelfWithDriver(driver) {\n self._extend(driver);\n setDriverToConfig();\n\n self._ready = self._initStorage(self._config);\n return self._ready;\n }\n\n function initDriver(supportedDrivers) {\n return function () {\n var currentDriverIndex = 0;\n\n function driverPromiseLoop() {\n while (currentDriverIndex < supportedDrivers.length) {\n var driverName = supportedDrivers[currentDriverIndex];\n currentDriverIndex++;\n\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(extendSelfWithDriver)[\"catch\"](driverPromiseLoop);\n }\n\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n }\n\n return driverPromiseLoop();\n };\n }\n\n // There might be a driver initialization in progress\n // so wait for it to finish in order to avoid a possible\n // race condition to set _dbInfo\n var oldDriverSetDone = this._driverSet !== null ? this._driverSet[\"catch\"](function () {\n return Promise$1.resolve();\n }) : Promise$1.resolve();\n\n this._driverSet = oldDriverSetDone.then(function () {\n var driverName = supportedDrivers[0];\n self._dbInfo = null;\n self._ready = null;\n\n return self.getDriver(driverName).then(function (driver) {\n self._driver = driver._driver;\n setDriverToConfig();\n self._wrapLibraryMethodsWithReady();\n self._initDriver = initDriver(supportedDrivers);\n });\n })[\"catch\"](function () {\n setDriverToConfig();\n var error = new Error('No available storage method found.');\n self._driverSet = Promise$1.reject(error);\n return self._driverSet;\n });\n\n executeTwoCallbacks(this._driverSet, callback, errorCallback);\n return this._driverSet;\n };\n\n LocalForage.prototype.supports = function supports(driverName) {\n return !!DriverSupport[driverName];\n };\n\n LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {\n extend(this, libraryMethodsAndProperties);\n };\n\n LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {\n var supportedDrivers = [];\n for (var i = 0, len = drivers.length; i < len; i++) {\n var driverName = drivers[i];\n if (this.supports(driverName)) {\n supportedDrivers.push(driverName);\n }\n }\n return supportedDrivers;\n };\n\n LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {\n // Add a stub for each driver API method that delays the call to the\n // corresponding driver method until localForage is ready. These stubs\n // will be replaced by the driver methods as soon as the driver is\n // loaded, so there is no performance impact.\n for (var i = 0, len = LibraryMethods.length; i < len; i++) {\n callWhenReady(this, LibraryMethods[i]);\n }\n };\n\n LocalForage.prototype.createInstance = function createInstance(options) {\n return new LocalForage(options);\n };\n\n return LocalForage;\n}();\n\n// The actual localForage object that we expose as a module or via a\n// global. It's extended by pulling in one of our other libraries.\n\n\nvar localforage_js = new LocalForage();\n\nmodule.exports = localforage_js;\n\n},{\"3\":3}]},{},[4])(4)\n});\n", "//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n", "!function(a,i){\"use strict\";\"object\"==typeof module&&module.exports?module.exports=i(require(\"moment\")):\"function\"==typeof define&&define.amd?define([\"moment\"],i):i(a.moment)}(this,function(o){\"use strict\";void 0===o.version&&o.default&&(o=o.default);var i,s={},c={},A={},u={},m={},a=(o&&\"string\"==typeof o.version||D(\"Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/\"),o.version.split(\".\")),r=+a[0],e=+a[1];function n(a){return 96= 2.6.0. You are using Moment.js \"+o.version+\". See momentjs.com\"),b.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets,this.population=a.population},_index:function(a){for(var i=+a,r=this.untils,e=0;e= 2.9.0. You are using Moment.js \"+o.version+\".\"),o.defaultZone=a?T(a):null,o};a=o.momentProperties;return\"[object Array]\"===Object.prototype.toString.call(a)?(a.push(\"_z\"),a.push(\"_a\")):a&&(a._z=null),_({version:\"2023c\",zones:[\"Africa/Abidjan|GMT|0|0||48e5\",\"Africa/Nairobi|EAT|-30|0||47e5\",\"Africa/Algiers|CET|-10|0||26e5\",\"Africa/Lagos|WAT|-10|0||17e6\",\"Africa/Khartoum|CAT|-20|0||51e5\",\"Africa/Cairo|EET EEST|-20 -30|0101010101010|29NW0 1cL0 1cN0 1fz0 1a10 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0|15e6\",\"Africa/Casablanca|+00 +01|0 -10|010101010101010101010101|1Vq20 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0 2600 e00 28M0 e00 2600 gM0|32e5\",\"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|11e6\",\"Africa/Johannesburg|SAST|-20|0||84e5\",\"Africa/Juba|EAT CAT|-30 -20|01|24nx0|\",\"Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|\",\"Africa/Tripoli|EET|-20|0||11e5\",\"America/Adak|HST HDT|a0 90|01010101010101010101010|1VkA0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|326\",\"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1Vkz0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|30e4\",\"America/Santo_Domingo|AST|40|0||29e5\",\"America/Fortaleza|-03|30|0||34e5\",\"America/Asuncion|-03 -04|30 40|01010101010101010101010|1Vq30 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0|28e5\",\"America/Panama|EST|50|0||15e5\",\"America/Mexico_City|CST CDT|60 50|01010101010|1VsU0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6\",\"America/Managua|CST|60|0||22e5\",\"America/Caracas|-04|40|0||29e5\",\"America/Lima|-05|50|0||11e6\",\"America/Denver|MST MDT|70 60|01010101010101010101010|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|26e5\",\"America/Campo_Grande|-03 -04|30 40|0101|1Vc30 1HB0 FX0|77e4\",\"America/Chicago|CST CDT|60 50|01010101010101010101010|1Vkw0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|92e5\",\"America/Chihuahua|MST MDT CST|70 60 60|01010101012|1VsV0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4\",\"America/Ciudad_Juarez|MST MDT CST|70 60 60|010101010120101010101010|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 cm0 EP0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|\",\"America/Phoenix|MST|70|0||42e5\",\"America/Whitehorse|PST PDT MST|80 70 70|0101012|1Vky0 1zb0 Op0 1zb0 Op0 1z90|23e3\",\"America/New_York|EST EDT|50 40|01010101010101010101010|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|21e6\",\"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1Vky0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|15e6\",\"America/Halifax|AST ADT|40 30|01010101010101010101010|1Vku0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|39e4\",\"America/Godthab|-03 -02 -01|30 20 10|0101010101012121212121|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 2so0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|17e3\",\"America/Grand_Turk|AST EDT EST|40 40 50|01212121212121212121212|1Vkv0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|37e2\",\"America/Havana|CST CDT|50 40|01010101010101010101010|1Vkt0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0|21e5\",\"America/Mazatlan|MST MDT|70 60|01010101010|1VsV0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|44e4\",\"America/Metlakatla|AKST AKDT PST|90 80 80|012010101010101010101010|1Vkz0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|14e2\",\"America/Miquelon|-03 -02|30 20|01010101010101010101010|1Vkt0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|61e2\",\"America/Noronha|-02|20|0||30e2\",\"America/Ojinaga|MST MDT CST CDT|70 60 60 50|01010101012323232323232|1Vkx0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1wn0 Rc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|23e3\",\"America/Santiago|-03 -04|30 40|01010101010101010101010|1VJD0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5\",\"America/Sao_Paulo|-02 -03|20 30|0101|1Vc20 1HB0 FX0|20e6\",\"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4\",\"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1Vktu 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|11e4\",\"Antarctica/Casey|+11 +08|-b0 -80|0101010|1Vkh0 1o30 14k0 1kr0 12l0 1o01|10\",\"Asia/Bangkok|+07|-70|0||15e6\",\"Asia/Vladivostok|+10|-a0|0||60e4\",\"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1VsE0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5\",\"Asia/Tashkent|+05|-50|0||23e5\",\"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5\",\"Europe/Istanbul|+03|-30|0||13e6\",\"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|40\",\"Asia/Dhaka|+06|-60|0||16e6\",\"Asia/Amman|EET EEST +03|-20 -30 -30|01010101012|1VrW0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 LA0 1C00|25e5\",\"Asia/Kamchatka|+12|-c0|0||18e4\",\"Asia/Dubai|+04|-40|0||39e5\",\"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1VpW0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|22e5\",\"Asia/Kuala_Lumpur|+08|-80|0||71e5\",\"Asia/Kolkata|IST|-5u|0||15e6\",\"Asia/Chita|+09|-90|0||33e4\",\"Asia/Shanghai|CST|-80|0||23e6\",\"Asia/Colombo|+0530|-5u|0||22e5\",\"Asia/Damascus|EET EEST +03|-20 -30 -30|01010101012|1VrW0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5\",\"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|35e5\",\"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1Vpz0 1qL0 11c0 1on0 11B0 1o00 11A0 1qo0 XA0 1qp0 1cN0 1cL0 17d0 1in0 14p0 1lb0 11B0 1nX0 11B0 1qL0 WN0 1qL0|18e5\",\"Asia/Hong_Kong|HKT|-80|0||73e5\",\"Asia/Jakarta|WIB|-70|0||31e6\",\"Asia/Jayapura|WIT|-90|0||26e4\",\"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1Vpc0 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0|81e4\",\"Asia/Kabul|+0430|-4u|0||46e5\",\"Asia/Karachi|PKT|-50|0||24e6\",\"Asia/Kathmandu|+0545|-5J|0||12e5\",\"Asia/Sakhalin|+11|-b0|0||58e4\",\"Asia/Makassar|WITA|-80|0||15e5\",\"Asia/Manila|PST|-80|0||24e6\",\"Asia/Pyongyang|KST KST|-8u -90|01|1VGf0|29e5\",\"Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4\",\"Asia/Rangoon|+0630|-6u|0||48e5\",\"Asia/Seoul|KST|-90|0||23e6\",\"Asia/Tehran|+0330 +0430|-3u -4u|01010101010|1VoIu 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6\",\"Asia/Tokyo|JST|-90|0||38e6\",\"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|27e5\",\"Atlantic/Cape_Verde|-01|10|0||50e4\",\"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1VsEu 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5\",\"Australia/Brisbane|AEST|-a0|0||20e5\",\"Australia/Darwin|ACST|-9u|0||12e4\",\"Australia/Eucla|+0845|-8J|0||368\",\"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1VsD0 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347\",\"Australia/Perth|AWST|-80|0||18e5\",\"Pacific/Easter|-05 -06|50 60|01010101010101010101010|1VJD0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2\",\"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|12e5\",\"Etc/GMT-1|+01|-10|0||\",\"Pacific/Tongatapu|+13|-d0|0||75e3\",\"Pacific/Kiritimati|+14|-e0|0||51e2\",\"Etc/GMT-2|+02|-20|0||\",\"Pacific/Tahiti|-10|a0|0||18e4\",\"Pacific/Niue|-11|b0|0||12e2\",\"Etc/GMT+12|-12|c0|0||\",\"Pacific/Galapagos|-06|60|0||25e3\",\"Etc/GMT+7|-07|70|0||\",\"Pacific/Pitcairn|-08|80|0||56\",\"Pacific/Gambier|-09|90|0||125\",\"Etc/UTC|UTC|0|0||\",\"Europe/London|GMT BST|0 -10|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|10e6\",\"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1Vq00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|67e4\",\"Europe/Moscow|MSK|-30|0||16e6\",\"Europe/Volgograd|MSK +04|-30 -40|010|1WQL0 5gn0|10e5\",\"Pacific/Honolulu|HST|a0|0||37e4\",\"MET|MET MEST|-10 -20|01010101010101010101010|1Vq10 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|\",\"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|600\",\"Pacific/Apia|+14 +13|-e0 -d0|01010101|1VsC0 1cM0 1fA0 1a00 1fA0 1a00 1fA0|37e3\",\"Pacific/Fiji|+13 +12|-d0 -c0|01010101|1UVO0 1VA0 s00 20o0 pc0 2hc0 bc0|88e4\",\"Pacific/Guam|ChST|-a0|0||17e4\",\"Pacific/Marquesas|-0930|9u|0||86e2\",\"Pacific/Pago_Pago|SST|b0|0||37e2\",\"Pacific/Norfolk|+11 +12|-b0 -c0|01010101010101010101|219P0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4\"],links:[\"Africa/Abidjan|Africa/Accra\",\"Africa/Abidjan|Africa/Bamako\",\"Africa/Abidjan|Africa/Banjul\",\"Africa/Abidjan|Africa/Bissau\",\"Africa/Abidjan|Africa/Conakry\",\"Africa/Abidjan|Africa/Dakar\",\"Africa/Abidjan|Africa/Freetown\",\"Africa/Abidjan|Africa/Lome\",\"Africa/Abidjan|Africa/Monrovia\",\"Africa/Abidjan|Africa/Nouakchott\",\"Africa/Abidjan|Africa/Ouagadougou\",\"Africa/Abidjan|Africa/Timbuktu\",\"Africa/Abidjan|America/Danmarkshavn\",\"Africa/Abidjan|Atlantic/Reykjavik\",\"Africa/Abidjan|Atlantic/St_Helena\",\"Africa/Abidjan|Etc/GMT\",\"Africa/Abidjan|Etc/GMT+0\",\"Africa/Abidjan|Etc/GMT-0\",\"Africa/Abidjan|Etc/GMT0\",\"Africa/Abidjan|Etc/Greenwich\",\"Africa/Abidjan|GMT\",\"Africa/Abidjan|GMT+0\",\"Africa/Abidjan|GMT-0\",\"Africa/Abidjan|GMT0\",\"Africa/Abidjan|Greenwich\",\"Africa/Abidjan|Iceland\",\"Africa/Algiers|Africa/Tunis\",\"Africa/Cairo|Egypt\",\"Africa/Casablanca|Africa/El_Aaiun\",\"Africa/Johannesburg|Africa/Maseru\",\"Africa/Johannesburg|Africa/Mbabane\",\"Africa/Khartoum|Africa/Blantyre\",\"Africa/Khartoum|Africa/Bujumbura\",\"Africa/Khartoum|Africa/Gaborone\",\"Africa/Khartoum|Africa/Harare\",\"Africa/Khartoum|Africa/Kigali\",\"Africa/Khartoum|Africa/Lubumbashi\",\"Africa/Khartoum|Africa/Lusaka\",\"Africa/Khartoum|Africa/Maputo\",\"Africa/Khartoum|Africa/Windhoek\",\"Africa/Lagos|Africa/Bangui\",\"Africa/Lagos|Africa/Brazzaville\",\"Africa/Lagos|Africa/Douala\",\"Africa/Lagos|Africa/Kinshasa\",\"Africa/Lagos|Africa/Libreville\",\"Africa/Lagos|Africa/Luanda\",\"Africa/Lagos|Africa/Malabo\",\"Africa/Lagos|Africa/Ndjamena\",\"Africa/Lagos|Africa/Niamey\",\"Africa/Lagos|Africa/Porto-Novo\",\"Africa/Nairobi|Africa/Addis_Ababa\",\"Africa/Nairobi|Africa/Asmara\",\"Africa/Nairobi|Africa/Asmera\",\"Africa/Nairobi|Africa/Dar_es_Salaam\",\"Africa/Nairobi|Africa/Djibouti\",\"Africa/Nairobi|Africa/Kampala\",\"Africa/Nairobi|Africa/Mogadishu\",\"Africa/Nairobi|Indian/Antananarivo\",\"Africa/Nairobi|Indian/Comoro\",\"Africa/Nairobi|Indian/Mayotte\",\"Africa/Tripoli|Europe/Kaliningrad\",\"Africa/Tripoli|Libya\",\"America/Adak|America/Atka\",\"America/Adak|US/Aleutian\",\"America/Anchorage|America/Juneau\",\"America/Anchorage|America/Nome\",\"America/Anchorage|America/Sitka\",\"America/Anchorage|America/Yakutat\",\"America/Anchorage|US/Alaska\",\"America/Campo_Grande|America/Cuiaba\",\"America/Caracas|America/Boa_Vista\",\"America/Caracas|America/Guyana\",\"America/Caracas|America/La_Paz\",\"America/Caracas|America/Manaus\",\"America/Caracas|America/Porto_Velho\",\"America/Caracas|Brazil/West\",\"America/Caracas|Etc/GMT+4\",\"America/Chicago|America/Indiana/Knox\",\"America/Chicago|America/Indiana/Tell_City\",\"America/Chicago|America/Knox_IN\",\"America/Chicago|America/Matamoros\",\"America/Chicago|America/Menominee\",\"America/Chicago|America/North_Dakota/Beulah\",\"America/Chicago|America/North_Dakota/Center\",\"America/Chicago|America/North_Dakota/New_Salem\",\"America/Chicago|America/Rainy_River\",\"America/Chicago|America/Rankin_Inlet\",\"America/Chicago|America/Resolute\",\"America/Chicago|America/Winnipeg\",\"America/Chicago|CST6CDT\",\"America/Chicago|Canada/Central\",\"America/Chicago|US/Central\",\"America/Chicago|US/Indiana-Starke\",\"America/Denver|America/Boise\",\"America/Denver|America/Cambridge_Bay\",\"America/Denver|America/Edmonton\",\"America/Denver|America/Inuvik\",\"America/Denver|America/Shiprock\",\"America/Denver|America/Yellowknife\",\"America/Denver|Canada/Mountain\",\"America/Denver|MST7MDT\",\"America/Denver|Navajo\",\"America/Denver|US/Mountain\",\"America/Fortaleza|America/Araguaina\",\"America/Fortaleza|America/Argentina/Buenos_Aires\",\"America/Fortaleza|America/Argentina/Catamarca\",\"America/Fortaleza|America/Argentina/ComodRivadavia\",\"America/Fortaleza|America/Argentina/Cordoba\",\"America/Fortaleza|America/Argentina/Jujuy\",\"America/Fortaleza|America/Argentina/La_Rioja\",\"America/Fortaleza|America/Argentina/Mendoza\",\"America/Fortaleza|America/Argentina/Rio_Gallegos\",\"America/Fortaleza|America/Argentina/Salta\",\"America/Fortaleza|America/Argentina/San_Juan\",\"America/Fortaleza|America/Argentina/San_Luis\",\"America/Fortaleza|America/Argentina/Tucuman\",\"America/Fortaleza|America/Argentina/Ushuaia\",\"America/Fortaleza|America/Bahia\",\"America/Fortaleza|America/Belem\",\"America/Fortaleza|America/Buenos_Aires\",\"America/Fortaleza|America/Catamarca\",\"America/Fortaleza|America/Cayenne\",\"America/Fortaleza|America/Cordoba\",\"America/Fortaleza|America/Jujuy\",\"America/Fortaleza|America/Maceio\",\"America/Fortaleza|America/Mendoza\",\"America/Fortaleza|America/Montevideo\",\"America/Fortaleza|America/Paramaribo\",\"America/Fortaleza|America/Punta_Arenas\",\"America/Fortaleza|America/Recife\",\"America/Fortaleza|America/Rosario\",\"America/Fortaleza|America/Santarem\",\"America/Fortaleza|Antarctica/Palmer\",\"America/Fortaleza|Antarctica/Rothera\",\"America/Fortaleza|Atlantic/Stanley\",\"America/Fortaleza|Etc/GMT+3\",\"America/Godthab|America/Nuuk\",\"America/Halifax|America/Glace_Bay\",\"America/Halifax|America/Goose_Bay\",\"America/Halifax|America/Moncton\",\"America/Halifax|America/Thule\",\"America/Halifax|Atlantic/Bermuda\",\"America/Halifax|Canada/Atlantic\",\"America/Havana|Cuba\",\"America/Lima|America/Bogota\",\"America/Lima|America/Eirunepe\",\"America/Lima|America/Guayaquil\",\"America/Lima|America/Porto_Acre\",\"America/Lima|America/Rio_Branco\",\"America/Lima|Brazil/Acre\",\"America/Lima|Etc/GMT+5\",\"America/Los_Angeles|America/Ensenada\",\"America/Los_Angeles|America/Santa_Isabel\",\"America/Los_Angeles|America/Tijuana\",\"America/Los_Angeles|America/Vancouver\",\"America/Los_Angeles|Canada/Pacific\",\"America/Los_Angeles|Mexico/BajaNorte\",\"America/Los_Angeles|PST8PDT\",\"America/Los_Angeles|US/Pacific\",\"America/Managua|America/Belize\",\"America/Managua|America/Costa_Rica\",\"America/Managua|America/El_Salvador\",\"America/Managua|America/Guatemala\",\"America/Managua|America/Regina\",\"America/Managua|America/Swift_Current\",\"America/Managua|America/Tegucigalpa\",\"America/Managua|Canada/Saskatchewan\",\"America/Mazatlan|Mexico/BajaSur\",\"America/Mexico_City|America/Bahia_Banderas\",\"America/Mexico_City|America/Merida\",\"America/Mexico_City|America/Monterrey\",\"America/Mexico_City|Mexico/General\",\"America/New_York|America/Detroit\",\"America/New_York|America/Fort_Wayne\",\"America/New_York|America/Indiana/Indianapolis\",\"America/New_York|America/Indiana/Marengo\",\"America/New_York|America/Indiana/Petersburg\",\"America/New_York|America/Indiana/Vevay\",\"America/New_York|America/Indiana/Vincennes\",\"America/New_York|America/Indiana/Winamac\",\"America/New_York|America/Indianapolis\",\"America/New_York|America/Iqaluit\",\"America/New_York|America/Kentucky/Louisville\",\"America/New_York|America/Kentucky/Monticello\",\"America/New_York|America/Louisville\",\"America/New_York|America/Montreal\",\"America/New_York|America/Nassau\",\"America/New_York|America/Nipigon\",\"America/New_York|America/Pangnirtung\",\"America/New_York|America/Port-au-Prince\",\"America/New_York|America/Thunder_Bay\",\"America/New_York|America/Toronto\",\"America/New_York|Canada/Eastern\",\"America/New_York|EST5EDT\",\"America/New_York|US/East-Indiana\",\"America/New_York|US/Eastern\",\"America/New_York|US/Michigan\",\"America/Noronha|Atlantic/South_Georgia\",\"America/Noronha|Brazil/DeNoronha\",\"America/Noronha|Etc/GMT+2\",\"America/Panama|America/Atikokan\",\"America/Panama|America/Cancun\",\"America/Panama|America/Cayman\",\"America/Panama|America/Coral_Harbour\",\"America/Panama|America/Jamaica\",\"America/Panama|EST\",\"America/Panama|Jamaica\",\"America/Phoenix|America/Creston\",\"America/Phoenix|America/Dawson_Creek\",\"America/Phoenix|America/Fort_Nelson\",\"America/Phoenix|America/Hermosillo\",\"America/Phoenix|MST\",\"America/Phoenix|US/Arizona\",\"America/Santiago|Chile/Continental\",\"America/Santo_Domingo|America/Anguilla\",\"America/Santo_Domingo|America/Antigua\",\"America/Santo_Domingo|America/Aruba\",\"America/Santo_Domingo|America/Barbados\",\"America/Santo_Domingo|America/Blanc-Sablon\",\"America/Santo_Domingo|America/Curacao\",\"America/Santo_Domingo|America/Dominica\",\"America/Santo_Domingo|America/Grenada\",\"America/Santo_Domingo|America/Guadeloupe\",\"America/Santo_Domingo|America/Kralendijk\",\"America/Santo_Domingo|America/Lower_Princes\",\"America/Santo_Domingo|America/Marigot\",\"America/Santo_Domingo|America/Martinique\",\"America/Santo_Domingo|America/Montserrat\",\"America/Santo_Domingo|America/Port_of_Spain\",\"America/Santo_Domingo|America/Puerto_Rico\",\"America/Santo_Domingo|America/St_Barthelemy\",\"America/Santo_Domingo|America/St_Kitts\",\"America/Santo_Domingo|America/St_Lucia\",\"America/Santo_Domingo|America/St_Thomas\",\"America/Santo_Domingo|America/St_Vincent\",\"America/Santo_Domingo|America/Tortola\",\"America/Santo_Domingo|America/Virgin\",\"America/Sao_Paulo|Brazil/East\",\"America/St_Johns|Canada/Newfoundland\",\"America/Whitehorse|America/Dawson\",\"America/Whitehorse|Canada/Yukon\",\"Asia/Bangkok|Antarctica/Davis\",\"Asia/Bangkok|Asia/Barnaul\",\"Asia/Bangkok|Asia/Ho_Chi_Minh\",\"Asia/Bangkok|Asia/Hovd\",\"Asia/Bangkok|Asia/Krasnoyarsk\",\"Asia/Bangkok|Asia/Novokuznetsk\",\"Asia/Bangkok|Asia/Novosibirsk\",\"Asia/Bangkok|Asia/Phnom_Penh\",\"Asia/Bangkok|Asia/Saigon\",\"Asia/Bangkok|Asia/Tomsk\",\"Asia/Bangkok|Asia/Vientiane\",\"Asia/Bangkok|Etc/GMT-7\",\"Asia/Bangkok|Indian/Christmas\",\"Asia/Chita|Asia/Dili\",\"Asia/Chita|Asia/Khandyga\",\"Asia/Chita|Asia/Yakutsk\",\"Asia/Chita|Etc/GMT-9\",\"Asia/Chita|Pacific/Palau\",\"Asia/Dhaka|Antarctica/Vostok\",\"Asia/Dhaka|Asia/Almaty\",\"Asia/Dhaka|Asia/Bishkek\",\"Asia/Dhaka|Asia/Dacca\",\"Asia/Dhaka|Asia/Kashgar\",\"Asia/Dhaka|Asia/Omsk\",\"Asia/Dhaka|Asia/Qostanay\",\"Asia/Dhaka|Asia/Thimbu\",\"Asia/Dhaka|Asia/Thimphu\",\"Asia/Dhaka|Asia/Urumqi\",\"Asia/Dhaka|Etc/GMT-6\",\"Asia/Dhaka|Indian/Chagos\",\"Asia/Dubai|Asia/Baku\",\"Asia/Dubai|Asia/Muscat\",\"Asia/Dubai|Asia/Tbilisi\",\"Asia/Dubai|Asia/Yerevan\",\"Asia/Dubai|Etc/GMT-4\",\"Asia/Dubai|Europe/Astrakhan\",\"Asia/Dubai|Europe/Samara\",\"Asia/Dubai|Europe/Saratov\",\"Asia/Dubai|Europe/Ulyanovsk\",\"Asia/Dubai|Indian/Mahe\",\"Asia/Dubai|Indian/Mauritius\",\"Asia/Dubai|Indian/Reunion\",\"Asia/Gaza|Asia/Hebron\",\"Asia/Hong_Kong|Hongkong\",\"Asia/Jakarta|Asia/Pontianak\",\"Asia/Jerusalem|Asia/Tel_Aviv\",\"Asia/Jerusalem|Israel\",\"Asia/Kamchatka|Asia/Anadyr\",\"Asia/Kamchatka|Etc/GMT-12\",\"Asia/Kamchatka|Kwajalein\",\"Asia/Kamchatka|Pacific/Funafuti\",\"Asia/Kamchatka|Pacific/Kwajalein\",\"Asia/Kamchatka|Pacific/Majuro\",\"Asia/Kamchatka|Pacific/Nauru\",\"Asia/Kamchatka|Pacific/Tarawa\",\"Asia/Kamchatka|Pacific/Wake\",\"Asia/Kamchatka|Pacific/Wallis\",\"Asia/Kathmandu|Asia/Katmandu\",\"Asia/Kolkata|Asia/Calcutta\",\"Asia/Kuala_Lumpur|Asia/Brunei\",\"Asia/Kuala_Lumpur|Asia/Choibalsan\",\"Asia/Kuala_Lumpur|Asia/Irkutsk\",\"Asia/Kuala_Lumpur|Asia/Kuching\",\"Asia/Kuala_Lumpur|Asia/Singapore\",\"Asia/Kuala_Lumpur|Asia/Ulaanbaatar\",\"Asia/Kuala_Lumpur|Asia/Ulan_Bator\",\"Asia/Kuala_Lumpur|Etc/GMT-8\",\"Asia/Kuala_Lumpur|Singapore\",\"Asia/Makassar|Asia/Ujung_Pandang\",\"Asia/Rangoon|Asia/Yangon\",\"Asia/Rangoon|Indian/Cocos\",\"Asia/Sakhalin|Asia/Magadan\",\"Asia/Sakhalin|Asia/Srednekolymsk\",\"Asia/Sakhalin|Etc/GMT-11\",\"Asia/Sakhalin|Pacific/Bougainville\",\"Asia/Sakhalin|Pacific/Efate\",\"Asia/Sakhalin|Pacific/Guadalcanal\",\"Asia/Sakhalin|Pacific/Kosrae\",\"Asia/Sakhalin|Pacific/Noumea\",\"Asia/Sakhalin|Pacific/Pohnpei\",\"Asia/Sakhalin|Pacific/Ponape\",\"Asia/Seoul|ROK\",\"Asia/Shanghai|Asia/Chongqing\",\"Asia/Shanghai|Asia/Chungking\",\"Asia/Shanghai|Asia/Harbin\",\"Asia/Shanghai|Asia/Macao\",\"Asia/Shanghai|Asia/Macau\",\"Asia/Shanghai|Asia/Taipei\",\"Asia/Shanghai|PRC\",\"Asia/Shanghai|ROC\",\"Asia/Tashkent|Antarctica/Mawson\",\"Asia/Tashkent|Asia/Aqtau\",\"Asia/Tashkent|Asia/Aqtobe\",\"Asia/Tashkent|Asia/Ashgabat\",\"Asia/Tashkent|Asia/Ashkhabad\",\"Asia/Tashkent|Asia/Atyrau\",\"Asia/Tashkent|Asia/Dushanbe\",\"Asia/Tashkent|Asia/Oral\",\"Asia/Tashkent|Asia/Samarkand\",\"Asia/Tashkent|Asia/Yekaterinburg\",\"Asia/Tashkent|Etc/GMT-5\",\"Asia/Tashkent|Indian/Kerguelen\",\"Asia/Tashkent|Indian/Maldives\",\"Asia/Tehran|Iran\",\"Asia/Tokyo|Japan\",\"Asia/Vladivostok|Antarctica/DumontDUrville\",\"Asia/Vladivostok|Asia/Ust-Nera\",\"Asia/Vladivostok|Etc/GMT-10\",\"Asia/Vladivostok|Pacific/Chuuk\",\"Asia/Vladivostok|Pacific/Port_Moresby\",\"Asia/Vladivostok|Pacific/Truk\",\"Asia/Vladivostok|Pacific/Yap\",\"Atlantic/Azores|America/Scoresbysund\",\"Atlantic/Cape_Verde|Etc/GMT+1\",\"Australia/Adelaide|Australia/Broken_Hill\",\"Australia/Adelaide|Australia/South\",\"Australia/Adelaide|Australia/Yancowinna\",\"Australia/Brisbane|Australia/Lindeman\",\"Australia/Brisbane|Australia/Queensland\",\"Australia/Darwin|Australia/North\",\"Australia/Lord_Howe|Australia/LHI\",\"Australia/Perth|Australia/West\",\"Australia/Sydney|Antarctica/Macquarie\",\"Australia/Sydney|Australia/ACT\",\"Australia/Sydney|Australia/Canberra\",\"Australia/Sydney|Australia/Currie\",\"Australia/Sydney|Australia/Hobart\",\"Australia/Sydney|Australia/Melbourne\",\"Australia/Sydney|Australia/NSW\",\"Australia/Sydney|Australia/Tasmania\",\"Australia/Sydney|Australia/Victoria\",\"Etc/UTC|Etc/UCT\",\"Etc/UTC|Etc/Universal\",\"Etc/UTC|Etc/Zulu\",\"Etc/UTC|UCT\",\"Etc/UTC|UTC\",\"Etc/UTC|Universal\",\"Etc/UTC|Zulu\",\"Europe/Athens|Asia/Famagusta\",\"Europe/Athens|Asia/Nicosia\",\"Europe/Athens|EET\",\"Europe/Athens|Europe/Bucharest\",\"Europe/Athens|Europe/Helsinki\",\"Europe/Athens|Europe/Kiev\",\"Europe/Athens|Europe/Kyiv\",\"Europe/Athens|Europe/Mariehamn\",\"Europe/Athens|Europe/Nicosia\",\"Europe/Athens|Europe/Riga\",\"Europe/Athens|Europe/Sofia\",\"Europe/Athens|Europe/Tallinn\",\"Europe/Athens|Europe/Uzhgorod\",\"Europe/Athens|Europe/Vilnius\",\"Europe/Athens|Europe/Zaporozhye\",\"Europe/Chisinau|Europe/Tiraspol\",\"Europe/Dublin|Eire\",\"Europe/Istanbul|Antarctica/Syowa\",\"Europe/Istanbul|Asia/Aden\",\"Europe/Istanbul|Asia/Baghdad\",\"Europe/Istanbul|Asia/Bahrain\",\"Europe/Istanbul|Asia/Istanbul\",\"Europe/Istanbul|Asia/Kuwait\",\"Europe/Istanbul|Asia/Qatar\",\"Europe/Istanbul|Asia/Riyadh\",\"Europe/Istanbul|Etc/GMT-3\",\"Europe/Istanbul|Europe/Minsk\",\"Europe/Istanbul|Turkey\",\"Europe/Lisbon|Atlantic/Canary\",\"Europe/Lisbon|Atlantic/Faeroe\",\"Europe/Lisbon|Atlantic/Faroe\",\"Europe/Lisbon|Atlantic/Madeira\",\"Europe/Lisbon|Portugal\",\"Europe/Lisbon|WET\",\"Europe/London|Europe/Belfast\",\"Europe/London|Europe/Guernsey\",\"Europe/London|Europe/Isle_of_Man\",\"Europe/London|Europe/Jersey\",\"Europe/London|GB\",\"Europe/London|GB-Eire\",\"Europe/Moscow|Europe/Kirov\",\"Europe/Moscow|Europe/Simferopol\",\"Europe/Moscow|W-SU\",\"Europe/Paris|Africa/Ceuta\",\"Europe/Paris|Arctic/Longyearbyen\",\"Europe/Paris|Atlantic/Jan_Mayen\",\"Europe/Paris|CET\",\"Europe/Paris|Europe/Amsterdam\",\"Europe/Paris|Europe/Andorra\",\"Europe/Paris|Europe/Belgrade\",\"Europe/Paris|Europe/Berlin\",\"Europe/Paris|Europe/Bratislava\",\"Europe/Paris|Europe/Brussels\",\"Europe/Paris|Europe/Budapest\",\"Europe/Paris|Europe/Busingen\",\"Europe/Paris|Europe/Copenhagen\",\"Europe/Paris|Europe/Gibraltar\",\"Europe/Paris|Europe/Ljubljana\",\"Europe/Paris|Europe/Luxembourg\",\"Europe/Paris|Europe/Madrid\",\"Europe/Paris|Europe/Malta\",\"Europe/Paris|Europe/Monaco\",\"Europe/Paris|Europe/Oslo\",\"Europe/Paris|Europe/Podgorica\",\"Europe/Paris|Europe/Prague\",\"Europe/Paris|Europe/Rome\",\"Europe/Paris|Europe/San_Marino\",\"Europe/Paris|Europe/Sarajevo\",\"Europe/Paris|Europe/Skopje\",\"Europe/Paris|Europe/Stockholm\",\"Europe/Paris|Europe/Tirane\",\"Europe/Paris|Europe/Vaduz\",\"Europe/Paris|Europe/Vatican\",\"Europe/Paris|Europe/Vienna\",\"Europe/Paris|Europe/Warsaw\",\"Europe/Paris|Europe/Zagreb\",\"Europe/Paris|Europe/Zurich\",\"Europe/Paris|Poland\",\"Pacific/Auckland|Antarctica/McMurdo\",\"Pacific/Auckland|Antarctica/South_Pole\",\"Pacific/Auckland|NZ\",\"Pacific/Chatham|NZ-CHAT\",\"Pacific/Easter|Chile/EasterIsland\",\"Pacific/Galapagos|Etc/GMT+6\",\"Pacific/Gambier|Etc/GMT+9\",\"Pacific/Guam|Pacific/Saipan\",\"Pacific/Honolulu|HST\",\"Pacific/Honolulu|Pacific/Johnston\",\"Pacific/Honolulu|US/Hawaii\",\"Pacific/Kiritimati|Etc/GMT-14\",\"Pacific/Niue|Etc/GMT+11\",\"Pacific/Pago_Pago|Pacific/Midway\",\"Pacific/Pago_Pago|Pacific/Samoa\",\"Pacific/Pago_Pago|US/Samoa\",\"Pacific/Pitcairn|Etc/GMT+8\",\"Pacific/Tahiti|Etc/GMT+10\",\"Pacific/Tahiti|Pacific/Rarotonga\",\"Pacific/Tongatapu|Etc/GMT-13\",\"Pacific/Tongatapu|Pacific/Enderbury\",\"Pacific/Tongatapu|Pacific/Fakaofo\",\"Pacific/Tongatapu|Pacific/Kanton\"],countries:[\"AD|Europe/Andorra\",\"AE|Asia/Dubai\",\"AF|Asia/Kabul\",\"AG|America/Puerto_Rico America/Antigua\",\"AI|America/Puerto_Rico America/Anguilla\",\"AL|Europe/Tirane\",\"AM|Asia/Yerevan\",\"AO|Africa/Lagos Africa/Luanda\",\"AQ|Antarctica/Casey Antarctica/Davis Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Troll Asia/Urumqi Pacific/Auckland Pacific/Port_Moresby Asia/Riyadh Antarctica/McMurdo Antarctica/DumontDUrville Antarctica/Syowa Antarctica/Vostok\",\"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia\",\"AS|Pacific/Pago_Pago\",\"AT|Europe/Vienna\",\"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla\",\"AW|America/Puerto_Rico America/Aruba\",\"AX|Europe/Helsinki Europe/Mariehamn\",\"AZ|Asia/Baku\",\"BA|Europe/Belgrade Europe/Sarajevo\",\"BB|America/Barbados\",\"BD|Asia/Dhaka\",\"BE|Europe/Brussels\",\"BF|Africa/Abidjan Africa/Ouagadougou\",\"BG|Europe/Sofia\",\"BH|Asia/Qatar Asia/Bahrain\",\"BI|Africa/Maputo Africa/Bujumbura\",\"BJ|Africa/Lagos Africa/Porto-Novo\",\"BL|America/Puerto_Rico America/St_Barthelemy\",\"BM|Atlantic/Bermuda\",\"BN|Asia/Kuching Asia/Brunei\",\"BO|America/La_Paz\",\"BQ|America/Puerto_Rico America/Kralendijk\",\"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco\",\"BS|America/Toronto America/Nassau\",\"BT|Asia/Thimphu\",\"BW|Africa/Maputo Africa/Gaborone\",\"BY|Europe/Minsk\",\"BZ|America/Belize\",\"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Toronto America/Iqaluit America/Winnipeg America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Inuvik America/Dawson_Creek America/Fort_Nelson America/Whitehorse America/Dawson America/Vancouver America/Panama America/Puerto_Rico America/Phoenix America/Blanc-Sablon America/Atikokan America/Creston\",\"CC|Asia/Yangon Indian/Cocos\",\"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi\",\"CF|Africa/Lagos Africa/Bangui\",\"CG|Africa/Lagos Africa/Brazzaville\",\"CH|Europe/Zurich\",\"CI|Africa/Abidjan\",\"CK|Pacific/Rarotonga\",\"CL|America/Santiago America/Punta_Arenas Pacific/Easter\",\"CM|Africa/Lagos Africa/Douala\",\"CN|Asia/Shanghai Asia/Urumqi\",\"CO|America/Bogota\",\"CR|America/Costa_Rica\",\"CU|America/Havana\",\"CV|Atlantic/Cape_Verde\",\"CW|America/Puerto_Rico America/Curacao\",\"CX|Asia/Bangkok Indian/Christmas\",\"CY|Asia/Nicosia Asia/Famagusta\",\"CZ|Europe/Prague\",\"DE|Europe/Zurich Europe/Berlin Europe/Busingen\",\"DJ|Africa/Nairobi Africa/Djibouti\",\"DK|Europe/Berlin Europe/Copenhagen\",\"DM|America/Puerto_Rico America/Dominica\",\"DO|America/Santo_Domingo\",\"DZ|Africa/Algiers\",\"EC|America/Guayaquil Pacific/Galapagos\",\"EE|Europe/Tallinn\",\"EG|Africa/Cairo\",\"EH|Africa/El_Aaiun\",\"ER|Africa/Nairobi Africa/Asmara\",\"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary\",\"ET|Africa/Nairobi Africa/Addis_Ababa\",\"FI|Europe/Helsinki\",\"FJ|Pacific/Fiji\",\"FK|Atlantic/Stanley\",\"FM|Pacific/Kosrae Pacific/Port_Moresby Pacific/Guadalcanal Pacific/Chuuk Pacific/Pohnpei\",\"FO|Atlantic/Faroe\",\"FR|Europe/Paris\",\"GA|Africa/Lagos Africa/Libreville\",\"GB|Europe/London\",\"GD|America/Puerto_Rico America/Grenada\",\"GE|Asia/Tbilisi\",\"GF|America/Cayenne\",\"GG|Europe/London Europe/Guernsey\",\"GH|Africa/Abidjan Africa/Accra\",\"GI|Europe/Gibraltar\",\"GL|America/Nuuk America/Danmarkshavn America/Scoresbysund America/Thule\",\"GM|Africa/Abidjan Africa/Banjul\",\"GN|Africa/Abidjan Africa/Conakry\",\"GP|America/Puerto_Rico America/Guadeloupe\",\"GQ|Africa/Lagos Africa/Malabo\",\"GR|Europe/Athens\",\"GS|Atlantic/South_Georgia\",\"GT|America/Guatemala\",\"GU|Pacific/Guam\",\"GW|Africa/Bissau\",\"GY|America/Guyana\",\"HK|Asia/Hong_Kong\",\"HN|America/Tegucigalpa\",\"HR|Europe/Belgrade Europe/Zagreb\",\"HT|America/Port-au-Prince\",\"HU|Europe/Budapest\",\"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura\",\"IE|Europe/Dublin\",\"IL|Asia/Jerusalem\",\"IM|Europe/London Europe/Isle_of_Man\",\"IN|Asia/Kolkata\",\"IO|Indian/Chagos\",\"IQ|Asia/Baghdad\",\"IR|Asia/Tehran\",\"IS|Africa/Abidjan Atlantic/Reykjavik\",\"IT|Europe/Rome\",\"JE|Europe/London Europe/Jersey\",\"JM|America/Jamaica\",\"JO|Asia/Amman\",\"JP|Asia/Tokyo\",\"KE|Africa/Nairobi\",\"KG|Asia/Bishkek\",\"KH|Asia/Bangkok Asia/Phnom_Penh\",\"KI|Pacific/Tarawa Pacific/Kanton Pacific/Kiritimati\",\"KM|Africa/Nairobi Indian/Comoro\",\"KN|America/Puerto_Rico America/St_Kitts\",\"KP|Asia/Pyongyang\",\"KR|Asia/Seoul\",\"KW|Asia/Riyadh Asia/Kuwait\",\"KY|America/Panama America/Cayman\",\"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral\",\"LA|Asia/Bangkok Asia/Vientiane\",\"LB|Asia/Beirut\",\"LC|America/Puerto_Rico America/St_Lucia\",\"LI|Europe/Zurich Europe/Vaduz\",\"LK|Asia/Colombo\",\"LR|Africa/Monrovia\",\"LS|Africa/Johannesburg Africa/Maseru\",\"LT|Europe/Vilnius\",\"LU|Europe/Brussels Europe/Luxembourg\",\"LV|Europe/Riga\",\"LY|Africa/Tripoli\",\"MA|Africa/Casablanca\",\"MC|Europe/Paris Europe/Monaco\",\"MD|Europe/Chisinau\",\"ME|Europe/Belgrade Europe/Podgorica\",\"MF|America/Puerto_Rico America/Marigot\",\"MG|Africa/Nairobi Indian/Antananarivo\",\"MH|Pacific/Tarawa Pacific/Kwajalein Pacific/Majuro\",\"MK|Europe/Belgrade Europe/Skopje\",\"ML|Africa/Abidjan Africa/Bamako\",\"MM|Asia/Yangon\",\"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan\",\"MO|Asia/Macau\",\"MP|Pacific/Guam Pacific/Saipan\",\"MQ|America/Martinique\",\"MR|Africa/Abidjan Africa/Nouakchott\",\"MS|America/Puerto_Rico America/Montserrat\",\"MT|Europe/Malta\",\"MU|Indian/Mauritius\",\"MV|Indian/Maldives\",\"MW|Africa/Maputo Africa/Blantyre\",\"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Chihuahua America/Ciudad_Juarez America/Ojinaga America/Mazatlan America/Bahia_Banderas America/Hermosillo America/Tijuana\",\"MY|Asia/Kuching Asia/Singapore Asia/Kuala_Lumpur\",\"MZ|Africa/Maputo\",\"NA|Africa/Windhoek\",\"NC|Pacific/Noumea\",\"NE|Africa/Lagos Africa/Niamey\",\"NF|Pacific/Norfolk\",\"NG|Africa/Lagos\",\"NI|America/Managua\",\"NL|Europe/Brussels Europe/Amsterdam\",\"NO|Europe/Berlin Europe/Oslo\",\"NP|Asia/Kathmandu\",\"NR|Pacific/Nauru\",\"NU|Pacific/Niue\",\"NZ|Pacific/Auckland Pacific/Chatham\",\"OM|Asia/Dubai Asia/Muscat\",\"PA|America/Panama\",\"PE|America/Lima\",\"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier\",\"PG|Pacific/Port_Moresby Pacific/Bougainville\",\"PH|Asia/Manila\",\"PK|Asia/Karachi\",\"PL|Europe/Warsaw\",\"PM|America/Miquelon\",\"PN|Pacific/Pitcairn\",\"PR|America/Puerto_Rico\",\"PS|Asia/Gaza Asia/Hebron\",\"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores\",\"PW|Pacific/Palau\",\"PY|America/Asuncion\",\"QA|Asia/Qatar\",\"RE|Asia/Dubai Indian/Reunion\",\"RO|Europe/Bucharest\",\"RS|Europe/Belgrade\",\"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Volgograd Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr\",\"RW|Africa/Maputo Africa/Kigali\",\"SA|Asia/Riyadh\",\"SB|Pacific/Guadalcanal\",\"SC|Asia/Dubai Indian/Mahe\",\"SD|Africa/Khartoum\",\"SE|Europe/Berlin Europe/Stockholm\",\"SG|Asia/Singapore\",\"SH|Africa/Abidjan Atlantic/St_Helena\",\"SI|Europe/Belgrade Europe/Ljubljana\",\"SJ|Europe/Berlin Arctic/Longyearbyen\",\"SK|Europe/Prague Europe/Bratislava\",\"SL|Africa/Abidjan Africa/Freetown\",\"SM|Europe/Rome Europe/San_Marino\",\"SN|Africa/Abidjan Africa/Dakar\",\"SO|Africa/Nairobi Africa/Mogadishu\",\"SR|America/Paramaribo\",\"SS|Africa/Juba\",\"ST|Africa/Sao_Tome\",\"SV|America/El_Salvador\",\"SX|America/Puerto_Rico America/Lower_Princes\",\"SY|Asia/Damascus\",\"SZ|Africa/Johannesburg Africa/Mbabane\",\"TC|America/Grand_Turk\",\"TD|Africa/Ndjamena\",\"TF|Asia/Dubai Indian/Maldives Indian/Kerguelen\",\"TG|Africa/Abidjan Africa/Lome\",\"TH|Asia/Bangkok\",\"TJ|Asia/Dushanbe\",\"TK|Pacific/Fakaofo\",\"TL|Asia/Dili\",\"TM|Asia/Ashgabat\",\"TN|Africa/Tunis\",\"TO|Pacific/Tongatapu\",\"TR|Europe/Istanbul\",\"TT|America/Puerto_Rico America/Port_of_Spain\",\"TV|Pacific/Tarawa Pacific/Funafuti\",\"TW|Asia/Taipei\",\"TZ|Africa/Nairobi Africa/Dar_es_Salaam\",\"UA|Europe/Simferopol Europe/Kyiv\",\"UG|Africa/Nairobi Africa/Kampala\",\"UM|Pacific/Pago_Pago Pacific/Tarawa Pacific/Midway Pacific/Wake\",\"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu\",\"UY|America/Montevideo\",\"UZ|Asia/Samarkand Asia/Tashkent\",\"VA|Europe/Rome Europe/Vatican\",\"VC|America/Puerto_Rico America/St_Vincent\",\"VE|America/Caracas\",\"VG|America/Puerto_Rico America/Tortola\",\"VI|America/Puerto_Rico America/St_Thomas\",\"VN|Asia/Bangkok Asia/Ho_Chi_Minh\",\"VU|Pacific/Efate\",\"WF|Pacific/Tarawa Pacific/Wallis\",\"WS|Pacific/Apia\",\"YE|Asia/Riyadh Asia/Aden\",\"YT|Africa/Nairobi Indian/Mayotte\",\"ZA|Africa/Johannesburg\",\"ZM|Africa/Maputo Africa/Lusaka\",\"ZW|Africa/Maputo Africa/Harare\"]}),o});", "!function(t,e,s){!function(){var i,a,n,h=\"2.2.3\",o=\"datepicker\",r=\".datepicker-here\",c=!1,d='
    ',l={classes:\"\",inline:!1,language:\"ru\",startDate:new Date,firstDay:\"\",weekends:[6,0],dateFormat:\"\",altField:\"\",altFieldDateFormat:\"@\",toggleSelected:!0,keyboardNav:!0,position:\"bottom left\",offset:12,view:\"days\",minView:\"days\",showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:\"\",maxDate:\"\",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:\",\",range:!1,todayButton:!1,clearButton:!1,showEvent:\"focus\",autoClose:!1,monthsField:\"monthsShort\",prevHtml:'',nextHtml:'',navTitles:{days:\"MM, yyyy\",months:\"yyyy\",years:\"yyyy1 - yyyy2\"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:\" \",timeFormat:\"\",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,minSeconds:0,maxSeconds:59,hoursStep:1,minutesStep:1,secondsStep:1,onSelect:\"\",onShow:\"\",onHide:\"\",onChangeMonth:\"\",onChangeYear:\"\",onChangeDecade:\"\",onChangeView:\"\",onRenderCell:\"\"},u={ctrlRight:[17,39],ctrlUp:[17,38],ctrlLeft:[17,37],ctrlDown:[17,40],shiftRight:[16,39],shiftUp:[16,38],shiftLeft:[16,37],shiftDown:[16,40],altUp:[18,38],altRight:[18,39],altLeft:[18,37],altDown:[18,40],ctrlShiftUp:[16,17,38]},m=function(t,a){this.el=t,this.$el=e(t),this.opts=e.extend(!0,{},l,a,this.$el.data()),i==s&&(i=e(\"body\")),this.opts.startDate||(this.opts.startDate=new Date),\"INPUT\"==this.el.nodeName&&(this.elIsInput=!0),this.opts.altField&&(this.$altField=\"string\"==typeof this.opts.altField?e(this.opts.altField):this.opts.altField),this.inited=!1,this.visible=!1,this.silent=!1,this.currentDate=this.opts.startDate,this.currentView=this.opts.view,this._createShortCuts(),this.selectedDates=[],this.views={},this.keys=[],this.minRange=\"\",this.maxRange=\"\",this._prevOnSelectValue=\"\",this.init()};n=m,n.prototype={VERSION:h,viewIndexes:[\"days\",\"months\",\"years\"],init:function(){c||this.opts.inline||!this.elIsInput||this._buildDatepickersContainer(),this._buildBaseHtml(),this._defineLocale(this.opts.language),this._syncWithMinMaxDates(),this.elIsInput&&(this.opts.inline||(this._setPositionClasses(this.opts.position),this._bindEvents()),this.opts.keyboardNav&&!this.opts.onlyTimepicker&&this._bindKeyboardEvents(),this.$datepicker.on(\"mousedown\",this._onMouseDownDatepicker.bind(this)),this.$datepicker.on(\"mouseup\",this._onMouseUpDatepicker.bind(this))),this.opts.classes&&this.$datepicker.addClass(this.opts.classes),this.opts.timepicker&&(this.timepicker=new e.fn.datepicker.Timepicker(this,this.opts),this._bindTimepickerEvents()),this.opts.onlyTimepicker&&this.$datepicker.addClass(\"-only-timepicker-\"),this.views[this.currentView]=new e.fn.datepicker.Body(this,this.currentView,this.opts),this.views[this.currentView].show(),this.nav=new e.fn.datepicker.Navigation(this,this.opts),this.view=this.currentView,this.$el.on(\"clickCell.adp\",this._onClickCell.bind(this)),this.$datepicker.on(\"mouseenter\",\".datepicker--cell\",this._onMouseEnterCell.bind(this)),this.$datepicker.on(\"mouseleave\",\".datepicker--cell\",this._onMouseLeaveCell.bind(this)),this.inited=!0},_createShortCuts:function(){this.minDate=this.opts.minDate?this.opts.minDate:new Date((-86399999136e5)),this.maxDate=this.opts.maxDate?this.opts.maxDate:new Date(86399999136e5)},_bindEvents:function(){this.$el.on(this.opts.showEvent+\".adp\",this._onShowEvent.bind(this)),this.$el.on(\"mouseup.adp\",this._onMouseUpEl.bind(this)),this.$el.on(\"blur.adp\",this._onBlur.bind(this)),this.$el.on(\"keyup.adp\",this._onKeyUpGeneral.bind(this)),e(t).on(\"resize.adp\",this._onResize.bind(this)),e(\"body\").on(\"mouseup.adp\",this._onMouseUpBody.bind(this))},_bindKeyboardEvents:function(){this.$el.on(\"keydown.adp\",this._onKeyDown.bind(this)),this.$el.on(\"keyup.adp\",this._onKeyUp.bind(this)),this.$el.on(\"hotKey.adp\",this._onHotKey.bind(this))},_bindTimepickerEvents:function(){this.$el.on(\"timeChange.adp\",this._onTimeChange.bind(this))},isWeekend:function(t){return this.opts.weekends.indexOf(t)!==-1},_defineLocale:function(t){\"string\"==typeof t?(this.loc=e.fn.datepicker.language[t],this.loc||(console.warn(\"Can't find language \\\"\"+t+'\" in Datepicker.language, will use \"ru\" instead'),this.loc=e.extend(!0,{},e.fn.datepicker.language.ru)),this.loc=e.extend(!0,{},e.fn.datepicker.language.ru,e.fn.datepicker.language[t])):this.loc=e.extend(!0,{},e.fn.datepicker.language.ru,t),this.opts.dateFormat&&(this.loc.dateFormat=this.opts.dateFormat),this.opts.timeFormat&&(this.loc.timeFormat=this.opts.timeFormat),\"\"!==this.opts.firstDay&&(this.loc.firstDay=this.opts.firstDay),this.opts.timepicker&&(this.loc.dateFormat=[this.loc.dateFormat,this.loc.timeFormat].join(this.opts.dateTimeSeparator)),this.opts.onlyTimepicker&&(this.loc.dateFormat=this.loc.timeFormat);var s=this._getWordBoundaryRegExp;(this.loc.timeFormat.match(s(\"aa\"))||this.loc.timeFormat.match(s(\"AA\")))&&(this.ampm=!0)},_buildDatepickersContainer:function(){c=!0,i.append('
    '),a=e(\"#datepickers-container\")},_buildBaseHtml:function(){var t,s=e('
    ');t=\"INPUT\"==this.el.nodeName?this.opts.inline?s.insertAfter(this.$el):a:s.appendTo(this.$el),this.$datepicker=e(d).appendTo(t),this.$content=e(\".datepicker--content\",this.$datepicker),this.$nav=e(\".datepicker--nav\",this.$datepicker)},_triggerOnChange:function(){if(!this.selectedDates.length){if(\"\"===this._prevOnSelectValue)return;return this._prevOnSelectValue=\"\",this.opts.onSelect(\"\",\"\",this)}var t,e=this.selectedDates,s=n.getParsedDate(e[0]),i=this,a=new Date(s.year,s.month,s.date,s.hours,s.minutes,s.seconds);t=e.map(function(t){return i.formatDate(i.loc.dateFormat,t)}).join(this.opts.multipleDatesSeparator),(this.opts.multipleDates||this.opts.range)&&(a=e.map(function(t){var e=n.getParsedDate(t);return new Date(e.year,e.month,e.date,e.hours,e.minutes,e.seconds)})),this._prevOnSelectValue=t,this.opts.onSelect(t,a,this)},next:function(){var t=this.parsedDate,e=this.opts;switch(this.view){case\"days\":this.date=new Date(t.year,t.month+1,1),e.onChangeMonth&&e.onChangeMonth(this.parsedDate.month,this.parsedDate.year);break;case\"months\":this.date=new Date(t.year+1,t.month,1),e.onChangeYear&&e.onChangeYear(this.parsedDate.year);break;case\"years\":this.date=new Date(t.year+10,0,1),e.onChangeDecade&&e.onChangeDecade(this.curDecade)}},prev:function(){var t=this.parsedDate,e=this.opts;switch(this.view){case\"days\":this.date=new Date(t.year,t.month-1,1),e.onChangeMonth&&e.onChangeMonth(this.parsedDate.month,this.parsedDate.year);break;case\"months\":this.date=new Date(t.year-1,t.month,1),e.onChangeYear&&e.onChangeYear(this.parsedDate.year);break;case\"years\":this.date=new Date(t.year-10,0,1),e.onChangeDecade&&e.onChangeDecade(this.curDecade)}},formatDate:function(t,e){e=e||this.date;var s,i=t,a=this._getWordBoundaryRegExp,h=this.loc,o=n.getLeadingZeroNum,r=n.getDecade(e),c=n.getParsedDate(e),d=c.fullHours,l=c.hours,u=t.match(a(\"aa\"))||t.match(a(\"AA\")),m=\"am\",p=this._replacer;switch(this.opts.timepicker&&this.timepicker&&u&&(s=this.timepicker._getValidHoursFromDate(e,u),d=o(s.hours),l=s.hours,m=s.dayPeriod),!0){case/@/.test(i):i=i.replace(/@/,e.getTime());case/aa/.test(i):i=p(i,a(\"aa\"),m);case/AA/.test(i):i=p(i,a(\"AA\"),m.toUpperCase());case/dd/.test(i):i=p(i,a(\"dd\"),c.fullDate);case/d/.test(i):i=p(i,a(\"d\"),c.date);case/DD/.test(i):i=p(i,a(\"DD\"),h.days[c.day]);case/D/.test(i):i=p(i,a(\"D\"),h.daysShort[c.day]);case/mm/.test(i):i=p(i,a(\"mm\"),c.fullMonth);case/m/.test(i):i=p(i,a(\"m\"),c.month+1);case/MM/.test(i):i=p(i,a(\"MM\"),this.loc.months[c.month]);case/M/.test(i):i=p(i,a(\"M\"),h.monthsShort[c.month]);case/ss/.test(i):i=p(i,a(\"ss\"),c.fullSeconds);case/s/.test(i):i=p(i,a(\"s\"),c.seconds);case/ii/.test(i):i=p(i,a(\"ii\"),c.fullMinutes);case/i/.test(i):i=p(i,a(\"i\"),c.minutes);case/hh/.test(i):i=p(i,a(\"hh\"),d);case/h/.test(i):i=p(i,a(\"h\"),l);case/yyyy/.test(i):i=p(i,a(\"yyyy\"),c.year);case/yyyy1/.test(i):i=p(i,a(\"yyyy1\"),r[0]);case/yyyy2/.test(i):i=p(i,a(\"yyyy2\"),r[1]);case/yy/.test(i):i=p(i,a(\"yy\"),c.year.toString().slice(-2))}return i},_replacer:function(t,e,s){return t.replace(e,function(t,e,i,a){return e+s+a})},_getWordBoundaryRegExp:function(t){var e=\"\\\\s|\\\\.|-|/|\\\\\\\\|,|\\\\$|\\\\!|\\\\?|:|;\";return new RegExp(\"(^|>|\"+e+\")(\"+t+\")($|<|\"+e+\")\",\"g\")},selectDate:function(t){var e=this,s=e.opts,i=e.parsedDate,a=e.selectedDates,h=a.length,o=\"\";if(Array.isArray(t))return void t.forEach(function(t){e.selectDate(t)});if(t instanceof Date){if(this.lastSelectedDate=t,this.timepicker&&this.timepicker._setTime(t),e._trigger(\"selectDate\",t),this.timepicker&&(t.setHours(this.timepicker.hours),t.setMinutes(this.timepicker.minutes),t.setSeconds(this.timepicker.seconds)),\"days\"==e.view&&t.getMonth()!=i.month&&s.moveToOtherMonthsOnSelect&&(o=new Date(t.getFullYear(),t.getMonth(),1)),\"years\"==e.view&&t.getFullYear()!=i.year&&s.moveToOtherYearsOnSelect&&(o=new Date(t.getFullYear(),0,1)),o&&(e.silent=!0,e.date=o,e.silent=!1,e.nav._render()),s.multipleDates&&!s.range){if(h===s.multipleDates)return;e._isSelected(t)||e.selectedDates.push(t)}else s.range?2==h?(e.selectedDates=[t],e.minRange=t,e.maxRange=\"\"):1==h?(e.selectedDates.push(t),e.maxRange?e.minRange=t:e.maxRange=t,n.bigger(e.maxRange,e.minRange)&&(e.maxRange=e.minRange,e.minRange=t),e.selectedDates=[e.minRange,e.maxRange]):(e.selectedDates=[t],e.minRange=t):e.selectedDates=[t];e._setInputValue(),s.onSelect&&e._triggerOnChange(),s.autoClose&&!this.timepickerIsActive&&(s.multipleDates||s.range?s.range&&2==e.selectedDates.length&&e.hide():e.hide()),e.views[this.currentView]._render()}},removeDate:function(t){var e=this.selectedDates,s=this;if(t instanceof Date)return e.some(function(i,a){if(n.isSame(i,t))return e.splice(a,1),s.selectedDates.length?s.lastSelectedDate=s.selectedDates[s.selectedDates.length-1]:(s.minRange=\"\",s.maxRange=\"\",s.lastSelectedDate=\"\"),s.views[s.currentView]._render(),s._setInputValue(),s.opts.onSelect&&s._triggerOnChange(),!0})},today:function(){this.silent=!0,this.view=this.opts.minView,this.silent=!1,this.date=new Date,this.opts.todayButton instanceof Date&&this.selectDate(this.opts.todayButton)},clear:function(){this.selectedDates=[],this.minRange=\"\",this.maxRange=\"\",this.views[this.currentView]._render(),this._setInputValue(),this.opts.onSelect&&this._triggerOnChange()},update:function(t,s){var i=arguments.length,a=this.lastSelectedDate;return 2==i?this.opts[t]=s:1==i&&\"object\"==typeof t&&(this.opts=e.extend(!0,this.opts,t)),this._createShortCuts(),this._syncWithMinMaxDates(),this._defineLocale(this.opts.language),this.nav._addButtonsIfNeed(),this.opts.onlyTimepicker||this.nav._render(),this.views[this.currentView]._render(),this.elIsInput&&!this.opts.inline&&(this._setPositionClasses(this.opts.position),this.visible&&this.setPosition(this.opts.position)),this.opts.classes&&this.$datepicker.addClass(this.opts.classes),this.opts.onlyTimepicker&&this.$datepicker.addClass(\"-only-timepicker-\"),this.opts.timepicker&&(a&&this.timepicker._handleDate(a),this.timepicker._updateRanges(),this.timepicker._updateCurrentTime(),a&&(a.setHours(this.timepicker.hours),a.setMinutes(this.timepicker.minutes),a.setSeconds(this.timepicker.seconds))),this._setInputValue(),this},_syncWithMinMaxDates:function(){var t=this.date.getTime();this.silent=!0,this.minTime>t&&(this.date=this.minDate),this.maxTime=this.minTime&&s<=this.maxTime,month:o>=this.minTime&&r<=this.maxTime,year:i.year>=a.year&&i.year<=h.year};return e?c[e]:c.day},_getDimensions:function(t){var e=t.offset();return{width:t.outerWidth(),height:t.outerHeight(),left:e.left,top:e.top}},_getDateFromCell:function(t){var e=this.parsedDate,i=t.data(\"year\")||e.year,a=t.data(\"month\")==s?e.month:t.data(\"month\"),n=t.data(\"date\")||1;return new Date(i,a,n)},_setPositionClasses:function(t){t=t.split(\" \");var e=t[0],s=t[1],i=\"datepicker -\"+e+\"-\"+s+\"- -from-\"+e+\"-\";this.visible&&(i+=\" active\"),this.$datepicker.removeAttr(\"class\").addClass(i)},setPosition:function(t){t=t||this.opts.position;var e,s,i=this._getDimensions(this.$el),a=this._getDimensions(this.$datepicker),n=t.split(\" \"),h=this.opts.offset,o=n[0],r=n[1];switch(o){case\"top\":e=i.top-a.height-h;break;case\"right\":s=i.left+i.width+h;break;case\"bottom\":e=i.top+i.height+h;break;case\"left\":s=i.left-a.width-h}switch(r){case\"top\":e=i.top;break;case\"right\":s=i.left+i.width-a.width;break;case\"bottom\":e=i.top+i.height-a.height;break;case\"left\":s=i.left;break;case\"center\":/left|right/.test(o)?e=i.top+i.height/2-a.height/2:s=i.left+i.width/2-a.width/2}this.$datepicker.css({left:s,top:e})},show:function(){var t=this.opts.onShow;this.setPosition(this.opts.position),this.$datepicker.addClass(\"active\"),this.visible=!0,t&&this._bindVisionEvents(t)},hide:function(){var t=this.opts.onHide;this.$datepicker.removeClass(\"active\").css({left:\"-100000px\"}),this.focused=\"\",this.keys=[],this.inFocus=!1,this.visible=!1,this.$el.blur(),t&&this._bindVisionEvents(t)},down:function(t){this._changeView(t,\"down\")},up:function(t){this._changeView(t,\"up\")},_bindVisionEvents:function(t){this.$datepicker.off(\"transitionend.dp\"),t(this,!1),this.$datepicker.one(\"transitionend.dp\",t.bind(this,this,!0))},_changeView:function(t,e){t=t||this.focused||this.date;var s=\"up\"==e?this.viewIndex+1:this.viewIndex-1;s>2&&(s=2),s<0&&(s=0),this.silent=!0,this.date=new Date(t.getFullYear(),t.getMonth(),1),this.silent=!1,this.view=this.viewIndexes[s]},_handleHotKey:function(t){var e,s,i,a=n.getParsedDate(this._getFocusedDate()),h=this.opts,o=!1,r=!1,c=!1,d=a.year,l=a.month,u=a.date;switch(t){case\"ctrlRight\":case\"ctrlUp\":l+=1,o=!0;break;case\"ctrlLeft\":case\"ctrlDown\":l-=1,o=!0;break;case\"shiftRight\":case\"shiftUp\":r=!0,d+=1;break;case\"shiftLeft\":case\"shiftDown\":r=!0,d-=1;break;case\"altRight\":case\"altUp\":c=!0,d+=10;break;case\"altLeft\":case\"altDown\":c=!0,d-=10;break;case\"ctrlShiftUp\":this.up()}i=n.getDaysCount(new Date(d,l)),s=new Date(d,l,u),ithis.maxTime&&(s=this.maxDate),this.focused=s,e=n.getParsedDate(s),o&&h.onChangeMonth&&h.onChangeMonth(e.month,e.year),r&&h.onChangeYear&&h.onChangeYear(e.year),c&&h.onChangeDecade&&h.onChangeDecade(this.curDecade)},_registerKey:function(t){var e=this.keys.some(function(e){return e==t});e||this.keys.push(t)},_unRegisterKey:function(t){var e=this.keys.indexOf(t);this.keys.splice(e,1)},_isHotKeyPressed:function(){var t,e=!1,s=this,i=this.keys.sort();for(var a in u)t=u[a],i.length==t.length&&t.every(function(t,e){return t==i[e]})&&(s._trigger(\"hotKey\",a),e=!0);return e},_trigger:function(t,e){this.$el.trigger(t,e)},_focusNextCell:function(t,e){e=e||this.cellType;var s=n.getParsedDate(this._getFocusedDate()),i=s.year,a=s.month,h=s.date;if(!this._isHotKeyPressed()){switch(t){case 37:\"day\"==e?h-=1:\"\",\"month\"==e?a-=1:\"\",\"year\"==e?i-=1:\"\";break;case 38:\"day\"==e?h-=7:\"\",\"month\"==e?a-=3:\"\",\"year\"==e?i-=4:\"\";break;case 39:\"day\"==e?h+=1:\"\",\"month\"==e?a+=1:\"\",\"year\"==e?i+=1:\"\";break;case 40:\"day\"==e?h+=7:\"\",\"month\"==e?a+=3:\"\",\"year\"==e?i+=4:\"\"}var o=new Date(i,a,h);o.getTime()this.maxTime&&(o=this.maxDate),this.focused=o}},_getFocusedDate:function(){var t=this.focused||this.selectedDates[this.selectedDates.length-1],e=this.parsedDate;if(!t)switch(this.view){case\"days\":t=new Date(e.year,e.month,(new Date).getDate());break;case\"months\":t=new Date(e.year,e.month,1);break;case\"years\":t=new Date(e.year,0,1)}return t},_getCell:function(t,s){s=s||this.cellType;var i,a=n.getParsedDate(t),h='.datepicker--cell[data-year=\"'+a.year+'\"]';switch(s){case\"month\":h='[data-month=\"'+a.month+'\"]';break;case\"day\":h+='[data-month=\"'+a.month+'\"][data-date=\"'+a.date+'\"]'}return i=this.views[this.currentView].$el.find(h),i.length?i:e(\"\")},destroy:function(){var t=this;t.$el.off(\".adp\").data(\"datepicker\",\"\"),t.selectedDates=[],t.focused=\"\",t.views={},t.keys=[],t.minRange=\"\",t.maxRange=\"\",t.opts.inline||!t.elIsInput?t.$datepicker.closest(\".datepicker-inline\").remove():t.$datepicker.remove()},_handleAlreadySelectedDates:function(t,e){this.opts.range?this.opts.toggleSelected?this.removeDate(e):2!=this.selectedDates.length&&this._trigger(\"clickCell\",e):this.opts.toggleSelected&&this.removeDate(e),this.opts.toggleSelected||(this.lastSelectedDate=t,this.opts.timepicker&&(this.timepicker._setTime(t),this.timepicker.update()))},_onShowEvent:function(t){this.visible||this.show()},_onBlur:function(){!this.inFocus&&this.visible&&this.hide()},_onMouseDownDatepicker:function(t){this.inFocus=!0},_onMouseUpDatepicker:function(t){this.inFocus=!1,t.originalEvent.inFocus=!0,t.originalEvent.timepickerFocus||this.$el.focus()},_onKeyUpGeneral:function(t){var e=this.$el.val();e||this.clear()},_onResize:function(){this.visible&&this.setPosition()},_onMouseUpBody:function(t){t.originalEvent.inFocus||this.visible&&!this.inFocus&&this.hide()},_onMouseUpEl:function(t){t.originalEvent.inFocus=!0,setTimeout(this._onKeyUpGeneral.bind(this),4)},_onKeyDown:function(t){var e=t.which;if(this._registerKey(e),e>=37&&e<=40&&(t.preventDefault(),this._focusNextCell(e)),13==e&&this.focused){if(this._getCell(this.focused).hasClass(\"-disabled-\"))return;if(this.view!=this.opts.minView)this.down();else{var s=this._isSelected(this.focused,this.cellType);if(!s)return this.timepicker&&(this.focused.setHours(this.timepicker.hours),this.focused.setMinutes(this.timepicker.minutes),this.focused.setSeconds(this.timepicker.seconds)),void this.selectDate(this.focused);this._handleAlreadySelectedDates(s,this.focused)}}27==e&&this.hide()},_onKeyUp:function(t){var e=t.which;this._unRegisterKey(e)},_onHotKey:function(t,e){this._handleHotKey(e)},_onMouseEnterCell:function(t){var s=e(t.target).closest(\".datepicker--cell\"),i=this._getDateFromCell(s);this.silent=!0,this.focused&&(this.focused=\"\"),s.addClass(\"-focus-\"),this.focused=i,this.silent=!1,this.opts.range&&1==this.selectedDates.length&&(this.minRange=this.selectedDates[0],this.maxRange=\"\",n.less(this.minRange,this.focused)&&(this.maxRange=this.minRange,this.minRange=\"\"),this.views[this.currentView]._update())},_onMouseLeaveCell:function(t){var s=e(t.target).closest(\".datepicker--cell\");s.removeClass(\"-focus-\"),this.silent=!0,this.focused=\"\",this.silent=!1},_onTimeChange:function(t,e,s,i){var a=new Date,n=this.selectedDates,h=!1;n.length&&(h=!0,a=this.lastSelectedDate),a.setHours(e),a.setMinutes(s),a.setSeconds(i),h||this._getCell(a).hasClass(\"-disabled-\")?(this._setInputValue(),this.opts.onSelect&&this._triggerOnChange()):this.selectDate(a)},_onClickCell:function(t,e){this.timepicker&&(e.setHours(this.timepicker.hours),e.setMinutes(this.timepicker.minutes),e.setSeconds(this.timepicker.seconds)),this.selectDate(e)},set focused(t){if(!t&&this.focused){var e=this._getCell(this.focused);e.length&&e.removeClass(\"-focus-\")}this._focused=t,this.opts.range&&1==this.selectedDates.length&&(this.minRange=this.selectedDates[0],this.maxRange=\"\",n.less(this.minRange,this._focused)&&(this.maxRange=this.minRange,this.minRange=\"\")),this.silent||(this.date=t)},get focused(){return this._focused},get parsedDate(){return n.getParsedDate(this.date)},set date(t){if(t instanceof Date)return this.currentDate=t,this.inited&&!this.silent&&(this.views[this.view]._render(),this.nav._render(),this.visible&&this.elIsInput&&this.setPosition()),t},get date(){return this.currentDate},set view(t){if(this.viewIndex=this.viewIndexes.indexOf(t),!(this.viewIndex<0))return this.prevView=this.currentView,this.currentView=t,this.inited&&(this.views[t]?this.views[t]._render():this.views[t]=new e.fn.datepicker.Body(this,t,this.opts),this.views[this.prevView].hide(),this.views[t].show(),this.nav._render(),this.opts.onChangeView&&this.opts.onChangeView(t),this.elIsInput&&this.visible&&this.setPosition()),t},get view(){return this.currentView},get cellType(){return this.view.substring(0,this.view.length-1)},get minTime(){var t=n.getParsedDate(this.minDate);return new Date(t.year,t.month,t.date).getTime()},get maxTime(){var t=n.getParsedDate(this.maxDate);return new Date(t.year,t.month,t.date).getTime()},get curDecade(){return n.getDecade(this.date)}},n.getDaysCount=function(t){return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()},n.getParsedDate=function(t){return{year:t.getFullYear(),month:t.getMonth(),fullMonth:t.getMonth()+1<10?\"0\"+(t.getMonth()+1):t.getMonth()+1,date:t.getDate(),fullDate:t.getDate()<10?\"0\"+t.getDate():t.getDate(),day:t.getDay(),hours:t.getHours(),fullHours:t.getHours()<10?\"0\"+t.getHours():t.getHours(),minutes:t.getMinutes(),fullMinutes:t.getMinutes()<10?\"0\"+t.getMinutes():t.getMinutes(),seconds:t.getSeconds(),fullSeconds:t.getSeconds()<10?\"0\"+t.getSeconds():t.getSeconds()}},n.getDecade=function(t){var e=10*Math.floor(t.getFullYear()/10);return[e,e+9]},n.template=function(t,e){return t.replace(/#\\{([\\w]+)\\}/g,function(t,s){if(e[s]||0===e[s])return e[s]})},n.isSame=function(t,e,s){if(!t||!e)return!1;var i=n.getParsedDate(t),a=n.getParsedDate(e),h=s?s:\"day\",o={day:i.date==a.date&&i.month==a.month&&i.year==a.year,month:i.month==a.month&&i.year==a.year,year:i.year==a.year};return o[h]},n.less=function(t,e,s){return!(!t||!e)&&e.getTime()t.getTime()},n.getLeadingZeroNum=function(t){return parseInt(t)<10?\"0\"+t:t},n.resetTime=function(t){if(\"object\"==typeof t)return t=n.getParsedDate(t),new Date(t.year,t.month,t.date)},e.fn.datepicker=function(t){return this.each(function(){if(e.data(this,o)){var s=e.data(this,o);s.opts=e.extend(!0,s.opts,t),s.update()}else e.data(this,o,new m(this,t))})},e.fn.datepicker.Constructor=m,e.fn.datepicker.language={ru:{days:[\"\u0412\u043E\u0441\u043A\u0440\u0435\u0441\u0435\u043D\u044C\u0435\",\"\u041F\u043E\u043D\u0435\u0434\u0435\u043B\u044C\u043D\u0438\u043A\",\"\u0412\u0442\u043E\u0440\u043D\u0438\u043A\",\"\u0421\u0440\u0435\u0434\u0430\",\"\u0427\u0435\u0442\u0432\u0435\u0440\u0433\",\"\u041F\u044F\u0442\u043D\u0438\u0446\u0430\",\"\u0421\u0443\u0431\u0431\u043E\u0442\u0430\"],daysShort:[\"\u0412\u043E\u0441\",\"\u041F\u043E\u043D\",\"\u0412\u0442\u043E\",\"\u0421\u0440\u0435\",\"\u0427\u0435\u0442\",\"\u041F\u044F\u0442\",\"\u0421\u0443\u0431\"],daysMin:[\"\u0412\u0441\",\"\u041F\u043D\",\"\u0412\u0442\",\"\u0421\u0440\",\"\u0427\u0442\",\"\u041F\u0442\",\"\u0421\u0431\"],months:[\"\u042F\u043D\u0432\u0430\u0440\u044C\",\"\u0424\u0435\u0432\u0440\u0430\u043B\u044C\",\"\u041C\u0430\u0440\u0442\",\"\u0410\u043F\u0440\u0435\u043B\u044C\",\"\u041C\u0430\u0439\",\"\u0418\u044E\u043D\u044C\",\"\u0418\u044E\u043B\u044C\",\"\u0410\u0432\u0433\u0443\u0441\u0442\",\"\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C\",\"\u041E\u043A\u0442\u044F\u0431\u0440\u044C\",\"\u041D\u043E\u044F\u0431\u0440\u044C\",\"\u0414\u0435\u043A\u0430\u0431\u0440\u044C\"],monthsShort:[\"\u042F\u043D\u0432\",\"\u0424\u0435\u0432\",\"\u041C\u0430\u0440\",\"\u0410\u043F\u0440\",\"\u041C\u0430\u0439\",\"\u0418\u044E\u043D\",\"\u0418\u044E\u043B\",\"\u0410\u0432\u0433\",\"\u0421\u0435\u043D\",\"\u041E\u043A\u0442\",\"\u041D\u043E\u044F\",\"\u0414\u0435\u043A\"],today:\"\u0421\u0435\u0433\u043E\u0434\u043D\u044F\",clear:\"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C\",dateFormat:\"dd.mm.yyyy\",timeFormat:\"hh:ii\",firstDay:1}},e(function(){e(r).datepicker()})}(),function(){var t={days:'
    ',months:'
    ',years:'
    '},i=e.fn.datepicker,a=i.Constructor;i.Body=function(t,s,i){this.d=t,this.type=s,this.opts=i,this.$el=e(\"\"),this.opts.onlyTimepicker||this.init()},i.Body.prototype={init:function(){this._buildBaseHtml(),this._render(),this._bindEvents()},_bindEvents:function(){this.$el.on(\"click\",\".datepicker--cell\",e.proxy(this._onClickCell,this))},_buildBaseHtml:function(){this.$el=e(t[this.type]).appendTo(this.d.$content),this.$names=e(\".datepicker--days-names\",this.$el),this.$cells=e(\".datepicker--cells\",this.$el)},_getDayNamesHtml:function(t,e,i,a){return e=e!=s?e:t,i=i?i:\"\",a=a!=s?a:0,a>7?i:7==e?this._getDayNamesHtml(t,0,i,++a):(i+='
    '+this.d.loc.daysMin[e]+\"
    \",this._getDayNamesHtml(t,++e,i,++a))},_getCellContents:function(t,e){var s=\"datepicker--cell datepicker--cell-\"+e,i=new Date,n=this.d,h=a.resetTime(n.minRange),o=a.resetTime(n.maxRange),r=n.opts,c=a.getParsedDate(t),d={},l=c.date;switch(e){case\"day\":n.isWeekend(c.day)&&(s+=\" -weekend-\"),c.month!=this.d.parsedDate.month&&(s+=\" -other-month-\",r.selectOtherMonths||(s+=\" -disabled-\"),r.showOtherMonths||(l=\"\"));break;case\"month\":l=n.loc[n.opts.monthsField][c.month];break;case\"year\":var u=n.curDecade;l=c.year,(c.yearu[1])&&(s+=\" -other-decade-\",r.selectOtherYears||(s+=\" -disabled-\"),r.showOtherYears||(l=\"\"))}return r.onRenderCell&&(d=r.onRenderCell(t,e)||{},l=d.html?d.html:l,s+=d.classes?\" \"+d.classes:\"\"),r.range&&(a.isSame(h,t,e)&&(s+=\" -range-from-\"),a.isSame(o,t,e)&&(s+=\" -range-to-\"),1==n.selectedDates.length&&n.focused?((a.bigger(h,t)&&a.less(n.focused,t)||a.less(o,t)&&a.bigger(n.focused,t))&&(s+=\" -in-range-\"),a.less(o,t)&&a.isSame(n.focused,t)&&(s+=\" -range-from-\"),a.bigger(h,t)&&a.isSame(n.focused,t)&&(s+=\" -range-to-\")):2==n.selectedDates.length&&a.bigger(h,t)&&a.less(o,t)&&(s+=\" -in-range-\")),a.isSame(i,t,e)&&(s+=\" -current-\"),n.focused&&a.isSame(t,n.focused,e)&&(s+=\" -focus-\"),n._isSelected(t,e)&&(s+=\" -selected-\"),n._isInRange(t,e)&&!d.disabled||(s+=\" -disabled-\"),{html:l,classes:s}},_getDaysHtml:function(t){var e=a.getDaysCount(t),s=new Date(t.getFullYear(),t.getMonth(),1).getDay(),i=new Date(t.getFullYear(),t.getMonth(),e).getDay(),n=s-this.d.loc.firstDay,h=6-i+this.d.loc.firstDay;n=n<0?n+7:n,h=h>6?h-7:h;for(var o,r,c=-n+1,d=\"\",l=c,u=e+h;l<=u;l++)r=t.getFullYear(),o=t.getMonth(),d+=this._getDayHtml(new Date(r,o,l));return d},_getDayHtml:function(t){var e=this._getCellContents(t,\"day\");return'
    '+e.html+\"
    \"},_getMonthsHtml:function(t){for(var e=\"\",s=a.getParsedDate(t),i=0;i<12;)e+=this._getMonthHtml(new Date(s.year,i)),i++;return e},_getMonthHtml:function(t){var e=this._getCellContents(t,\"month\");return'
    '+e.html+\"
    \"},_getYearsHtml:function(t){var e=(a.getParsedDate(t),a.getDecade(t)),s=e[0]-1,i=\"\",n=s;for(n;n<=e[1]+1;n++)i+=this._getYearHtml(new Date(n,0));return i},_getYearHtml:function(t){var e=this._getCellContents(t,\"year\");return'
    '+e.html+\"
    \"},_renderTypes:{days:function(){var t=this._getDayNamesHtml(this.d.loc.firstDay),e=this._getDaysHtml(this.d.currentDate);this.$cells.html(e),this.$names.html(t)},months:function(){var t=this._getMonthsHtml(this.d.currentDate);this.$cells.html(t)},years:function(){var t=this._getYearsHtml(this.d.currentDate);this.$cells.html(t)}},_render:function(){this.opts.onlyTimepicker||this._renderTypes[this.type].bind(this)()},_update:function(){var t,s,i,a=e(\".datepicker--cell\",this.$cells),n=this;a.each(function(a,h){s=e(this),i=n.d._getDateFromCell(e(this)),t=n._getCellContents(i,n.d.cellType),s.attr(\"class\",t.classes)})},show:function(){this.opts.onlyTimepicker||(this.$el.addClass(\"active\"),this.acitve=!0)},hide:function(){this.$el.removeClass(\"active\"),this.active=!1},_handleClick:function(t){var e=t.data(\"date\")||1,s=t.data(\"month\")||0,i=t.data(\"year\")||this.d.parsedDate.year,a=this.d;if(a.view!=this.opts.minView)return void a.down(new Date(i,s,e));var n=new Date(i,s,e),h=this.d._isSelected(n,this.d.cellType);return h?void a._handleAlreadySelectedDates.bind(a,h,n)():void a._trigger(\"clickCell\",n)},_onClickCell:function(t){var s=e(t.target).closest(\".datepicker--cell\");s.hasClass(\"-disabled-\")||this._handleClick.bind(this)(s)}}}(),function(){var t='
    #{prevHtml}
    #{title}
    #{nextHtml}
    ',s='
    ',i='#{label}',a=e.fn.datepicker,n=a.Constructor;a.Navigation=function(t,e){this.d=t,this.opts=e,this.$buttonsContainer=\"\",this.init()},a.Navigation.prototype={init:function(){this._buildBaseHtml(),this._bindEvents()},_bindEvents:function(){this.d.$nav.on(\"click\",\".datepicker--nav-action\",e.proxy(this._onClickNavButton,this)),this.d.$nav.on(\"click\",\".datepicker--nav-title\",e.proxy(this._onClickNavTitle,this)),this.d.$datepicker.on(\"click\",\".datepicker--button\",e.proxy(this._onClickNavButton,this))},_buildBaseHtml:function(){this.opts.onlyTimepicker||this._render(),this._addButtonsIfNeed()},_addButtonsIfNeed:function(){this.opts.todayButton&&this._addButton(\"today\"),this.opts.clearButton&&this._addButton(\"clear\")},_render:function(){var s=this._getTitle(this.d.currentDate),i=n.template(t,e.extend({title:s},this.opts));this.d.$nav.html(i),\"years\"==this.d.view&&e(\".datepicker--nav-title\",this.d.$nav).addClass(\"-disabled-\"),this.setNavStatus()},_getTitle:function(t){return this.d.formatDate(this.opts.navTitles[this.d.view],t)},_addButton:function(t){this.$buttonsContainer.length||this._addButtonsContainer();var s={action:t,label:this.d.loc[t]},a=n.template(i,s);e(\"[data-action=\"+t+\"]\",this.$buttonsContainer).length||this.$buttonsContainer.append(a)},_addButtonsContainer:function(){this.d.$datepicker.append(s),this.$buttonsContainer=e(\".datepicker--buttons\",this.d.$datepicker)},setNavStatus:function(){if((this.opts.minDate||this.opts.maxDate)&&this.opts.disableNavWhenOutOfRange){var t=this.d.parsedDate,e=t.month,s=t.year,i=t.date;switch(this.d.view){case\"days\":this.d._isInRange(new Date(s,e-1,1),\"month\")||this._disableNav(\"prev\"),this.d._isInRange(new Date(s,e+1,1),\"month\")||this._disableNav(\"next\");break;case\"months\":this.d._isInRange(new Date(s-1,e,i),\"year\")||this._disableNav(\"prev\"),this.d._isInRange(new Date(s+1,e,i),\"year\")||this._disableNav(\"next\");break;case\"years\":var a=n.getDecade(this.d.date);this.d._isInRange(new Date(a[0]-1,0,1),\"year\")||this._disableNav(\"prev\"),this.d._isInRange(new Date(a[1]+1,0,1),\"year\")||this._disableNav(\"next\")}}},_disableNav:function(t){e('[data-action=\"'+t+'\"]',this.d.$nav).addClass(\"-disabled-\")},_activateNav:function(t){e('[data-action=\"'+t+'\"]',this.d.$nav).removeClass(\"-disabled-\")},_onClickNavButton:function(t){var s=e(t.target).closest(\"[data-action]\"),i=s.data(\"action\");this.d[i]()},_onClickNavTitle:function(t){if(!e(t.target).hasClass(\"-disabled-\"))return\"days\"==this.d.view?this.d.view=\"months\":void(this.d.view=\"years\")}}}(),function(){var t='
    #{hourVisible} : #{minValue} : #{secValue}
    ',s=e.fn.datepicker,i=s.Constructor;s.Timepicker=function(t,e){this.d=t,this.opts=e,this.init()},s.Timepicker.prototype={init:function(){var t=\"input\";this._setTime(this.d.date),this._buildHTML(),navigator.userAgent.match(/trident/gi)&&(t=\"change\"),this.d.$el.on(\"selectDate\",this._onSelectDate.bind(this)),\nthis.$ranges.on(t,this._onChangeRange.bind(this)),this.$ranges.on(\"mouseup\",this._onMouseUpRange.bind(this)),this.$ranges.on(\"mousemove focus \",this._onMouseEnterRange.bind(this)),this.$ranges.on(\"mouseout blur\",this._onMouseOutRange.bind(this))},_setTime:function(t){var e=i.getParsedDate(t);this._handleDate(t),this.hours=e.hourst.getHours()&&(this.minMinutes=this.opts.minMinutes)},_setMaxTimeFromDate:function(t){this.maxHours=t.getHours(),this.maxMinutes=t.getMinutes(),this.maxSeconds=t.getSeconds(),this.d.lastSelectedDate&&this.d.lastSelectedDate.getHours()t?0:i.minHours,this.minMinutes=i.minMinutes<0||i.minMinutes>e?0:i.minMinutes,this.maxHours=i.maxHours<0||i.maxHours>t?t:i.maxHours,this.maxMinutes=i.maxMinutes<0||i.maxMinutes>e?e:i.maxMinutes,this.minSeconds=i.minSeconds<0||i.minSeconds>s?0:i.minSeconds,this.maxSeconds=i.maxSeconds<0||i.maxSeconds>s?s:i.maxSeconds},_validateHoursMinutes:function(t){this.hoursthis.maxHours&&(this.hours=this.maxHours),this.minutesthis.maxMinutes&&(this.minutes=this.maxMinutes),this.secondsthis.maxSeconds&&(this.seconds=this.maxSeconds)},_buildHTML:function(){var s=i.getLeadingZeroNum,a={hourMin:this.minHours,hourMax:s(this.maxHours),hourStep:this.opts.hoursStep,hourValue:this.hours,hourVisible:s(this.displayHours),minMin:this.minMinutes,minMax:s(this.maxMinutes),minStep:this.opts.minutesStep,minValue:s(this.minutes),secMin:this.minSeconds,secMax:s(this.maxSeconds),secStep:this.opts.secondsStep,secValue:s(this.seconds)},n=i.template(t,a);this.$timepicker=e(n).appendTo(this.d.$datepicker),this.$ranges=e('[type=\"range\"]',this.$timepicker),this.$hours=e('[name=\"hours\"]',this.$timepicker),this.$minutes=e('[name=\"minutes\"]',this.$timepicker),this.$seconds=e('[name=\"seconds\"]',this.$timepicker),this.$hoursText=e(\".datepicker--time-current-hours\",this.$timepicker),this.$minutesText=e(\".datepicker--time-current-minutes\",this.$timepicker),this.$secondsText=e(\".datepicker--time-current-seconds\",this.$timepicker),this.d.ampm&&(this.$ampm=e('').appendTo(e(\".datepicker--time-current\",this.$timepicker)).html(this.dayPeriod),this.$timepicker.addClass(\"-am-pm-\"))},_updateCurrentTime:function(){var t=i.getLeadingZeroNum(this.displayHours),e=i.getLeadingZeroNum(this.minutes),s=i.getLeadingZeroNum(this.seconds);this.$hoursText.html(t),this.$minutesText.html(e),this.$secondsText.html(s),this.d.ampm&&this.$ampm.html(this.dayPeriod)},_updateRanges:function(){this.$hours.attr({min:this.minHours,max:this.maxHours}).val(this.hours),this.$minutes.attr({min:this.minMinutes,max:this.maxMinutes}).val(this.minutes),this.$seconds.attr({min:this.minSeconds,max:this.maxSeconds}).val(this.seconds)},_handleDate:function(t){this._setDefaultMinMaxTime(),t&&(i.isSame(t,this.d.opts.minDate)?this._setMinTimeFromDate(this.d.opts.minDate):i.isSame(t,this.d.opts.maxDate)&&this._setMaxTimeFromDate(this.d.opts.maxDate)),this._validateHoursMinutes(t)},update:function(){this._updateRanges(),this._updateCurrentTime()},_getValidHoursFromDate:function(t,e){var s=t,a=t;t instanceof Date&&(s=i.getParsedDate(t),a=s.hours);var n=e||this.d.ampm,h=\"am\";if(n)switch(!0){case 0==a:a=12;break;case 12==a:h=\"pm\";break;case a>11:a-=12,h=\"pm\"}return{hours:a,dayPeriod:h}},set hours(t){this._hours=t;var e=this._getValidHoursFromDate(t);this.displayHours=e.hours,this.dayPeriod=e.dayPeriod},get hours(){return this._hours},_onChangeRange:function(t){var s=e(t.target),i=s.attr(\"name\");this.d.timepickerIsActive=!0,this[i]=s.val(),this._updateCurrentTime(),this.d._trigger(\"timeChange\",[this.hours,this.minutes,this.seconds]),this._handleDate(this.d.lastSelectedDate),this.update()},_onSelectDate:function(t,e){this._handleDate(e),this.update()},_onMouseEnterRange:function(t){var s=e(t.target).attr(\"name\");e(\".datepicker--time-current-\"+s,this.$timepicker).addClass(\"-focus-\")},_onMouseOutRange:function(t){var s=e(t.target).attr(\"name\");this.d.inFocus||e(\".datepicker--time-current-\"+s,this.$timepicker).removeClass(\"-focus-\")},_onMouseUpRange:function(t){this.d.timepickerIsActive=!1}}}()}(window,jQuery);", ";(function ($) { $.fn.datepicker.language['cs'] = {\n days: ['Ned\u011Ble', 'Pond\u011Bl\u00ED', '\u00DAter\u00FD', 'St\u0159eda', '\u010Ctvrtek', 'P\u00E1tek', 'Sobota'],\n daysShort: ['Ne', 'Po', '\u00DAt', 'St', '\u010Ct', 'P\u00E1', 'So'],\n daysMin: ['Ne', 'Po', '\u00DAt', 'St', '\u010Ct', 'P\u00E1', 'So'],\n months: ['Leden', '\u00DAnor', 'B\u0159ezen', 'Duben', 'Kv\u011Bten', '\u010Cerven', '\u010Cervenec', 'Srpen', 'Z\u00E1\u0159\u00ED', '\u0158\u00EDjen', 'Listopad', 'Prosinec'],\n monthsShort: ['Led', '\u00DAno', 'B\u0159e', 'Dub', 'Kv\u011B', '\u010Cvn', '\u010Cvc', 'Srp', 'Z\u00E1\u0159', '\u0158\u00EDj', 'Lis', 'Pro'],\n today: 'Dnes',\n clear: 'Vymazat',\n dateFormat: 'dd.mm.yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['da'] = {\n days: ['S\u00F8ndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'L\u00F8rdag'],\n daysShort: ['S\u00F8n', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'L\u00F8r'],\n daysMin: ['S\u00F8', 'Ma', 'Ti', 'On', 'To', 'Fr', 'L\u00F8'],\n months: ['Januar','Februar','Marts','April','Maj','Juni', 'Juli','August','September','Oktober','November','December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],\n today: 'I dag',\n clear: 'Nulstil',\n dateFormat: 'dd/mm/yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['de'] = {\n days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],\n daysShort: ['Son', 'Mon', 'Die', 'Mit', 'Don', 'Fre', 'Sam'],\n daysMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n months: ['Januar','Februar','M\u00E4rz','April','Mai','Juni', 'Juli','August','September','Oktober','November','Dezember'],\n monthsShort: ['Jan', 'Feb', 'M\u00E4r', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n today: 'Heute',\n clear: 'Aufr\u00E4umen',\n dateFormat: 'dd.mm.yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n};\n })(jQuery);", ";(function ($) { $.fn.datepicker.language['en'] = {\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n daysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n daysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n months: ['January','February','March','April','May','June', 'July','August','September','October','November','December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n today: 'Today',\n clear: 'Clear',\n dateFormat: 'mm/dd/yyyy',\n timeFormat: 'hh:ii aa',\n firstDay: 0\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['es'] = {\n days: ['Domingo', 'Lunes', 'Martes', 'Mi\u00E9rcoles', 'Jueves', 'Viernes', 'S\u00E1bado'],\n daysShort: ['Dom', 'Lun', 'Mar', 'Mie', 'Jue', 'Vie', 'Sab'],\n daysMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa'],\n months: ['Enero','Febrero','Marzo','Abril','Mayo','Junio', 'Julio','Augosto','Septiembre','Octubre','Noviembre','Diciembre'],\n monthsShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],\n today: 'Hoy',\n clear: 'Limpiar',\n dateFormat: 'dd/mm/yyyy',\n timeFormat: 'hh:ii aa',\n firstDay: 1\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['fi'] = {\n days: ['Sunnuntai', 'Maanantai', 'Tiistai', 'Keskiviikko', 'Torstai', 'Perjantai', 'Lauantai'],\n daysShort: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],\n daysMin: ['Su', 'Ma', 'Ti', 'Ke', 'To', 'Pe', 'La'],\n months: ['Tammikuu','Helmikuu','Maaliskuu','Huhtikuu','Toukokuu','Kes\u00E4kuu', 'Hein\u00E4kuu','Elokuu','Syyskuu','Lokakuu','Marraskuu','Joulukuu'],\n monthsShort: ['Tammi', 'Helmi', 'Maalis', 'Huhti', 'Touko', 'Kes\u00E4', 'Hein\u00E4', 'Elo', 'Syys', 'Loka', 'Marras', 'Joulu'],\n today: 'T\u00E4n\u00E4\u00E4n',\n clear: 'Tyhjenn\u00E4',\n dateFormat: 'dd.mm.yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n};\n })(jQuery);", ";(function ($) { $.fn.datepicker.language['fr'] = {\n days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],\n daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],\n daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],\n months: ['Janvier','F\u00E9vrier','Mars','Avril','Mai','Juin', 'Juillet','Ao\u00FBt','Septembre','Octobre','Novembre','Decembre'],\n monthsShort: ['Jan', 'F\u00E9v', 'Mars', 'Avr', 'Mai', 'Juin', 'Juil', 'Ao\u00FBt', 'Sep', 'Oct', 'Nov', 'Dec'],\n today: \"Aujourd'hui\",\n clear: 'Effacer',\n dateFormat: 'dd/mm/yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n}; })(jQuery);", ";(function ($) { ;(function ($) { $.fn.datepicker.language['hu'] = {\n days: ['Vas\u00E1rnap', 'H\u00E9tf\u0151', 'Kedd', 'Szerda', 'Cs\u00FCt\u00F6rt\u00F6k', 'P\u00E9ntek', 'Szombat'],\n daysShort: ['Va', 'H\u00E9', 'Ke', 'Sze', 'Cs', 'P\u00E9', 'Szo'],\n daysMin: ['V', 'H', 'K', 'Sz', 'Cs', 'P', 'Sz'],\n months: ['Janu\u00E1r', 'Febru\u00E1r', 'M\u00E1rcius', '\u00C1prilis', 'M\u00E1jus', 'J\u00FAnius', 'J\u00FAlius', 'Augusztus', 'Szeptember', 'Okt\u00F3ber', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'M\u00E1r', '\u00C1pr', 'M\u00E1j', 'J\u00FAn', 'J\u00FAl', 'Aug', 'Szep', 'Okt', 'Nov', 'Dec'],\n today: 'Ma',\n clear: 'T\u00F6rl\u00E9s',\n dateFormat: 'yyyy-mm-dd',\n timeFormat: 'hh:ii aa',\n firstDay: 1\n}; })(jQuery); })(jQuery);", ";(function ($) { $.fn.datepicker.language['nl'] = {\n days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],\n daysShort: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n daysMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n months: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mrt', 'Apr', 'Mei', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],\n today: 'Vandaag',\n clear: 'Legen',\n dateFormat: 'dd-MM-yy',\n timeFormat: 'hh:ii',\n firstDay: 0\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['pl'] = {\n days: ['Niedziela', 'Poniedzia\u0142ek', 'Wtorek', '\u015Aroda', 'Czwartek', 'Pi\u0105tek', 'Sobota'],\n daysShort: ['Nie', 'Pon', 'Wto', '\u015Aro', 'Czw', 'Pi\u0105', 'Sob'],\n daysMin: ['Nd', 'Pn', 'Wt', '\u015Ar', 'Czw', 'Pt', 'So'],\n months: ['Stycze\u0144','Luty','Marzec','Kwiecie\u0144','Maj','Czerwiec', 'Lipiec','Sierpie\u0144','Wrzesie\u0144','Pa\u017Adziernik','Listopad','Grudzie\u0144'],\n monthsShort: ['Sty', 'Lut', 'Mar', 'Kwi', 'Maj', 'Cze', 'Lip', 'Sie', 'Wrz', 'Pa\u017A', 'Lis', 'Gru'],\n today: 'Dzisiaj',\n clear: 'Wyczy\u015B\u0107',\n dateFormat: 'yyyy-mm-dd',\n timeFormat: 'hh:ii:aa',\n firstDay: 1\n};\n })(jQuery);", ";(function ($) { $.fn.datepicker.language['pt-BR'] = {\n days: ['Domingo', 'Segunda', 'Ter\u00E7a', 'Quarta', 'Quinta', 'Sexta', 'S\u00E1bado'],\n daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\n daysMin: ['Do', 'Se', 'Te', 'Qu', 'Qu', 'Se', 'Sa'],\n months: ['Janeiro', 'Fevereiro', 'Mar\u00E7o', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],\n monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n today: 'Hoje',\n clear: 'Limpar',\n dateFormat: 'dd/mm/yyyy',\n timeFormat: 'hh:ii',\n firstDay: 0\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['pt'] = {\n days: ['Domingo', 'Segunda', 'Ter\u00E7a', 'Quarta', 'Quinta', 'Sexta', 'S\u00E1bado'],\n daysShort: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sab'],\n daysMin: ['Do', 'Se', 'Te', 'Qa', 'Qi', 'Sx', 'Sa'],\n months: ['Janeiro', 'Fevereiro', 'Mar\u00E7o', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],\n monthsShort: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n today: 'Hoje',\n clear: 'Limpar',\n dateFormat: 'dd/mm/yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['ro'] = {\n days: ['Duminic\u0103', 'Luni', 'Mar\u0163i', 'Miercuri', 'Joi', 'Vineri', 'S\u00E2mb\u0103t\u0103'],\n daysShort: ['Dum', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'S\u00E2m'],\n daysMin: ['D', 'L', 'Ma', 'Mi', 'J', 'V', 'S'],\n months: ['Ianuarie','Februarie','Martie','Aprilie','Mai','Iunie','Iulie','August','Septembrie','Octombrie','Noiembrie','Decembrie'],\n monthsShort: ['Ian', 'Feb', 'Mar', 'Apr', 'Mai', 'Iun', 'Iul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'],\n today: 'Azi',\n clear: '\u015Eterge',\n dateFormat: 'dd.mm.yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n};\n })(jQuery);", ";(function ($) { $.fn.datepicker.language['sk'] = {\n days: ['Nede\u013Ea', 'Pondelok', 'Utorok', 'Streda', '\u0160tvrtok', 'Piatok', 'Sobota'],\n daysShort: ['Ned', 'Pon', 'Uto', 'Str', '\u0160tv', 'Pia', 'Sob'],\n daysMin: ['Ne', 'Po', 'Ut', 'St', '\u0160t', 'Pi', 'So'],\n months: ['Janu\u00E1r','Febru\u00E1r','Marec','Apr\u00EDl','M\u00E1j','J\u00FAn', 'J\u00FAl','August','September','Okt\u00F3ber','November','December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'M\u00E1j', 'J\u00FAn', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],\n today: 'Dnes',\n clear: 'Vymaza\u0165',\n dateFormat: 'dd.mm.yyyy',\n timeFormat: 'hh:ii',\n firstDay: 1\n}; })(jQuery);", ";(function ($) { $.fn.datepicker.language['zh'] = {\n days: ['\u5468\u65E5', '\u5468\u4E00', '\u5468\u4E8C', '\u5468\u4E09', '\u5468\u56DB', '\u5468\u4E94', '\u5468\u516D'],\n daysShort: ['\u65E5', '\u4E00', '\u4E8C', '\u4E09', '\u56DB', '\u4E94', '\u516D'],\n daysMin: ['\u65E5', '\u4E00', '\u4E8C', '\u4E09', '\u56DB', '\u4E94', '\u516D'],\n months: ['\u4E00\u6708', '\u4E8C\u6708', '\u4E09\u6708', '\u56DB\u6708', '\u4E94\u6708', '\u516D\u6708', '\u4E03\u6708', '\u516B\u6708', '\u4E5D\u6708', '\u5341\u6708', '\u5341\u4E00\u6708', '\u5341\u4E8C\u6708'],\n monthsShort: ['\u4E00\u6708', '\u4E8C\u6708', '\u4E09\u6708', '\u56DB\u6708', '\u4E94\u6708', '\u516D\u6708', '\u4E03\u6708', '\u516B\u6708', '\u4E5D\u6708', '\u5341\u6708', '\u5341\u4E00\u6708', '\u5341\u4E8C\u6708'],\n today: '\u4ECA\u5929',\n clear: '\u6E05\u9664',\n dateFormat: 'yyyy-mm-dd',\n timeFormat: 'hh:ii',\n firstDay: 1\n}; })(jQuery);", "import \"air-datepicker/dist/js/i18n/datepicker.cs.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.da.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.de.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.en.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.es.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.fi.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.fr.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.hu.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.nl.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.pl.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.pt-BR.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.pt.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.ro.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.sk.js\";\nimport \"air-datepicker/dist/js/i18n/datepicker.zh.js\";\n\n(function ($) {\n\t$.fn.datepicker.language[\"ar\"] = {\n\t\tdays: [\"\u0627\u0644\u0623\u062D\u062F\", \"\u0627\u0644\u0623\u062B\u0646\u064A\u0646\", \"\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621\", \"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", \"\u0627\u0644\u062E\u0645\u064A\u0633\", \"\u0627\u0644\u062C\u0645\u0639\u0647\", \"\u0627\u0644\u0633\u0628\u062A\"],\n\t\tdaysShort: [\"\u0627\u0644\u0623\u062D\u062F\", \"\u0627\u0644\u0623\u062B\u0646\u064A\u0646\", \"\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621\", \"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", \"\u0627\u0644\u062E\u0645\u064A\u0633\", \"\u0627\u0644\u062C\u0645\u0639\u0647\", \"\u0627\u0644\u0633\u0628\u062A\"],\n\t\tdaysMin: [\"\u0627\u0644\u0623\u062D\u062F\", \"\u0627\u0644\u0623\u062B\u0646\u064A\u0646\", \"\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621\", \"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621\", \"\u0627\u0644\u062E\u0645\u064A\u0633\", \"\u0627\u0644\u062C\u0645\u0639\u0647\", \"\u0627\u0644\u0633\u0628\u062A\"],\n\t\tmonths: [\n\t\t\t\"\u064A\u0646\u0627\u064A\u0631\",\n\t\t\t\"\u0641\u0628\u0631\u0627\u064A\u0631\",\n\t\t\t\"\u0645\u0627\u0631\u0633\",\n\t\t\t\"\u0623\u0628\u0631\u064A\u0644\",\n\t\t\t\"\u0645\u0627\u064A\u0648\",\n\t\t\t\"\u064A\u0648\u0646\u064A\u0648\",\n\t\t\t\"\u064A\u0648\u0644\u064A\u0648\",\n\t\t\t\"\u0623\u063A\u0633\u0637\u0633\",\n\t\t\t\"\u0633\u0628\u062A\u0645\u0628\u0631\",\n\t\t\t\"\u0627\u0643\u062A\u0648\u0628\u0631\",\n\t\t\t\"\u0646\u0648\u0641\u0645\u0628\u0631\",\n\t\t\t\"\u062F\u064A\u0633\u0645\u0628\u0631\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"\u064A\u0646\u0627\u064A\u0631\",\n\t\t\t\"\u0641\u0628\u0631\u0627\u064A\u0631\",\n\t\t\t\"\u0645\u0627\u0631\u0633\",\n\t\t\t\"\u0623\u0628\u0631\u064A\u0644\",\n\t\t\t\"\u0645\u0627\u064A\u0648\",\n\t\t\t\"\u064A\u0648\u0646\u064A\u0648\",\n\t\t\t\"\u064A\u0648\u0644\u064A\u0648\",\n\t\t\t\"\u0623\u063A\u0633\u0637\u0633\",\n\t\t\t\"\u0633\u0628\u062A\u0645\u0628\u0631\",\n\t\t\t\"\u0627\u0643\u062A\u0648\u0628\u0631\",\n\t\t\t\"\u0646\u0648\u0641\u0645\u0628\u0631\",\n\t\t\t\"\u062F\u064A\u0633\u0645\u0628\u0631\",\n\t\t],\n\t\ttoday: \"\u0627\u0644\u064A\u0648\u0645\",\n\t\tclear: \"\u062D\u0630\u0641\",\n\t\tdateFormat: \"dd/mm/yyyy\",\n\t\ttimeFormat: \"hh:ii aa\",\n\t\tfirstDay: 6,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"gr\"] = {\n\t\tdays: [\"\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE\", \"\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1\", \"\u03A4\u03C1\u03AF\u03C4\u03B7\", \"\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7\", \"\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7\", \"\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE\", \"\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF\"],\n\t\tdaysShort: [\"\u039A\u03C5\u03C1\", \"\u0394\u03B5\u03C5\", \"\u03A4\u03C1\u03B9\", \"\u03A4\u03B5\u03C4\", \"\u03A0\u03B5\u03BC\", \"\u03A0\u03B1\u03C1\", \"\u03A3\u03B1\u03B2\"],\n\t\tdaysMin: [\"\u039A\u03C5\", \"\u0394\u03B5\", \"\u03A4\u03C1\", \"\u03A4\u03B5\", \"\u03A0\u03B5\", \"\u03A0\u03B1\", \"\u03A3\u03B1\"],\n\t\tmonths: [\n\t\t\t\"\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2\",\n\t\t\t\"\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2\",\n\t\t\t\"\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2\",\n\t\t\t\"\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2\",\n\t\t\t\"\u039C\u03AC\u03B9\u03BF\u03C2\",\n\t\t\t\"\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2\",\n\t\t\t\"\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2\",\n\t\t\t\"\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2\",\n\t\t\t\"\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2\",\n\t\t\t\"\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2\",\n\t\t\t\"\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2\",\n\t\t\t\"\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"\u0399\u03B1\u03BD\",\n\t\t\t\"\u03A6\u03B5\u03B2\",\n\t\t\t\"\u039C\u03B1\u03C1\",\n\t\t\t\"\u0391\u03C0\u03C1\",\n\t\t\t\"\u039C\u03AC\u03B9\",\n\t\t\t\"\u0399/\u03BD\",\n\t\t\t\"\u0399/\u03BB\",\n\t\t\t\"\u0391\u03C5\u03B3\",\n\t\t\t\"\u03A3\u03B5\u03C0\",\n\t\t\t\"\u039F\u03BA\u03C4\",\n\t\t\t\"\u039D\u03BF\u03B5\",\n\t\t\t\"\u0394\u03B5\u03BA\",\n\t\t],\n\t\ttoday: \"\u03A3\u03AE\u03BC\u03B5\u03C1\u03B1\",\n\t\tclear: \"\u039A\u03B1\u03B8\u03B1\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2\",\n\t\tdateFormat: \"dd/mm/yyyy\",\n\t\ttimeFormat: \"hh:ii aa\",\n\t\tfirstDay: 0,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"it\"] = {\n\t\tdays: [\"Domenica\", \"Luned\u00EC\", \"Marted\u00EC\", \"Mercoled\u00EC\", \"Gioved\u00EC\", \"Venerd\u00EC\", \"Sabato\"],\n\t\tdaysShort: [\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"],\n\t\tdaysMin: [\"Do\", \"Lu\", \"Ma\", \"Me\", \"Gi\", \"Ve\", \"Sa\"],\n\t\tmonths: [\n\t\t\t\"Gennaio\",\n\t\t\t\"Febbraio\",\n\t\t\t\"Marzo\",\n\t\t\t\"Aprile\",\n\t\t\t\"Maggio\",\n\t\t\t\"Giugno\",\n\t\t\t\"Luglio\",\n\t\t\t\"Agosto\",\n\t\t\t\"Settembre\",\n\t\t\t\"Ottobre\",\n\t\t\t\"Novembre\",\n\t\t\t\"Dicembre\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"Gen\",\n\t\t\t\"Feb\",\n\t\t\t\"Mar\",\n\t\t\t\"Apr\",\n\t\t\t\"Mag\",\n\t\t\t\"Giu\",\n\t\t\t\"Lug\",\n\t\t\t\"Ago\",\n\t\t\t\"Set\",\n\t\t\t\"Ott\",\n\t\t\t\"Nov\",\n\t\t\t\"Dic\",\n\t\t],\n\t\ttoday: \"Oggi\",\n\t\tclear: \"Reset\",\n\t\tdateFormat: \"dd/mm/yyyy\",\n\t\ttimeFormat: \"hh:ii\",\n\t\tfirstDay: 1,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"tr\"] = {\n\t\tdays: [\"Pazar\", \"Pazartesi\", \"Sal\u0131\", \"\u00C7ar\u015Famba\", \"Per\u015Fembe\", \"Cuma\", \"Cumartesi\"],\n\t\tdaysShort: [\"Paz\", \"Pzt\", \"Sal\", \"\u00C7ar\", \"Per\", \"Cum\", \"Cmt\"],\n\t\tdaysMin: [\"Pz\", \"Pt\", \"Sa\", \"\u00C7a\", \"Pe\", \"Cu\", \"Ct\"],\n\t\tmonths: [\n\t\t\t\"Ocak\",\n\t\t\t\"\u015Eubat\",\n\t\t\t\"Mart\",\n\t\t\t\"Nisan\",\n\t\t\t\"May\u0131s\",\n\t\t\t\"Haziran\",\n\t\t\t\"Temmuz\",\n\t\t\t\"A\u011Fustos\",\n\t\t\t\"Eyl\u00FCl\",\n\t\t\t\"Ekim\",\n\t\t\t\"Kas\u0131m\",\n\t\t\t\"Aral\u0131k\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"Oca\",\n\t\t\t\"\u015Eub\",\n\t\t\t\"Mar\",\n\t\t\t\"Nis\",\n\t\t\t\"May\",\n\t\t\t\"Haz\",\n\t\t\t\"Tem\",\n\t\t\t\"A\u011Fu\",\n\t\t\t\"Eyl\",\n\t\t\t\"Eki\",\n\t\t\t\"Kas\",\n\t\t\t\"Ara\",\n\t\t],\n\t\ttoday: \"Bug\u00FCn\",\n\t\tclear: \"Temizle\",\n\t\tdateFormat: \"dd.mm.yyyy\",\n\t\ttimeFormat: \"hh:ii\",\n\t\tfirstDay: 1,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"sv\"] = {\n\t\tdays: [\"S\u00F6ndag\", \"M\u00E5ndag\", \"Tisdag\", \"Onsdag\", \"Torsdag\", \"Fredag\", \"L\u00F6rdag\"],\n\t\tdaysShort: [\"S\u00F6n\", \"M\u00E5n\", \"Tis\", \"Ons\", \"Tor\", \"Fre\", \"L\u00F6r\"],\n\t\tdaysMin: [\"S\u00F6\", \"M\u00E5\", \"Ti\", \"On\", \"To\", \"Fr\", \"L\u00F6\"],\n\t\tmonths: [\n\t\t\t\"Januari\",\n\t\t\t\"Februari\",\n\t\t\t\"Mars\",\n\t\t\t\"April\",\n\t\t\t\"Maj\",\n\t\t\t\"Juni\",\n\t\t\t\"Juli\",\n\t\t\t\"Augusti\",\n\t\t\t\"September\",\n\t\t\t\"Oktober\",\n\t\t\t\"November\",\n\t\t\t\"December\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"Jan\",\n\t\t\t\"Feb\",\n\t\t\t\"Mar\",\n\t\t\t\"Apr\",\n\t\t\t\"Maj\",\n\t\t\t\"Jun\",\n\t\t\t\"Jul\",\n\t\t\t\"Aug\",\n\t\t\t\"Sep\",\n\t\t\t\"Okt\",\n\t\t\t\"Nov\",\n\t\t\t\"Dec\",\n\t\t],\n\t\ttoday: \"Idag\",\n\t\tclear: \"\u00C5terst\u00E4ll\",\n\t\tdateFormat: \"yyyy-mm-dd\",\n\t\ttimeFormat: \"hh:ii\",\n\t\tfirstDay: 1,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"bs\"] = {\n\t\tdays: [\"Nedjelja\", \"Ponedjeljak\", \"Utorak\", \"Srijeda\", \"\u010Cetvrtak\", \"Petak\", \"Subota\"],\n\t\tdaysShort: [\"Ned\", \"Pon\", \"Uto\", \"Sri\", \"\u010Cet\", \"Pet\", \"Sub\"],\n\t\tdaysMin: [\"Ne\", \"Po\", \"Ut\", \"Sr\", \"\u010Ce\", \"Pe\", \"Su\"],\n\t\tmonths: [\n\t\t\t\"Januar\",\n\t\t\t\"Februar\",\n\t\t\t\"Mart\",\n\t\t\t\"April\",\n\t\t\t\"Maj\",\n\t\t\t\"Juni\",\n\t\t\t\"Juli\",\n\t\t\t\"August\",\n\t\t\t\"Septembar\",\n\t\t\t\"Oktobar\",\n\t\t\t\"Novembar\",\n\t\t\t\"Decembar\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"Jan\",\n\t\t\t\"Feb\",\n\t\t\t\"Mar\",\n\t\t\t\"Apr\",\n\t\t\t\"Maj\",\n\t\t\t\"Jun\",\n\t\t\t\"Jul\",\n\t\t\t\"Aug\",\n\t\t\t\"Sep\",\n\t\t\t\"Okt\",\n\t\t\t\"Nov\",\n\t\t\t\"Dec\",\n\t\t],\n\t\ttoday: \"Danas\",\n\t\tclear: \"Resetiraj\",\n\t\tdateFormat: \"dd/mm/yyyy\",\n\t\ttimeFormat: \"hh:ii\",\n\t\tfirstDay: 1,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"hr\"] = {\n\t\tdays: [\"Nedjelja\", \"Ponedjeljak\", \"Utorak\", \"Srijeda\", \"\u010Cetvrtak\", \"Petak\", \"Subota\"],\n\t\tdaysShort: [\"Ned\", \"Pon\", \"Uto\", \"Sri\", \"\u010Cet\", \"Pet\", \"Sub\"],\n\t\tdaysMin: [\"Ne\", \"Po\", \"Ut\", \"Sr\", \"\u010Ce\", \"Pe\", \"Su\"],\n\t\tmonths: [\n\t\t\t\"Sje\u010Danj\",\n\t\t\t\"Velja\u010Da\",\n\t\t\t\"O\u017Eujak\",\n\t\t\t\"Travanj\",\n\t\t\t\"Svibanj\",\n\t\t\t\"Lipanj\",\n\t\t\t\"Srpanj\",\n\t\t\t\"Kolovoz\",\n\t\t\t\"Rujan\",\n\t\t\t\"Listopad\",\n\t\t\t\"Studeni\",\n\t\t\t\"Prosinac\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"Sje\",\n\t\t\t\"Velj\",\n\t\t\t\"O\u017Eu\",\n\t\t\t\"Tra\",\n\t\t\t\"Svi\",\n\t\t\t\"Lip\",\n\t\t\t\"Srp\",\n\t\t\t\"Kol\",\n\t\t\t\"Ruj\",\n\t\t\t\"Lis\",\n\t\t\t\"Stu\",\n\t\t\t\"Pro\",\n\t\t],\n\t\ttoday: \"Danas\",\n\t\tclear: \"Resetiraj\",\n\t\tdateFormat: \"dd/mm/yyyy\",\n\t\ttimeFormat: \"hh:ii\",\n\t\tfirstDay: 1,\n\t};\n})(jQuery);\n\n(function ($) {\n\t$.fn.datepicker.language[\"th\"] = {\n\t\tdays: [\"\u0E2D\u0E32\u0E17\u0E34\u0E15\u0E22\u0E4C\", \"\u0E08\u0E31\u0E19\u0E17\u0E23\u0E4C\", \"\u0E2D\u0E31\u0E07\u0E04\u0E32\u0E23\", \"\u0E1E\u0E38\u0E18\", \"\u0E1E\u0E24\u0E2B\u0E31\u0E2A\u0E1A\u0E14\u0E35\", \"\u0E28\u0E38\u0E01\u0E23\u0E4C\", \"\u0E40\u0E2A\u0E32\u0E23\u0E4C\"],\n\t\tdaysShort: [\"\u0E2D\u0E32.\", \"\u0E08.\", \"\u0E2D.\", \"\u0E1E.\", \"\u0E1E\u0E24.\", \"\u0E28.\", \"\u0E2A.\"],\n\t\tdaysMin: [\"\u0E2D\u0E32.\", \"\u0E08.\", \"\u0E2D.\", \"\u0E1E.\", \"\u0E1E\u0E24.\", \"\u0E28.\", \"\u0E2A.\"],\n\t\tmonths: [\n\t\t\t\"\u0E21\u0E01\u0E23\u0E32\u0E04\u0E21\",\n\t\t\t\"\u0E01\u0E38\u0E21\u0E20\u0E32\u0E1E\u0E31\u0E19\u0E18\u0E4C\",\n\t\t\t\"\u0E21\u0E35\u0E19\u0E32\u0E04\u0E21\",\n\t\t\t\"\u0E40\u0E21\u0E29\u0E32\u0E22\u0E19\",\n\t\t\t\"\u0E1E\u0E24\u0E29\u0E20\u0E32\u0E04\u0E21\",\n\t\t\t\"\u0E21\u0E34\u0E16\u0E38\u0E19\u0E32\u0E22\u0E19\",\n\t\t\t\"\u0E01\u0E23\u0E01\u0E0E\u0E32\u0E04\u0E21\",\n\t\t\t\"\u0E2A\u0E34\u0E07\u0E2B\u0E32\u0E04\u0E21\",\n\t\t\t\"\u0E01\u0E31\u0E19\u0E22\u0E32\u0E22\u0E19\",\n\t\t\t\"\u0E15\u0E38\u0E25\u0E32\u0E04\u0E21\",\n\t\t\t\"\u0E1E\u0E24\u0E28\u0E08\u0E34\u0E01\u0E32\u0E22\u0E19\",\n\t\t\t\"\u0E18\u0E31\u0E19\u0E27\u0E32\u0E04\u0E21\",\n\t\t],\n\t\tmonthsShort: [\n\t\t\t\"\u0E21.\u0E04.\",\n\t\t\t\"\u0E01.\u0E1E.\",\n\t\t\t\"\u0E21\u0E35.\u0E04.\",\n\t\t\t\"\u0E40\u0E21.\u0E22.\",\n\t\t\t\"\u0E1E.\u0E04.\",\n\t\t\t\"\u0E21\u0E34.\u0E22.\",\n\t\t\t\"\u0E01.\u0E04.\",\n\t\t\t\"\u0E2A.\u0E04.\",\n\t\t\t\"\u0E01.\u0E22.\",\n\t\t\t\"\u0E15.\u0E04.\",\n\t\t\t\"\u0E1E.\u0E22.\",\n\t\t\t\"\u0E18.\u0E04.\",\n\t\t],\n\t\ttoday: \"\u0E43\u0E19\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49\",\n\t\tclear: \"\u0E40\u0E04\u0E25\u0E35\u0E22\u0E23\u0E4C\",\n\t\tdateFormat: \"dd/mm/yyyy\",\n\t\ttimeFormat: \"hh:ii aa\",\n\t\tfirstDay: 0,\n\t};\n})(jQuery);\n", "// frappe.ui.Capture\n// Author - Achilles Rasquinha \n\n/**\n * @description Converts a canvas, image or a video to a data URL string.\n *\n * @param \t{HTMLElement} element - canvas, img or video.\n * @returns {string} \t\t\t - The data URL string.\n *\n * @example\n * frappe._.get_data_uri(video)\n * // returns \"data:image/pngbase64,...\"\n */\nfrappe._.get_data_uri = (element) => {\n\tconst width = element.videoWidth;\n\tconst height = element.videoHeight;\n\n\tconst $canvas = $(\"\");\n\t$canvas[0].width = width;\n\t$canvas[0].height = height;\n\n\tconst context = $canvas[0].getContext(\"2d\");\n\tcontext.drawImage(element, 0, 0, width, height);\n\n\treturn $canvas[0].toDataURL(\"image/png\");\n};\n\nfunction get_file_input() {\n\tlet input = document.createElement(\"input\");\n\tinput.setAttribute(\"type\", \"file\");\n\tinput.setAttribute(\"accept\", \"image/*\");\n\tinput.setAttribute(\"multiple\", \"\");\n\n\t// Make sure that the input exists in the DOM\n\tinput.classList.add(\"visually-hidden\");\n\tdocument.body.appendChild(input);\n\n\treturn input;\n}\n\nfunction read(file) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst reader = new FileReader();\n\t\treader.onload = () => resolve(reader.result);\n\t\treader.onerror = reject;\n\t\treader.readAsDataURL(file);\n\t});\n}\n\n/**\n * @description Frappe's Capture object.\n *\n * @example\n * const capture = frappe.ui.Capture()\n * capture.show()\n *\n * capture.click((data_uri) => {\n * \t// do stuff\n * })\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Taking_still_photos\n */\nfrappe.ui.Capture = class {\n\tconstructor(options = {}) {\n\t\tthis.options = frappe.ui.Capture.OPTIONS;\n\t\tthis.set_options(options);\n\n\t\tthis.facing_mode = \"environment\";\n\t\tthis.images = [];\n\t}\n\n\tset_options(options) {\n\t\tthis.options = { ...frappe.ui.Capture.OPTIONS, ...options };\n\n\t\treturn this;\n\t}\n\n\tshow() {\n\t\tthis.build_dialog();\n\n\t\tif (cint(frappe.boot.sysdefaults.force_web_capture_mode_for_uploads)) {\n\t\t\tthis.show_for_desktop();\n\t\t} else if (frappe.is_mobile()) {\n\t\t\tthis.show_for_mobile();\n\t\t} else {\n\t\t\tthis.show_for_desktop();\n\t\t}\n\t}\n\n\tbuild_dialog() {\n\t\tlet me = this;\n\t\tme.dialog = new frappe.ui.Dialog({\n\t\t\ttitle: this.options.title,\n\t\t\tanimate: this.options.animate,\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tfieldtype: \"HTML\",\n\t\t\t\t\tfieldname: \"capture\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldtype: \"HTML\",\n\t\t\t\t\tfieldname: \"total_count\",\n\t\t\t\t},\n\t\t\t],\n\t\t\ton_hide: () => {\n\t\t\t\tthis.stop_media_stream();\n\t\t\t},\n\t\t});\n\n\t\tme.$template = $(frappe.ui.Capture.TEMPLATE);\n\n\t\tlet field = me.dialog.get_field(\"capture\");\n\t\t$(field.wrapper).html(me.$template);\n\t\tme.update_count();\n\n\t\tme.dialog.get_close_btn().on(\"click\", () => {\n\t\t\tme.hide();\n\t\t});\n\t}\n\n\tshow_for_mobile() {\n\t\tlet me = this;\n\t\tif (!me.input) {\n\t\t\tme.input = get_file_input();\n\t\t}\n\n\t\tme.input.onchange = async () => {\n\t\t\tfor (let file of me.input.files) {\n\t\t\t\tlet f = await read(file);\n\t\t\t\tme.images.push(f);\n\t\t\t}\n\n\t\t\t// Remove the input from the DOM\n\t\t\tme.input.remove();\n\t\t\tme.input = null;\n\n\t\t\tme.render_preview();\n\t\t\tme.dialog.show();\n\t\t};\n\t\tme.input.click();\n\t}\n\n\tshow_for_desktop() {\n\t\tlet me = this;\n\n\t\tthis.render_stream()\n\t\t\t.then(() => {\n\t\t\t\tme.dialog.show();\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tif (me.options.error) {\n\t\t\t\t\tfrappe.show_alert(frappe.ui.Capture.ERR_MESSAGE, 3);\n\t\t\t\t}\n\n\t\t\t\tthrow err;\n\t\t\t});\n\t}\n\n\trender_stream() {\n\t\tlet me = this;\n\t\tlet constraints = {\n\t\t\tvideo: {\n\t\t\t\tfacingMode: this.facing_mode,\n\t\t\t},\n\t\t};\n\n\t\treturn navigator.mediaDevices.getUserMedia(constraints).then((stream) => {\n\t\t\tme.stream = stream;\n\t\t\tme.dialog.custom_actions.empty();\n\t\t\tme.dialog.get_primary_btn().off(\"click\");\n\t\t\tme.setup_take_photo_action();\n\t\t\tme.setup_preview_action();\n\t\t\tme.setup_toggle_camera();\n\n\t\t\tme.$template.find(\".fc-stream-container\").show();\n\t\t\tme.$template.find(\".fc-preview-container\").hide();\n\t\t\tme.video = me.$template.find(\"video\")[0];\n\t\t\tme.video.srcObject = me.stream;\n\t\t\tme.video.load();\n\t\t\tme.video.play();\n\t\t});\n\t}\n\n\trender_preview() {\n\t\tthis.stop_media_stream();\n\t\tthis.$template.find(\".fc-stream-container\").hide();\n\t\tthis.$template.find(\".fc-preview-container\").show();\n\t\tthis.dialog.get_primary_btn().off(\"click\");\n\n\t\tlet images = ``;\n\n\t\tthis.images.forEach((image, idx) => {\n\t\t\timages += `\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t${frappe.utils.icon(\"close\", \"lg\")}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t`;\n\t\t});\n\n\t\tthis.$template.find(\".fc-preview-container\").empty();\n\t\t$(this.$template.find(\".fc-preview-container\")).html(\n\t\t\t`
    \n\t\t\t\t${images}\n\t\t\t
    `\n\t\t);\n\n\t\tthis.setup_capture_action();\n\t\tthis.setup_submit_action();\n\t\tthis.setup_remove_action();\n\t\tthis.update_count();\n\t\tthis.dialog.custom_actions.empty();\n\t}\n\n\tsetup_take_photo_action() {\n\t\tlet me = this;\n\n\t\tthis.dialog.set_primary_action(__(\"Take Photo\"), () => {\n\t\t\tconst data_url = frappe._.get_data_uri(me.video);\n\n\t\t\tme.images.push(data_url);\n\t\t\tme.setup_preview_action();\n\t\t\tme.update_count();\n\t\t});\n\t}\n\n\tsetup_preview_action() {\n\t\tlet me = this;\n\n\t\tif (!this.images.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dialog.set_secondary_action_label(__(\"Preview\"));\n\t\tthis.dialog.set_secondary_action(() => {\n\t\t\tme.dialog.get_primary_btn().off(\"click\");\n\t\t\tme.render_preview();\n\t\t});\n\t}\n\n\tsetup_remove_action() {\n\t\tlet me = this;\n\t\tlet elements = Array.from(this.$template[0].getElementsByClassName(\"capture-remove-btn\"));\n\n\t\telements.forEach((el) => {\n\t\t\tel.onclick = () => {\n\t\t\t\tlet idx = parseInt(el.getAttribute(\"data-idx\"));\n\n\t\t\t\tme.images.splice(idx, 1);\n\t\t\t\tme.render_preview();\n\t\t\t};\n\t\t});\n\t}\n\n\tupdate_count() {\n\t\tlet field = this.dialog.get_field(\"total_count\");\n\t\tlet msg = `${__(\"Total Images\")}: ${this.images.length}`;\n\n\t\tif (this.images.length === 0) {\n\t\t\tmsg = __(\"No Images\");\n\t\t}\n\n\t\t$(field.wrapper).html(`\n\t\t\t
    \n\t\t\t\t
    ${msg}
    \n\t\t\t
    \n\t\t`);\n\t}\n\n\tsetup_toggle_camera() {\n\t\tlet me = this;\n\n\t\tthis.dialog.add_custom_action(\n\t\t\t__(\"Switch Camera\"),\n\t\t\t() => {\n\t\t\t\tme.facing_mode = me.facing_mode == \"environment\" ? \"user\" : \"environment\";\n\n\t\t\t\tfrappe.show_alert({\n\t\t\t\t\tmessage: __(\"Switching Camera\"),\n\t\t\t\t});\n\n\t\t\t\tme.stop_media_stream();\n\t\t\t\tme.render_stream();\n\t\t\t},\n\t\t\t\"btn-switch\"\n\t\t);\n\t}\n\n\tsetup_capture_action() {\n\t\tlet me = this;\n\n\t\tthis.dialog.set_secondary_action_label(__(\"Capture\"));\n\t\tthis.dialog.set_secondary_action(() => {\n\t\t\tif (frappe.is_mobile()) {\n\t\t\t\tme.show_for_mobile();\n\t\t\t} else {\n\t\t\t\tme.render_stream();\n\t\t\t}\n\t\t});\n\t}\n\n\tsetup_submit_action() {\n\t\tlet me = this;\n\n\t\tthis.dialog.set_primary_action(__(\"Submit\"), () => {\n\t\t\tme.hide();\n\n\t\t\tif (me.callback) {\n\t\t\t\tme.callback(me.images);\n\t\t\t}\n\t\t});\n\t}\n\n\thide() {\n\t\tif (this.dialog) this.dialog.hide();\n\t\tthis.stop_media_stream();\n\t}\n\n\tstop_media_stream() {\n\t\tif (this.stream) {\n\t\t\tthis.stream.getTracks().forEach((track) => {\n\t\t\t\ttrack.stop();\n\t\t\t});\n\t\t}\n\t}\n\n\tsubmit(fn) {\n\t\tthis.callback = fn;\n\t}\n};\nfrappe.ui.Capture.OPTIONS = {\n\ttitle: __(\"Camera\"),\n\tanimate: false,\n\terror: false,\n};\nfrappe.ui.Capture.ERR_MESSAGE = __(\"Unable to load camera.\");\nfrappe.ui.Capture.TEMPLATE = `\n
    \n\t
    \n\t\t\n\t
    \n\t
    \n\n\t
    \n
    \n`;\n", "frappe.ui.form.Control = class BaseControl {\n\tconstructor(opts) {\n\t\t$.extend(this, opts);\n\t\tthis.make();\n\t\tif (this.render_input) {\n\t\t\tthis.refresh();\n\t\t}\n\t}\n\tmake() {\n\t\tthis.make_wrapper();\n\t\tthis.$wrapper\n\t\t\t.attr(\"data-fieldtype\", this.df.fieldtype)\n\t\t\t.attr(\"data-fieldname\", this.df.fieldname);\n\t\tthis.wrapper = this.$wrapper.get(0);\n\t\tthis.wrapper.fieldobj = this; // reference for event handlers\n\n\t\tthis.tooltip = $(`${__(this.df.fieldname)}`);\n\t\tthis.$wrapper.append(this.tooltip);\n\n\t\tthis.tooltip.on(\"click\", (e) => {\n\t\t\tlet text = $(e.target).text();\n\t\t\tfrappe.utils.copy_to_clipboard(text);\n\t\t});\n\t}\n\n\tmake_wrapper() {\n\t\tthis.$wrapper = $(\"
    \").appendTo(this.parent);\n\n\t\t// alias\n\t\tthis.wrapper = this.$wrapper;\n\t}\n\n\ttoggle(show) {\n\t\tthis.df.hidden = show ? 0 : 1;\n\t\tthis.refresh();\n\t}\n\n\tget perm() {\n\t\treturn this.frm?.perm;\n\t}\n\n\tset perm(_perm) {\n\t\tconsole.error(\"Setting perm on controls isn't supported, update form's perm instead\");\n\t}\n\n\t// returns \"Read\", \"Write\" or \"None\"\n\t// as strings based on permissions\n\tget_status(explain) {\n\t\tif (this.df.get_status) {\n\t\t\treturn this.df.get_status(this);\n\t\t}\n\n\t\tif (\n\t\t\t(!this.doctype && !this.docname) ||\n\t\t\tthis.df.parenttype === \"Web Form\" ||\n\t\t\tthis.df.is_web_form\n\t\t) {\n\t\t\tlet status = \"Write\";\n\n\t\t\t// like in case of a dialog box\n\t\t\tif (cint(this.df.hidden)) {\n\t\t\t\tif (explain) console.log(\"By Hidden: None\");\n\t\t\t\treturn \"None\";\n\t\t\t} else if (cint(this.df.hidden_due_to_dependency)) {\n\t\t\t\tif (explain) console.log(\"By Hidden Dependency: None\");\n\t\t\t\treturn \"None\";\n\t\t\t} else if (\n\t\t\t\tcint(this.df.read_only || this.df.is_virtual || this.df.fieldtype === \"Read Only\")\n\t\t\t) {\n\t\t\t\tif (explain) console.log(\"By Read Only: Read\");\n\t\t\t\tstatus = \"Read\";\n\t\t\t} else if (\n\t\t\t\t(this.grid && this.grid.display_status == \"Read\") ||\n\t\t\t\t(this.layout && this.layout.grid && this.layout.grid.display_status == \"Read\")\n\t\t\t) {\n\t\t\t\t// parent grid is read\n\t\t\t\tif (explain) console.log(\"By Parent Grid Read-only: Read\");\n\t\t\t\tstatus = \"Read\";\n\t\t\t}\n\n\t\t\tlet value = this.value || this.get_model_value();\n\t\t\tvalue = this.get_parsed_value(value);\n\n\t\t\tif (\n\t\t\t\tstatus === \"Read\" &&\n\t\t\t\tis_null(value) &&\n\t\t\t\t![\"HTML\", \"Image\", \"Button\"].includes(this.df.fieldtype)\n\t\t\t)\n\t\t\t\tstatus = \"Read\";\n\n\t\t\treturn status;\n\t\t}\n\n\t\tvar status = frappe.perm.get_field_display_status(\n\t\t\tthis.df,\n\t\t\tfrappe.model.get_doc(this.doctype, this.docname),\n\t\t\tthis.perm || (this.frm && this.frm.perm),\n\t\t\texplain\n\t\t);\n\n\t\t// Match parent grid controls read only status\n\t\tif (\n\t\t\tstatus === \"Write\" &&\n\t\t\t(this.grid || (this.layout && this.layout.grid && !cint(this.df.allow_on_submit)))\n\t\t) {\n\t\t\tvar grid = this.grid || this.layout.grid;\n\t\t\tif (grid.display_status == \"Read\") {\n\t\t\t\tstatus = \"Read\";\n\t\t\t\tif (explain) console.log(\"By Parent Grid Read-only: Read\");\n\t\t\t}\n\t\t}\n\n\t\tlet value = frappe.model.get_value(this.doctype, this.docname, this.df.fieldname);\n\n\t\tif ([\"Date\", \"Datetime\"].includes(this.df.fieldtype) && value) {\n\t\t\tvalue = frappe.datetime.str_to_user(value);\n\t\t}\n\n\t\tvalue = this.get_parsed_value(value);\n\n\t\t// hide if no value\n\t\tif (\n\t\t\tthis.doctype &&\n\t\t\tstatus === \"Read\" &&\n\t\t\t!this.only_input &&\n\t\t\tis_null(value) &&\n\t\t\tcint(frappe.boot.sysdefaults.hide_empty_read_only_fields) &&\n\t\t\t![\"HTML\", \"Image\", \"Button\", \"Geolocation\"].includes(this.df.fieldtype)\n\t\t) {\n\t\t\tif (explain) console.log(\"By Hide Read-only, null fields: None\");\n\t\t\tstatus = \"None\";\n\t\t}\n\n\t\treturn status;\n\t}\n\trefresh() {\n\t\tthis.disp_status = this.get_status();\n\t\tthis.$wrapper &&\n\t\t\tthis.$wrapper.toggleClass(\"hide-control\", this.disp_status == \"None\") &&\n\t\t\tthis.refresh_input &&\n\t\t\tthis.refresh_input();\n\n\t\tvar value = this.get_value();\n\n\t\tthis.show_translatable_button(value);\n\t}\n\tshow_translatable_button(value) {\n\t\t// Disable translation non-string fields or special string fields\n\t\tif (\n\t\t\t!frappe.model ||\n\t\t\t!this.frm ||\n\t\t\t!this.doc ||\n\t\t\t!this.df.translatable ||\n\t\t\t!frappe.model.can_write(\"Translation\") ||\n\t\t\t!value\n\t\t)\n\t\t\treturn;\n\n\t\t// Disable translation in website\n\t\tif (!frappe.views || !frappe.views.TranslationManager) return;\n\n\t\t// Already attached button\n\t\tif (this.$wrapper.find(\".clearfix .btn-translation\").length) return;\n\n\t\tconst translation_btn = `\n\t\t\t\t\n\t\t\t`;\n\n\t\t$(translation_btn)\n\t\t\t.appendTo(this.$wrapper.find(\".clearfix\"))\n\t\t\t.on(\"click\", () => {\n\t\t\t\tif (!this.doc.__islocal) {\n\t\t\t\t\tnew frappe.views.TranslationManager({\n\t\t\t\t\t\tdf: this.df,\n\t\t\t\t\t\tsource_text: this.value,\n\t\t\t\t\t\ttarget_language: this.doc.language,\n\t\t\t\t\t\tdoc: this.doc,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t}\n\tget_doc() {\n\t\treturn (\n\t\t\t(this.doctype &&\n\t\t\t\tthis.docname &&\n\t\t\t\tlocals[this.doctype] &&\n\t\t\t\tlocals[this.doctype][this.docname]) ||\n\t\t\t{}\n\t\t);\n\t}\n\tget_model_value() {\n\t\tif (this.doc) {\n\t\t\treturn this.doc[this.df.fieldname];\n\t\t}\n\t}\n\tget_parsed_value(value) {\n\t\tif (this.parse) {\n\t\t\tvalue = this.parse(value);\n\t\t}\n\t\treturn value;\n\t}\n\n\tset_value(value, force_set_value = false) {\n\t\treturn this.validate_and_set_in_model(value, null, force_set_value);\n\t}\n\tparse_validate_and_set_in_model(value, e) {\n\t\tvalue = this.get_parsed_value(value);\n\t\treturn this.validate_and_set_in_model(value, e);\n\t}\n\tvalidate_and_set_in_model(value, e, force_set_value = false) {\n\t\tconst me = this;\n\t\tconst is_value_same = this.get_model_value() === value;\n\n\t\tif (this.inside_change_event || (is_value_same && !force_set_value)) {\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tconst old_value = this.get_model_value();\n\t\tthis.frm?.undo_manager?.record_change({\n\t\t\tfieldname: me.df.fieldname,\n\t\t\told_value,\n\t\t\tnew_value: value,\n\t\t\tdoctype: this.doctype,\n\t\t\tdocname: this.docname,\n\t\t\tis_child: Boolean(this.doc?.parenttype),\n\t\t});\n\t\tthis.inside_change_event = true;\n\t\tfunction set(value) {\n\t\t\tme.inside_change_event = false;\n\t\t\treturn frappe.run_serially([\n\t\t\t\t() => (me._validated = true),\n\t\t\t\t() => me.set_model_value(value),\n\t\t\t\t() => delete me._validated,\n\t\t\t\t() => {\n\t\t\t\t\tme.set_mandatory && me.set_mandatory(value);\n\n\t\t\t\t\tif (me.df.change || me.df.onchange) {\n\t\t\t\t\t\t// onchange event specified in df\n\t\t\t\t\t\tlet set = (me.df.change || me.df.onchange).apply(me, [e]);\n\t\t\t\t\t\tme.set_invalid && me.set_invalid();\n\t\t\t\t\t\treturn set;\n\t\t\t\t\t}\n\t\t\t\t\tme.set_invalid && me.set_invalid();\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\t\tvalue = this.validate(value);\n\t\tif (value && value.then) {\n\t\t\t// got a promise\n\t\t\treturn value.then((value) => set(value));\n\t\t} else {\n\t\t\t// all clear\n\t\t\treturn set(value);\n\t\t}\n\t}\n\tget_value() {\n\t\tif (this.get_status() === \"Write\") {\n\t\t\treturn this.get_input_value\n\t\t\t\t? this.parse\n\t\t\t\t\t? this.parse(this.get_input_value())\n\t\t\t\t\t: this.get_input_value()\n\t\t\t\t: undefined;\n\t\t} else {\n\t\t\treturn this.value || undefined;\n\t\t}\n\t}\n\tset_model_value(value) {\n\t\tif (this.frm) {\n\t\t\tthis.last_value = value;\n\t\t\treturn frappe.model.set_value(\n\t\t\t\tthis.doctype,\n\t\t\t\tthis.docname,\n\t\t\t\tthis.df.fieldname,\n\t\t\t\tvalue,\n\t\t\t\tthis.df.fieldtype\n\t\t\t);\n\t\t} else {\n\t\t\tif (this.doc) {\n\t\t\t\tthis.doc[this.df.fieldname] = value;\n\t\t\t}\n\t\t\tthis.set_input(value);\n\t\t\treturn Promise.resolve();\n\t\t}\n\t}\n\tset_focus() {\n\t\tif (this.$input) {\n\t\t\tthis.$input.get(0).focus();\n\t\t\treturn true;\n\t\t}\n\t}\n};\n", "frappe.ui.form.ControlInput = class ControlInput extends frappe.ui.form.Control {\n\tstatic horizontal = true;\n\tmake() {\n\t\t// parent element\n\t\tsuper.make();\n\t\tthis.set_input_areas();\n\n\t\t// set description\n\t\tthis.set_max_width();\n\n\t\t// set initial value if set\n\t\tif (this.df.initial_value) {\n\t\t\tthis.set_value(this.df.initial_value);\n\t\t}\n\t}\n\tmake_wrapper() {\n\t\tif (this.only_input) {\n\t\t\tthis.$wrapper = $('
    ').appendTo(this.parent);\n\t\t} else {\n\t\t\tthis.$wrapper = $(\n\t\t\t\t`
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    `\n\t\t\t).appendTo(this.parent);\n\n\t\t\tif (this.constructor.horizontal) {\n\t\t\t\tthis.$wrapper.find(\".form-group\").addClass(\"horizontal\");\n\t\t\t}\n\t\t}\n\t}\n\ttoggle_label(show) {\n\t\tthis.$wrapper.find(\".control-label\").parent().toggleClass(\"hide\", !show);\n\t}\n\ttoggle_description(show) {\n\t\tthis.$wrapper.find(\".help-box\").toggleClass(\"hide\", !show);\n\t}\n\tset_input_areas() {\n\t\tif (this.only_input) {\n\t\t\tthis.input_area = this.wrapper;\n\t\t} else {\n\t\t\tthis.label_area = this.label_span = this.$wrapper.find(\"label\").get(0);\n\t\t\tthis.input_area = this.$wrapper.find(\".control-input\").get(0);\n\t\t\tthis.$input_wrapper = this.$wrapper.find(\".control-input-wrapper\");\n\t\t\t// keep a separate display area to rendered formatted values\n\t\t\t// like links, currencies, HTMLs etc.\n\t\t\tthis.disp_area = this.$wrapper.find(\".control-value\").get(0);\n\t\t}\n\t}\n\tset_max_width() {\n\t\tif (this.constructor.horizontal) {\n\t\t\tthis.$wrapper.addClass(\"input-max-width\");\n\t\t}\n\t}\n\n\tread_only_because_of_fetch_from() {\n\t\treturn (\n\t\t\tthis.df.fetch_from &&\n\t\t\t!this.df.fetch_if_empty &&\n\t\t\tthis.frm?.doc?.[this.df.fetch_from.split(\".\")[0]]\n\t\t);\n\t}\n\n\t// update input value, label, description\n\t// display (show/hide/read-only),\n\t// mandatory style on refresh\n\trefresh_input() {\n\t\tvar me = this;\n\t\tvar make_input = function () {\n\t\t\tif (!me.has_input) {\n\t\t\t\tme.make_input();\n\t\t\t\tif (me.df.on_make) {\n\t\t\t\t\tme.df.on_make(me);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar update_input = function () {\n\t\t\tif (me.doctype && me.docname) {\n\t\t\t\tme.set_input(me.value);\n\t\t\t} else {\n\t\t\t\tme.set_input(me.value || null);\n\t\t\t}\n\t\t};\n\n\t\tif (me.disp_status != \"None\") {\n\t\t\t// refresh value\n\t\t\tif (me.frm) {\n\t\t\t\tme.value = frappe.model.get_value(me.doctype, me.docname, me.df.fieldname);\n\t\t\t} else if (me.doc) {\n\t\t\t\tme.value = me.doc[me.df.fieldname] || \"\";\n\t\t\t}\n\n\t\t\tlet is_fetch_from_read_only = me.read_only_because_of_fetch_from();\n\n\t\t\tif (me.can_write() && !is_fetch_from_read_only) {\n\t\t\t\tme.disp_area && $(me.disp_area).toggle(false);\n\t\t\t\t$(me.input_area).toggle(true);\n\t\t\t\tme.$input && me.$input.prop(\"disabled\", false);\n\t\t\t\tmake_input();\n\t\t\t\tupdate_input();\n\t\t\t} else {\n\t\t\t\tif (me.only_input) {\n\t\t\t\t\tmake_input();\n\t\t\t\t\tupdate_input();\n\t\t\t\t} else {\n\t\t\t\t\t$(me.input_area).toggle(false);\n\t\t\t\t\tif (me.disp_area) {\n\t\t\t\t\t\tme.set_disp_area(me.value);\n\t\t\t\t\t\t$(me.disp_area).toggle(true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tme.$input && me.$input.prop(\"disabled\", true);\n\n\t\t\t\tif (is_fetch_from_read_only) {\n\t\t\t\t\t$(me.disp_area).attr(\n\t\t\t\t\t\t\"title\",\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\"This value is fetched from {0}'s {1} field\",\n\t\t\t\t\t\t\tme.df.fetch_from.split(\".\").map((value) => __(frappe.unscrub(value)))\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tme.set_description();\n\t\t\tme.set_label();\n\t\t\tme.set_doc_url();\n\t\t\tme.set_mandatory(me.value);\n\t\t\tme.set_bold();\n\t\t\tme.set_required();\n\t\t}\n\t}\n\n\tcan_write() {\n\t\treturn this.disp_status == \"Write\";\n\t}\n\n\tset_disp_area(value) {\n\t\tif (\n\t\t\t[\"Currency\", \"Int\", \"Float\"].includes(this.df.fieldtype) &&\n\t\t\t(this.value === 0 || value === 0)\n\t\t) {\n\t\t\t// to set the 0 value in readonly for currency, int, float field\n\t\t\tvalue = 0;\n\t\t} else {\n\t\t\tvalue = this.value || value;\n\t\t}\n\t\tif ([\"Data\", \"Long Text\", \"Small Text\", \"Text\", \"Password\"].includes(this.df.fieldtype)) {\n\t\t\tvalue = frappe.utils.escape_html(value);\n\t\t}\n\t\tlet doc = this.doc || (this.frm && this.frm.doc);\n\t\tlet display_value = frappe.format(value, this.df, { no_icon: true, inline: true }, doc);\n\t\t// This is used to display formatted output AND showing values in read only fields\n\t\tthis.disp_area && $(this.disp_area).html(display_value);\n\t}\n\tset_label(label) {\n\t\tif (label) this.df.label = label;\n\n\t\tif (this.only_input || this.df.label == this._label) return;\n\n\t\tvar icon = \"\";\n\t\tthis.label_span.innerHTML =\n\t\t\t(icon ? ' ' : \"\") +\n\t\t\t\t__(this.df.label, null, this.df.parent) || \" \";\n\t\tthis._label = this.df.label;\n\t}\n\n\tset_doc_url() {\n\t\tlet unsupported_fieldtypes = frappe.model.no_value_type.filter(\n\t\t\t(x) => frappe.model.table_fields.indexOf(x) === -1\n\t\t);\n\n\t\tif (\n\t\t\t!this.df.label ||\n\t\t\t!this.df?.documentation_url ||\n\t\t\tunsupported_fieldtypes.includes(this.df.fieldtype)\n\t\t)\n\t\t\treturn;\n\n\t\tlet $help = this.$wrapper.find(\"span.help\");\n\t\t$help.empty();\n\t\t$(`\n\t\t\t${frappe.utils.icon(\"help\", \"sm\")}\n\t\t`).appendTo($help);\n\t}\n\n\tset_description(description) {\n\t\tif (description !== undefined) {\n\t\t\tthis.df.description = description;\n\t\t}\n\t\tif (this.only_input || this.df.description === this._description) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.df.description) {\n\t\t\tthis.$wrapper.find(\".help-box\").html(__(this.df.description));\n\t\t\tthis.toggle_description(true);\n\t\t} else {\n\t\t\tthis.set_empty_description();\n\t\t}\n\t\tthis._description = this.df.description;\n\t}\n\tset_new_description(description) {\n\t\tthis.$wrapper.find(\".help-box\").html(description);\n\t\tthis.toggle_description(true);\n\t}\n\tset_empty_description() {\n\t\tthis.$wrapper.find(\".help-box\").html(\"\");\n\t\tthis.toggle_description(false);\n\t}\n\tset_mandatory(value) {\n\t\t// do not set has-error class on form load\n\t\tif (this.frm && this.frm.cscript && this.frm.cscript.is_onload) return;\n\n\t\t// do not set has-error class while dialog is rendered\n\t\t// set has-error if dialog primary button is clicked\n\t\tif (this.layout && this.layout.is_dialog && !this.layout.primary_action_fulfilled) return;\n\n\t\tthis.$wrapper.toggleClass(\"has-error\", Boolean(this.df.reqd && is_null(value)));\n\t}\n\tset_invalid() {\n\t\tlet invalid = !!this.df.invalid;\n\t\tif (this.grid) {\n\t\t\tthis.$wrapper.parents(\".grid-static-col\").toggleClass(\"invalid\", invalid);\n\t\t\tthis.$input?.toggleClass(\"invalid\", invalid);\n\t\t\tthis.grid_row.columns[this.df.fieldname].is_invalid = invalid;\n\t\t} else {\n\t\t\tthis.$wrapper.toggleClass(\"has-error\", invalid);\n\t\t}\n\t}\n\tset_required() {\n\t\tthis.label_area && $(this.label_area).toggleClass(\"reqd\", Boolean(this.df.reqd));\n\t}\n\tset_bold() {\n\t\tif (this.$input) {\n\t\t\tthis.$input.toggleClass(\"bold\", !!(this.df.bold || this.df.reqd));\n\t\t}\n\t\tif (this.disp_area) {\n\t\t\t$(this.disp_area).toggleClass(\"bold\", !!(this.df.bold || this.df.reqd));\n\t\t}\n\t}\n};\n", "frappe.provide(\"frappe.phone_call\");\n\nfrappe.ui.form.ControlData = class ControlData extends frappe.ui.form.ControlInput {\n\tstatic html_element = \"input\";\n\tstatic input_type = \"text\";\n\tstatic trigger_change_on_input_event = true;\n\tmake_input() {\n\t\tif (this.$input) return;\n\n\t\tlet { html_element, input_type, input_mode } = this.constructor;\n\n\t\tthis.$input = $(\"<\" + html_element + \">\")\n\t\t\t.attr(\"type\", input_type)\n\t\t\t.attr(\"inputmode\", input_mode)\n\t\t\t.attr(\"autocomplete\", \"off\")\n\t\t\t.addClass(\"input-with-feedback form-control\")\n\t\t\t.prependTo(this.input_area);\n\n\t\tthis.$input.on(\"paste\", (e) => {\n\t\t\tlet pasted_data = frappe.utils.get_clipboard_data(e);\n\t\t\tlet maxlength = this.$input.attr(\"maxlength\");\n\t\t\tif (maxlength && pasted_data.length > maxlength) {\n\t\t\t\tlet warning_message = __(\n\t\t\t\t\t\"The value you pasted was {0} characters long. Max allowed characters is {1}.\",\n\t\t\t\t\t[cstr(pasted_data.length).bold(), cstr(maxlength).bold()]\n\t\t\t\t);\n\n\t\t\t\t// Only show edit link to users who can update the doctype\n\t\t\t\tif (this.frm && frappe.model.can_write(this.frm.doctype)) {\n\t\t\t\t\tlet doctype_edit_link = null;\n\t\t\t\t\tif (this.frm.meta.custom) {\n\t\t\t\t\t\tdoctype_edit_link = frappe.utils.get_form_link(\n\t\t\t\t\t\t\t\"DocType\",\n\t\t\t\t\t\t\tthis.frm.doctype,\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t__(\"this form\")\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdoctype_edit_link = frappe.utils.get_form_link(\n\t\t\t\t\t\t\t\"Customize Form\",\n\t\t\t\t\t\t\t\"Customize Form\",\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdoc_type: this.frm.doctype,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tlet edit_note = __(\n\t\t\t\t\t\t\"{0}: You can increase the limit for the field if required via {1}\",\n\t\t\t\t\t\t[__(\"Note\").bold(), doctype_edit_link]\n\t\t\t\t\t);\n\t\t\t\t\twarning_message += `

    ${edit_note}`;\n\t\t\t\t}\n\n\t\t\t\tfrappe.msgprint({\n\t\t\t\t\tmessage: warning_message,\n\t\t\t\t\tindicator: \"orange\",\n\t\t\t\t\ttitle: __(\"Data Clipped\"),\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tthis.set_input_attributes();\n\t\tthis.input = this.$input.get(0);\n\t\tthis.has_input = true;\n\t\tthis.bind_change_event();\n\t\tthis.setup_autoname_check();\n\t\tthis.setup_copy_button();\n\t\tif (this.df.options == \"URL\") {\n\t\t\tthis.setup_url_field();\n\t\t}\n\n\t\tif (this.df.options == \"Barcode\") {\n\t\t\tthis.setup_barcode_field();\n\t\t}\n\t}\n\n\tsetup_url_field() {\n\t\tthis.$wrapper.find(\".control-input\").append(\n\t\t\t`\n\t\t\t\t\n\t\t\t\t\t${frappe.utils.icon(\"link-url\", \"sm\")}\n\t\t\t\t\n\t\t\t`\n\t\t);\n\n\t\tthis.$link = this.$wrapper.find(\".link-btn\");\n\t\tthis.$link_open = this.$link.find(\".btn-open\");\n\n\t\tthis.$input.on(\"focus\", () => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tlet inputValue = this.get_input_value();\n\n\t\t\t\tif (inputValue && validate_url(inputValue)) {\n\t\t\t\t\tthis.$link.toggle(true);\n\t\t\t\t\tthis.$link_open.attr(\"href\", this.get_input_value());\n\t\t\t\t}\n\t\t\t}, 500);\n\t\t});\n\n\t\tthis.$input.bind(\"input\", () => {\n\t\t\tlet inputValue = this.get_input_value();\n\n\t\t\tif (inputValue && validate_url(inputValue)) {\n\t\t\t\tthis.$link.toggle(true);\n\t\t\t\tthis.$link_open.attr(\"href\", this.get_input_value());\n\t\t\t} else {\n\t\t\t\tthis.$link.toggle(false);\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"blur\", () => {\n\t\t\t// if this disappears immediately, the user's click\n\t\t\t// does not register, hence timeout\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.$link.toggle(false);\n\t\t\t}, 500);\n\t\t});\n\t}\n\n\tsetup_copy_button() {\n\t\tif (this.df.with_copy_button) {\n\t\t\tthis.$wrapper\n\t\t\t\t.find(\".control-input\")\n\t\t\t\t.append(\n\t\t\t\t\t``\n\t\t\t\t)\n\t\t\t\t.find(\".action-btn\")\n\t\t\t\t.click(() => {\n\t\t\t\t\tfrappe.utils.copy_to_clipboard(this.value);\n\t\t\t\t});\n\t\t}\n\t}\n\n\tsetup_barcode_field() {\n\t\tthis.$wrapper.find(\".control-input\").append(\n\t\t\t`\n\t\t\t\t\n\t\t\t\t\t${frappe.utils.icon(\"scan\", \"sm\")}\n\t\t\t\t\n\t\t\t`\n\t\t);\n\n\t\tthis.$scan_btn = this.$wrapper.find(\".link-btn\");\n\t\tthis.$scan_btn.toggle(true);\n\n\t\tconst me = this;\n\t\tthis.$scan_btn.on(\"click\", \"a\", () => {\n\t\t\tnew frappe.ui.Scanner({\n\t\t\t\tdialog: true,\n\t\t\t\tmultiple: false,\n\t\t\t\ton_scan(data) {\n\t\t\t\t\tif (data && data.result && data.result.text) {\n\t\t\t\t\t\tme.set_value(data.result.text);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tbind_change_event() {\n\t\tconst change_handler = (e) => {\n\t\t\tif (this.change) this.change(e);\n\t\t\telse {\n\t\t\t\tlet value = this.get_input_value();\n\t\t\t\tthis.parse_validate_and_set_in_model(value, e);\n\t\t\t}\n\t\t};\n\t\tthis.$input.on(\"change\", change_handler);\n\t\tif (this.constructor.trigger_change_on_input_event && !this.in_grid()) {\n\t\t\t// debounce to avoid repeated validations on value change\n\t\t\tthis.$input.on(\"input\", frappe.utils.debounce(change_handler, 500));\n\t\t}\n\t}\n\tsetup_autoname_check() {\n\t\tif (!this.df.parent) return;\n\t\tthis.meta = frappe.get_meta(this.df.parent);\n\t\tif (\n\t\t\tthis.meta &&\n\t\t\t((this.meta.autoname &&\n\t\t\t\tthis.meta.autoname.substr(0, 6) === \"field:\" &&\n\t\t\t\tthis.meta.autoname.substr(6) === this.df.fieldname) ||\n\t\t\t\tthis.df.fieldname === \"__newname\")\n\t\t) {\n\t\t\tthis.$input.on(\"keyup\", () => {\n\t\t\t\tthis.set_description(\"\");\n\t\t\t\tif (this.doc && this.doc.__islocal) {\n\t\t\t\t\t// check after 1 sec\n\t\t\t\t\tlet timeout = setTimeout(() => {\n\t\t\t\t\t\t// clear any pending calls\n\t\t\t\t\t\tif (this.last_check) clearTimeout(this.last_check);\n\n\t\t\t\t\t\t// check if name exists\n\t\t\t\t\t\tfrappe.db.get_value(\n\t\t\t\t\t\t\tthis.doctype,\n\t\t\t\t\t\t\tthis.$input.val(),\n\t\t\t\t\t\t\t\"name\",\n\t\t\t\t\t\t\t(val) => {\n\t\t\t\t\t\t\t\tif (val && val.name) {\n\t\t\t\t\t\t\t\t\tthis.set_description(\n\t\t\t\t\t\t\t\t\t\t__(\"{0} already exists. Select another name\", [val.name])\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.doc.parenttype\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.last_check = null;\n\t\t\t\t\t}, 1000);\n\t\t\t\t\tthis.last_check = timeout;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tset_input_attributes() {\n\t\tif (\n\t\t\t[\"Data\", \"Link\", \"Dynamic Link\", \"Password\", \"Select\", \"Read Only\"].includes(\n\t\t\t\tthis.df.fieldtype\n\t\t\t)\n\t\t) {\n\t\t\tif (this.frm?.meta?.issingle) {\n\t\t\t\t// singles dont have any \"real\" length requirements\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.$input.attr(\"maxlength\", this.df.length || 140);\n\t\t}\n\n\t\tthis.$input\n\t\t\t.attr(\"data-fieldtype\", this.df.fieldtype)\n\t\t\t.attr(\"data-fieldname\", this.df.fieldname)\n\t\t\t.attr(\"placeholder\", this.df.placeholder || \"\");\n\t\tif (this.doctype) {\n\t\t\tthis.$input.attr(\"data-doctype\", this.doctype);\n\t\t}\n\t\tif (this.df.input_css) {\n\t\t\tthis.$input.css(this.df.input_css);\n\t\t}\n\t\tif (this.df.input_class) {\n\t\t\tthis.$input.addClass(this.df.input_class);\n\t\t}\n\t}\n\tset_input(value) {\n\t\tthis.last_value = this.value;\n\t\tthis.value = value;\n\t\tthis.set_formatted_input(value);\n\t\tthis.set_disp_area(value);\n\t\tthis.set_mandatory && this.set_mandatory(value);\n\t}\n\tset_formatted_input(value) {\n\t\tthis.$input && this.$input.val(this.format_for_input(value));\n\t}\n\tget_input_value() {\n\t\treturn this.$input ? this.$input.val() : undefined;\n\t}\n\tformat_for_input(val) {\n\t\treturn val == null ? \"\" : val;\n\t}\n\tvalidate(v) {\n\t\tif (!v) {\n\t\t\treturn \"\";\n\t\t}\n\t\tif (this.df.is_filter) {\n\t\t\treturn v;\n\t\t}\n\t\tif (this.df.options == \"Phone\") {\n\t\t\tthis.df.invalid = !validate_phone(v);\n\t\t\treturn v;\n\t\t} else if (this.df.options == \"Name\") {\n\t\t\tthis.df.invalid = !validate_name(v);\n\t\t\treturn v;\n\t\t} else if (this.df.options == \"Email\") {\n\t\t\tvar email_list = frappe.utils.split_emails(v);\n\t\t\tif (!email_list) {\n\t\t\t\treturn \"\";\n\t\t\t} else {\n\t\t\t\tlet email_invalid = false;\n\t\t\t\temail_list.forEach(function (email) {\n\t\t\t\t\tif (!validate_email(email)) {\n\t\t\t\t\t\temail_invalid = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.df.invalid = email_invalid;\n\t\t\t\treturn v;\n\t\t\t}\n\t\t} else if (this.df.options == \"URL\") {\n\t\t\tthis.df.invalid = !validate_url(v);\n\t\t\treturn v;\n\t\t} else {\n\t\t\treturn v;\n\t\t}\n\t}\n\ttoggle_container_scroll(el_class, scroll_class, add = false) {\n\t\tlet el = this.$input.parents(el_class)[0];\n\t\tif (el) $(el).toggleClass(scroll_class, add);\n\t}\n\tin_grid() {\n\t\treturn this.grid || (this.layout && this.layout.grid);\n\t}\n};\n\nfrappe.ui.form.ControlReadOnly = frappe.ui.form.ControlData;\n", "import \"./base_control\";\nimport \"./base_input\";\nimport \"./data\";\nimport \"./int\";\nimport \"./float\";\nimport \"./currency\";\nimport \"./date\";\nimport \"./time\";\nimport \"./datetime\";\nimport \"./date_range\";\nimport \"./select\";\nimport \"./link\";\nimport \"./dynamic_link\";\nimport \"./text\";\nimport \"./code\";\nimport \"./text_editor\";\nimport \"./comment\";\nimport \"./check\";\nimport \"./image\";\nimport \"./attach\";\nimport \"./attach_image\";\nimport \"./table\";\nimport \"./color\";\nimport \"./signature\";\nimport \"./password\";\nimport \"./button\";\nimport \"./html\";\nimport \"./markdown_editor\";\nimport \"./html_editor\";\nimport \"./heading\";\nimport \"./autocomplete\";\nimport \"./barcode\";\nimport \"./geolocation\";\nimport \"./multiselect\";\nimport \"./multicheck\";\nimport \"./table_multiselect\";\nimport \"./multiselect_pills\";\nimport \"./multiselect_list\";\nimport \"./rating\";\nimport \"./duration\";\nimport \"./icon\";\nimport \"./phone\";\nimport \"./json\";\n\nfrappe.ui.form.make_control = function (opts) {\n\tvar control_class_name = \"Control\" + opts.df.fieldtype.replace(/ /g, \"\");\n\tif (frappe.ui.form[control_class_name]) {\n\t\treturn new frappe.ui.form[control_class_name](opts);\n\t} else {\n\t\tconsole.log(\"Invalid Control Name: \" + opts.df.fieldtype);\n\t}\n};\n", "frappe.ui.form.ControlFloat = class ControlFloat extends frappe.ui.form.ControlInt {\n\tparse(value) {\n\t\tvalue = this.eval_expression(value);\n\t\treturn isNaN(parseFloat(value)) ? null : flt(value, this.get_precision());\n\t}\n\n\tformat_for_input(value) {\n\t\tvar number_format;\n\t\tif (this.df.fieldtype === \"Float\" && this.df.options && this.df.options.trim()) {\n\t\t\tnumber_format = this.get_number_format();\n\t\t}\n\t\tvar formatted_value = format_number(value, number_format, this.get_precision());\n\t\treturn isNaN(Number(value)) ? \"\" : formatted_value;\n\t}\n\n\tget_number_format() {\n\t\tvar currency = frappe.meta.get_field_currency(this.df, this.get_doc());\n\t\treturn get_number_format(currency);\n\t}\n\n\tget_precision() {\n\t\t// round based on field precision or float precision, else don't round\n\t\treturn this.df.precision || cint(frappe.boot.sysdefaults.float_precision, null);\n\t}\n};\n\nfrappe.ui.form.ControlPercent = frappe.ui.form.ControlFloat;\n", "frappe.ui.form.ControlCurrency = class ControlCurrency extends frappe.ui.form.ControlFloat {\n\tformat_for_input(value) {\n\t\tvar formatted_value = format_number(value, this.get_number_format(), this.get_precision());\n\t\treturn isNaN(Number(value)) ? \"\" : formatted_value;\n\t}\n\n\tget_precision() {\n\t\t// always round based on field precision or currency's precision\n\t\t// this method is also called in this.parse()\n\t\tif (typeof this.df.precision != \"number\" && !this.df.precision) {\n\t\t\tif (frappe.boot.sysdefaults.currency_precision) {\n\t\t\t\tthis.df.precision = frappe.boot.sysdefaults.currency_precision;\n\t\t\t} else {\n\t\t\t\tthis.df.precision = get_number_format_info(this.get_number_format()).precision;\n\t\t\t}\n\t\t}\n\n\t\treturn this.df.precision;\n\t}\n};\n", "frappe.ui.form.ControlDate = class ControlDate extends frappe.ui.form.ControlData {\n\tstatic trigger_change_on_input_event = false;\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.make_picker();\n\t}\n\tmake_picker() {\n\t\tthis.set_date_options();\n\t\tthis.set_datepicker();\n\t\tthis.set_t_for_today();\n\t}\n\tset_formatted_input(value) {\n\t\tif (value === \"Today\") {\n\t\t\tvalue = this.get_now_date();\n\t\t}\n\n\t\tsuper.set_formatted_input(value);\n\t\tif (this.timepicker_only) return;\n\t\tif (!this.datepicker) return;\n\t\tif (!value) {\n\t\t\tthis.datepicker.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tlet should_refresh = this.last_value && this.last_value !== value;\n\n\t\tif (!should_refresh) {\n\t\t\tif (this.datepicker.selectedDates.length > 0) {\n\t\t\t\t// if date is selected but different from value, refresh\n\t\t\t\tconst selected_date = moment(this.datepicker.selectedDates[0]).format(\n\t\t\t\t\tthis.date_format\n\t\t\t\t);\n\n\t\t\t\tshould_refresh = selected_date !== value;\n\t\t\t} else {\n\t\t\t\t// if datepicker has no selected date, refresh\n\t\t\t\tshould_refresh = true;\n\t\t\t}\n\t\t}\n\n\t\tif (should_refresh) {\n\t\t\tthis.datepicker.selectDate(frappe.datetime.str_to_obj(value));\n\t\t}\n\t}\n\tset_date_options() {\n\t\t// webformTODO:\n\t\tlet sysdefaults = frappe.boot.sysdefaults;\n\n\t\tlet lang = \"en\";\n\t\tfrappe.boot.user && (lang = frappe.boot.user.language);\n\t\tif (!$.fn.datepicker.language[lang]) {\n\t\t\tlang = \"en\";\n\t\t}\n\n\t\tlet date_format =\n\t\t\tsysdefaults && sysdefaults.date_format ? sysdefaults.date_format : \"yyyy-mm-dd\";\n\n\t\tthis.today_text = __(\"Today\");\n\t\tthis.date_format = frappe.defaultDateFormat;\n\t\tthis.datepicker_options = {\n\t\t\tlanguage: lang,\n\t\t\tautoClose: true,\n\t\t\ttodayButton: true,\n\t\t\tdateFormat: date_format,\n\t\t\tstartDate: this.get_start_date(),\n\t\t\tkeyboardNav: false,\n\t\t\tminDate: this.df.min_date,\n\t\t\tmaxDate: this.df.max_date,\n\t\t\tfirstDay: frappe.datetime.get_first_day_of_the_week_index(),\n\t\t\tonSelect: () => {\n\t\t\t\tthis.$input.trigger(\"change\");\n\t\t\t},\n\t\t\tonShow: () => {\n\t\t\t\tthis.datepicker.$datepicker\n\t\t\t\t\t.find(\".datepicker--button:visible\")\n\t\t\t\t\t.text(this.today_text);\n\n\t\t\t\tthis.update_datepicker_position();\n\t\t\t},\n\t\t\t...this.get_df_options(),\n\t\t};\n\t}\n\n\tget_start_date() {\n\t\treturn this.get_now_date();\n\t}\n\n\tset_datepicker() {\n\t\tthis.$input.datepicker(this.datepicker_options);\n\t\tthis.datepicker = this.$input.data(\"datepicker\");\n\n\t\t// today button didn't work as expected,\n\t\t// so explicitly bind the event\n\t\tthis.datepicker.$datepicker.find('[data-action=\"today\"]').click(() => {\n\t\t\tthis.datepicker.selectDate(this.get_now_date());\n\t\t\tthis.datepicker.hide();\n\t\t});\n\t}\n\tupdate_datepicker_position() {\n\t\tif (!this.frm) return;\n\t\t// show datepicker above or below the input\n\t\t// based on scroll position\n\t\t// We have to bodge around the timepicker getting its position\n\t\t// wrong by 42px when opening upwards.\n\t\tconst $header = $(\".page-head\");\n\t\tconst header_bottom = $header.position().top + $header.outerHeight();\n\t\tconst picker_height = this.datepicker.$datepicker.outerHeight() + 12;\n\t\tconst picker_top = this.$input.offset().top - $(window).scrollTop() - picker_height;\n\n\t\tvar position = \"top left\";\n\t\t// 12 is the default datepicker.opts[offset]\n\t\tif (picker_top <= header_bottom) {\n\t\t\tposition = \"bottom left\";\n\t\t\tif (this.timepicker_only) this.datepicker.opts[\"offset\"] = 12;\n\t\t} else {\n\t\t\t// To account for 42px incorrect positioning\n\t\t\tif (this.timepicker_only) this.datepicker.opts[\"offset\"] = -30;\n\t\t}\n\n\t\tthis.datepicker.update(\"position\", position);\n\t}\n\tget_now_date() {\n\t\treturn frappe.datetime\n\t\t\t.convert_to_system_tz(frappe.datetime.now_date(true), false)\n\t\t\t.toDate();\n\t}\n\tset_t_for_today() {\n\t\tvar me = this;\n\t\tthis.$input.on(\"keydown\", function (e) {\n\t\t\tif (e.which === 84) {\n\t\t\t\t// 84 === t\n\t\t\t\tif (me.df.fieldtype == \"Date\") {\n\t\t\t\t\tme.set_value(frappe.datetime.nowdate());\n\t\t\t\t}\n\t\t\t\tif (me.df.fieldtype == \"Datetime\") {\n\t\t\t\t\tme.set_value(frappe.datetime.now_datetime());\n\t\t\t\t}\n\t\t\t\tif (me.df.fieldtype == \"Time\") {\n\t\t\t\t\tme.set_value(frappe.datetime.now_time());\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t}\n\n\teval_expression(value, type) {\n\t\tif (!value || !type) {\n\t\t\treturn value;\n\t\t}\n\t\tconst parsed_components = value.match(/[\\+\\-]\\s*\\d*\\.?\\d+\\s*[a-zA-Z]/g);\n\n\t\tlet system_fmt;\n\t\tswitch (type) {\n\t\t\tcase \"date\":\n\t\t\t\tsystem_fmt = \"YYYY-MM-DD\";\n\t\t\t\tvalue = frappe.datetime.user_to_str(value, false);\n\t\t\t\tbreak;\n\n\t\t\tcase \"time\":\n\t\t\t\tsystem_fmt = \"HH:mm:ss\";\n\t\t\t\tvalue = frappe.datetime.user_to_str(value, true);\n\t\t\t\tbreak;\n\n\t\t\tcase \"datetime\":\n\t\t\t\tsystem_fmt = \"YYYY-MM-DD HH:mm:ss\";\n\t\t\t\tvalue = frappe.datetime.user_to_str(value, false);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!parsed_components) {\n\t\t\treturn value;\n\t\t}\n\n\t\tlet time_to_add = {};\n\t\tparsed_components.forEach((component) => {\n\t\t\tlet operator = component.match(/[\\+\\-]/)[0];\n\t\t\tlet number = flt(component.match(/\\d*\\.?\\d+/)[0]);\n\t\t\tlet unit = component.match(/[a-zA-Z]+/)[0];\n\t\t\tlet period;\n\n\t\t\tif (operator === \"-\") {\n\t\t\t\tnumber = -number;\n\t\t\t}\n\n\t\t\tif ([\"datetime\", \"date\"].includes(type)) {\n\t\t\t\tif (unit.toLowerCase() === \"d\") {\n\t\t\t\t\tperiod = \"days\";\n\t\t\t\t} else if (unit === \"M\") {\n\t\t\t\t\tperiod = \"months\";\n\t\t\t\t} else if (unit.toLowerCase() === \"y\") {\n\t\t\t\t\tperiod = \"years\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ([\"datetime\", \"time\"].includes(type)) {\n\t\t\t\tif (unit.toLowerCase() === \"h\") {\n\t\t\t\t\tperiod = \"hours\";\n\t\t\t\t} else if (unit === \"m\") {\n\t\t\t\t\tperiod = \"minutes\";\n\t\t\t\t} else if (unit.toLowerCase() === \"s\") {\n\t\t\t\t\tperiod = \"seconds\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (period) {\n\t\t\t\ttime_to_add[period] = (time_to_add[period] || 0) + number;\n\t\t\t}\n\t\t});\n\n\t\tif (Object.keys(time_to_add).length) {\n\t\t\tvalue = moment(value, system_fmt).add(time_to_add).format(system_fmt);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tparse(value) {\n\t\tif (value) {\n\t\t\tif (value == \"Invalid date\") {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\treturn this.eval_expression(value, \"date\");\n\t\t}\n\t}\n\tformat_for_input(value) {\n\t\tif (value) {\n\t\t\treturn frappe.datetime.str_to_user(value, false, true);\n\t\t}\n\t\treturn \"\";\n\t}\n\tvalidate(value) {\n\t\tif (value && !frappe.datetime.validate(value)) {\n\t\t\tlet sysdefaults = frappe.sys_defaults;\n\t\t\tlet date_format =\n\t\t\t\tsysdefaults && sysdefaults.date_format ? sysdefaults.date_format : \"yyyy-mm-dd\";\n\t\t\tfrappe.msgprint(__(\"Date {0} must be in format: {1}\", [value, date_format]));\n\t\t\treturn \"\";\n\t\t}\n\t\treturn value;\n\t}\n\tget_df_options() {\n\t\tlet df_options = this.df.options;\n\t\tif (!df_options) return {};\n\n\t\tlet options = {};\n\t\tif (typeof df_options === \"string\") {\n\t\t\ttry {\n\t\t\t\toptions = JSON.parse(df_options);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn(`Invalid JSON in options of \"${this.df.fieldname}\"`);\n\t\t\t}\n\t\t} else if (typeof df_options === \"object\") {\n\t\t\toptions = df_options;\n\t\t}\n\t\treturn options;\n\t}\n};\n", "frappe.ui.form.ControlTime = class ControlTime extends frappe.ui.form.ControlDate {\n\tset_formatted_input(value) {\n\t\tsuper.set_formatted_input(value);\n\t}\n\tmake_input() {\n\t\tthis.timepicker_only = true;\n\t\tsuper.make_input();\n\t}\n\tmake_picker() {\n\t\tthis.set_time_options();\n\t\tthis.set_datepicker();\n\t\tthis.refresh();\n\t}\n\tset_time_options() {\n\t\tlet sysdefaults = frappe.boot.sysdefaults;\n\n\t\tlet time_format =\n\t\t\tsysdefaults && sysdefaults.time_format ? sysdefaults.time_format : \"HH:mm:ss\";\n\n\t\tthis.time_format = frappe.defaultTimeFormat;\n\t\tthis.datepicker_options = {\n\t\t\tlanguage: \"en\",\n\t\t\ttimepicker: true,\n\t\t\tonlyTimepicker: true,\n\t\t\ttimeFormat: time_format.toLowerCase().replace(\"mm\", \"ii\"),\n\t\t\tstartDate: frappe.datetime.now_time(true),\n\t\t\tonSelect: () => {\n\t\t\t\t// ignore micro seconds\n\t\t\t\tif (\n\t\t\t\t\tmoment(this.get_value(), time_format).format(\"HH:mm:ss\") !=\n\t\t\t\t\tmoment(this.value, time_format).format(\"HH:mm:ss\")\n\t\t\t\t) {\n\t\t\t\t\tthis.$input.trigger(\"change\");\n\t\t\t\t}\n\t\t\t},\n\t\t\tonShow: () => {\n\t\t\t\t$(\".datepicker--button:visible\").text(__(\"Now\"));\n\n\t\t\t\tthis.update_datepicker_position();\n\t\t\t},\n\t\t\tkeyboardNav: false,\n\t\t\ttodayButton: true,\n\t\t};\n\t}\n\tset_input(value) {\n\t\tsuper.set_input(value);\n\t\tif (!this.datepicker) {\n\t\t\treturn;\n\t\t}\n\t\tif (!value) {\n\t\t\tthis.datepicker.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tlet should_refresh = this.last_value && this.last_value !== value;\n\t\tlet time_format = frappe.sys_defaults.time_format || \"HH:mm:ss\";\n\t\tif (!should_refresh) {\n\t\t\tif (this.datepicker.selectedDates.length > 0) {\n\t\t\t\t// if time is selected but different from value, refresh\n\t\t\t\tconst selected_date = moment(this.datepicker.selectedDates[0]).format(\n\t\t\t\t\tthis.time_format\n\t\t\t\t);\n\n\t\t\t\tshould_refresh = selected_date !== value;\n\t\t\t} else {\n\t\t\t\t// if datepicker has no selected time, refresh\n\t\t\t\tshould_refresh = true;\n\t\t\t}\n\t\t}\n\n\t\tif (should_refresh) {\n\t\t\tthis.datepicker.selectDate(\n\t\t\t\tfrappe.datetime.moment_to_date_obj(moment(value, time_format))\n\t\t\t);\n\t\t}\n\t}\n\tset_datepicker() {\n\t\tthis.$input.datepicker(this.datepicker_options);\n\t\tthis.datepicker = this.$input.data(\"datepicker\");\n\n\t\tthis.datepicker.$datepicker.find('[data-action=\"today\"]').click(() => {\n\t\t\tthis.datepicker.selectDate(frappe.datetime.now_time(true));\n\t\t\tthis.datepicker.hide();\n\t\t});\n\t\tif (this.datepicker.opts.timeFormat.indexOf(\"s\") == -1) {\n\t\t\t// No seconds in time format\n\t\t\tconst $tp = this.datepicker.timepicker;\n\t\t\t$tp.$seconds.parent().css(\"display\", \"none\");\n\t\t\t$tp.$secondsText.css(\"display\", \"none\");\n\t\t\t$tp.$secondsText.prev().css(\"display\", \"none\");\n\t\t}\n\t}\n\tset_description() {\n\t\tconst { description } = this.df;\n\t\tconst { time_zone } = frappe.sys_defaults;\n\t\tif (!frappe.datetime.is_system_time_zone()) {\n\t\t\tif (!description) {\n\t\t\t\tthis.df.description = time_zone;\n\t\t\t} else if (!description.includes(time_zone)) {\n\t\t\t\tthis.df.description += \"
    \" + time_zone;\n\t\t\t}\n\t\t}\n\t\tsuper.set_description();\n\t}\n\tparse(value) {\n\t\tif (value) {\n\t\t\tif (value == \"Invalid date\") {\n\t\t\t\tvalue = \"\";\n\t\t\t}\n\t\t\treturn this.eval_expression(value, \"time\");\n\t\t}\n\t}\n\tformat_for_input(value) {\n\t\tif (value) {\n\t\t\treturn frappe.datetime.str_to_user(value, true);\n\t\t}\n\t\treturn \"\";\n\t}\n\tvalidate(value) {\n\t\tif (value && !frappe.datetime.validate(value)) {\n\t\t\tlet sysdefaults = frappe.sys_defaults;\n\t\t\tlet time_format =\n\t\t\t\tsysdefaults && sysdefaults.time_format ? sysdefaults.time_format : \"HH:mm:ss\";\n\t\t\tfrappe.msgprint(__(\"Time {0} must be in format: {1}\", [value, time_format]));\n\t\t\treturn \"\";\n\t\t}\n\t\treturn value;\n\t}\n};\n", "frappe.ui.form.ControlDatetime = class ControlDatetime extends frappe.ui.form.ControlDate {\n\tset_formatted_input(value) {\n\t\tif (this.timepicker_only) return;\n\t\tif (!this.datepicker) return;\n\t\tif (!value) {\n\t\t\tthis.datepicker.clear();\n\t\t\treturn;\n\t\t} else if (value.toLowerCase() === \"today\") {\n\t\t\tvalue = this.get_now_date();\n\t\t} else if (value.toLowerCase() === \"now\") {\n\t\t\tvalue = frappe.datetime.now_datetime();\n\t\t}\n\t\tvalue = this.format_for_input(value);\n\t\tthis.$input && this.$input.val(value);\n\t\tthis.datepicker.selectDate(frappe.datetime.user_to_obj(value));\n\t}\n\n\tget_start_date() {\n\t\tthis.value = this.value == null || this.value == \"\" ? undefined : this.value;\n\t\tlet value = frappe.datetime.convert_to_user_tz(this.value);\n\t\treturn frappe.datetime.str_to_obj(value);\n\t}\n\tset_date_options() {\n\t\tsuper.set_date_options();\n\t\tthis.today_text = __(\"Now\");\n\t\tlet sysdefaults = frappe.boot.sysdefaults;\n\t\tthis.date_format = frappe.defaultDatetimeFormat;\n\t\tlet time_format =\n\t\t\tsysdefaults && sysdefaults.time_format ? sysdefaults.time_format : \"HH:mm:ss\";\n\t\t$.extend(this.datepicker_options, {\n\t\t\ttimepicker: true,\n\t\t\ttimeFormat: time_format.toLowerCase().replace(\"mm\", \"ii\"),\n\t\t});\n\t}\n\tget_now_date() {\n\t\treturn frappe.datetime.now_datetime(true);\n\t}\n\tparse(value) {\n\t\tif (value) {\n\t\t\tvalue = this.eval_expression(value, \"datetime\");\n\n\t\t\tif (!frappe.datetime.is_system_time_zone()) {\n\t\t\t\tvalue = frappe.datetime.convert_to_system_tz(value, true);\n\t\t\t}\n\n\t\t\tif (value == \"Invalid date\") {\n\t\t\t\tvalue = \"\";\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\tformat_for_input(value) {\n\t\tif (!value) return \"\";\n\t\treturn frappe.datetime.str_to_user(value, false);\n\t}\n\tset_description() {\n\t\tconst description = this.df.description;\n\t\tconst time_zone = this.get_user_time_zone();\n\n\t\tif (!this.df.hide_timezone) {\n\t\t\t// Always show the timezone when rendering the Datetime field since the datetime value will\n\t\t\t// always be in system_time_zone rather then local time.\n\n\t\t\tif (!description) {\n\t\t\t\tthis.df.description = time_zone;\n\t\t\t} else if (!description.includes(time_zone)) {\n\t\t\t\tthis.df.description += \"
    \" + time_zone;\n\t\t\t}\n\t\t}\n\t\tsuper.set_description();\n\t}\n\tget_user_time_zone() {\n\t\treturn frappe.boot.time_zone ? frappe.boot.time_zone.user : frappe.sys_defaults.time_zone;\n\t}\n\tset_datepicker() {\n\t\tsuper.set_datepicker();\n\t\tif (this.datepicker.opts.timeFormat.indexOf(\"s\") == -1) {\n\t\t\t// No seconds in time format\n\t\t\tconst $tp = this.datepicker.timepicker;\n\t\t\t$tp.$seconds.parent().css(\"display\", \"none\");\n\t\t\t$tp.$secondsText.css(\"display\", \"none\");\n\t\t\t$tp.$secondsText.prev().css(\"display\", \"none\");\n\t\t}\n\t}\n\n\tget_model_value() {\n\t\tlet value = super.get_model_value();\n\t\tif (!value && !this.doc) {\n\t\t\tvalue = this.last_value;\n\t\t}\n\t\treturn !value ? \"\" : frappe.datetime.get_datetime_as_string(value);\n\t}\n};\n", "frappe.ui.form.ControlDateRange = class ControlDateRange extends frappe.ui.form.ControlData {\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.set_date_options();\n\t\tthis.set_datepicker();\n\t\tthis.refresh();\n\t}\n\tset_date_options() {\n\t\tvar me = this;\n\n\t\tlet lang = frappe.boot?.user?.language;\n\t\tthis.datepicker_options = {\n\t\t\tlanguage: $.fn.datepicker.language[lang] ? lang : \"en\",\n\t\t\trange: true,\n\t\t\tautoClose: true,\n\t\t\ttoggleSelected: false,\n\t\t\tfirstDay: frappe.datetime.get_first_day_of_the_week_index(),\n\t\t};\n\t\tthis.datepicker_options.dateFormat = frappe.boot.sysdefaults.date_format || \"yyyy-mm-dd\";\n\t\tthis.datepicker_options.onSelect = function () {\n\t\t\tme.$input.trigger(\"change\");\n\t\t};\n\t}\n\tset_datepicker() {\n\t\tthis.$input.datepicker(this.datepicker_options);\n\t\tthis.datepicker = this.$input.data(\"datepicker\");\n\t}\n\tset_input(value, value2) {\n\t\tthis.last_value = this.value;\n\t\tif (value && value2) {\n\t\t\tthis.value = [value, value2];\n\t\t} else {\n\t\t\tthis.value = value;\n\t\t}\n\t\tif (this.value) {\n\t\t\tlet formatted = this.format_for_input(this.value[0], this.value[1]);\n\t\t\tthis.$input && this.$input.val(formatted);\n\t\t} else {\n\t\t\tthis.$input && this.$input.val(\"\");\n\t\t}\n\t\tthis.set_disp_area(value || \"\");\n\t\tthis.set_mandatory && this.set_mandatory(value);\n\t}\n\tparse(value) {\n\t\tif (value == undefined || typeof value == \"object\") return value;\n\n\t\t// replace the separator (which can be in user language) with comma\n\t\tconst to = __(\"{0} to {1}\").replace(\"{0}\", \"\").replace(\"{1}\", \"\");\n\t\tvalue = value && value.replace(to, \",\");\n\n\t\tif (value && value.includes(\",\")) {\n\t\t\tvar vals = value.split(\",\");\n\t\t\tvar from_date = moment(frappe.datetime.user_to_obj(vals[0])).format(\"YYYY-MM-DD\");\n\t\t\tvar to_date = moment(frappe.datetime.user_to_obj(vals[vals.length - 1])).format(\n\t\t\t\t\"YYYY-MM-DD\"\n\t\t\t);\n\t\t\treturn [from_date, to_date];\n\t\t}\n\t}\n\tformat_for_input(value1, value2) {\n\t\tif (value1 && value2) {\n\t\t\tvalue1 = frappe.datetime.str_to_user(value1, false, true);\n\t\t\tvalue2 = frappe.datetime.str_to_user(value2, false, true);\n\t\t\treturn __(\"{0} to {1}\", [value1, value2]);\n\t\t}\n\t\treturn \"\";\n\t}\n};\n", "frappe.ui.form.ControlSelect = class ControlSelect extends frappe.ui.form.ControlData {\n\tstatic html_element = \"select\";\n\tstatic trigger_change_on_input_event = false;\n\tmake_input() {\n\t\tsuper.make_input();\n\n\t\tconst is_xs_input = this.df.input_class && this.df.input_class.includes(\"input-xs\");\n\t\tthis.set_icon(is_xs_input);\n\t\tthis.df.placeholder && this.set_placeholder(is_xs_input);\n\n\t\tthis.$input.addClass(\"ellipsis\");\n\t\tthis.set_options();\n\t}\n\tset_icon(is_xs_input) {\n\t\tconst select_icon_html = `
    \n\t\t\t\t${frappe.utils.icon(\"select\", is_xs_input ? \"xs\" : \"sm\")}\n\t\t\t
    `;\n\t\tif (this.only_input) {\n\t\t\tthis.$wrapper.append(select_icon_html);\n\t\t} else {\n\t\t\tthis.$wrapper\n\t\t\t\t.find(\".control-input\")\n\t\t\t\t.addClass(\"flex align-center\")\n\t\t\t\t.append(select_icon_html);\n\t\t}\n\t}\n\tset_placeholder(is_xs_input) {\n\t\tconst placeholder_html = `
    \n\t\t\t\t${this.df.placeholder}\n\t\t\t
    `;\n\t\tif (this.only_input) {\n\t\t\tthis.$wrapper.append(placeholder_html);\n\t\t} else {\n\t\t\tthis.$wrapper.find(\".control-input\").append(placeholder_html);\n\t\t}\n\t\tthis.toggle_placeholder();\n\t\tthis.$input && this.$input.on(\"select-change\", () => this.toggle_placeholder());\n\t}\n\tset_formatted_input(value) {\n\t\t// refresh options first - (new ones??)\n\t\tif (value == null) value = \"\";\n\t\tthis.set_options(value);\n\n\t\t// set in the input element\n\t\tsuper.set_formatted_input(value);\n\n\t\t// check if the value to be set is selected\n\t\tvar input_value = \"\";\n\t\tif (this.$input) {\n\t\t\tinput_value = this.$input.val();\n\t\t}\n\n\t\tif (value && input_value && value !== input_value) {\n\t\t\t// trying to set a non-existant value\n\t\t\t// model value must be same as whatever the input is\n\t\t\tthis.set_model_value(input_value);\n\t\t}\n\t}\n\tset_options(value) {\n\t\t// reset options, if something new is set\n\t\tvar options = this.df.options || [];\n\n\t\tif (typeof this.df.options === \"string\") {\n\t\t\toptions = this.df.options.split(\"\\n\");\n\t\t}\n\n\t\t// nothing changed\n\t\tif (JSON.stringify(options) === this.last_options) {\n\t\t\treturn;\n\t\t}\n\t\tthis.last_options = JSON.stringify(options);\n\n\t\tif (this.$input) {\n\t\t\tvar selected = this.$input.find(\":selected\").val();\n\t\t\tthis.$input.empty();\n\t\t\tfrappe.ui.form.add_options(\n\t\t\t\tthis.$input,\n\t\t\t\toptions || [],\n\t\t\t\tthis.df.sort_options,\n\t\t\t\tthis.df.context || this.df.parent || this.doctype\n\t\t\t);\n\n\t\t\tif (value === undefined && selected) {\n\t\t\t\tthis.$input.val(selected);\n\t\t\t}\n\t\t}\n\t}\n\tget_file_attachment_list() {\n\t\tif (!this.frm) return;\n\t\tvar fl = frappe.model.docinfo[this.frm.doctype][this.frm.docname];\n\t\tif (fl && fl.attachments) {\n\t\t\tthis.set_description(\"\");\n\t\t\tvar options = [\"\"];\n\t\t\t$.each(fl.attachments, function (i, f) {\n\t\t\t\toptions.push(f.file_url);\n\t\t\t});\n\t\t\treturn options;\n\t\t} else {\n\t\t\tthis.set_description(__(\"Please attach a file first.\"));\n\t\t\treturn [\"\"];\n\t\t}\n\t}\n\ttoggle_placeholder() {\n\t\tconst input_set = Boolean(this.$input.find(\"option:selected\").text());\n\t\tthis.$wrapper.find(\".placeholder\").toggle(!input_set);\n\t}\n};\n\nfrappe.ui.form.add_options = function (input, options_list, sort, doctype) {\n\tlet $select = $(input);\n\tif (!Array.isArray(options_list)) {\n\t\treturn $select;\n\t}\n\n\tlet options = options_list.map((raw_option) => parse_option(raw_option, doctype));\n\tif (sort) {\n\t\toptions = options.sort((a, b) => cstr(a.label).localeCompare(cstr(b.label)));\n\t}\n\n\toptions\n\t\t.map((option) =>\n\t\t\t$(\"
    `).prependTo(this.input_area);\n\t\tthis.$input_area = $(this.input_area);\n\t\tthis.$input = this.$input_area.find(\"input\");\n\t\tthis.$link = this.$input_area.find(\".link-btn\");\n\t\tthis.$link_open = this.$link.find(\".btn-open\");\n\t\tthis.set_input_attributes();\n\t\tthis.$input.on(\"focus\", function () {\n\t\t\tif (!me.$input.val()) {\n\t\t\t\tme.$input.val(\"\").trigger(\"input\");\n\t\t\t}\n\n\t\t\tme.show_link_and_clear_buttons();\n\t\t});\n\t\tthis.$input.on(\"blur\", function () {\n\t\t\t// if this disappears immediately, the user's click\n\t\t\t// does not register, hence timeout\n\t\t\tsetTimeout(function () {\n\t\t\t\tme.$link.toggle(false);\n\t\t\t\tme.hide_link_and_clear_buttons();\n\t\t\t}, 250);\n\t\t});\n\n\t\tthis.$input_area.on(\"mouseenter\", () => {\n\t\t\tthis.show_link_and_clear_buttons();\n\t\t});\n\n\t\tthis.$input_area.on(\"mouseleave\", () => {\n\t\t\tif (!this.$input.is(\":focus\")) {\n\t\t\t\tthis.hide_link_and_clear_buttons();\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.attr(\"data-target\", this.df.options);\n\t\tthis.input = this.$input.get(0);\n\t\tthis.has_input = true;\n\t\tthis.translate_values = true;\n\t\tthis.setup_buttons();\n\t\tthis.setup_awesomeplete();\n\t\tthis.bind_change_event();\n\t}\n\n\tshow_link_and_clear_buttons() {\n\t\tif (this.$input.val() && this.get_options()) {\n\t\t\tconst doctype = this.get_options();\n\t\t\tconst name = this.get_input_value();\n\t\t\tthis.$link.toggle(true);\n\t\t\tthis.$link_open.attr(\"href\", frappe.utils.get_form_link(doctype, name));\n\t\t}\n\t}\n\n\thide_link_and_clear_buttons() {\n\t\tthis.$link.toggle(false);\n\t}\n\n\tget_options() {\n\t\treturn this.df.options;\n\t}\n\tget_reference_doctype() {\n\t\t// this is used to get the context in which link field is loaded\n\t\tif (this.doctype) return this.doctype;\n\t\telse {\n\t\t\treturn frappe.get_route && frappe.get_route()[0] === \"List\"\n\t\t\t\t? frappe.get_route()[1]\n\t\t\t\t: null;\n\t\t}\n\t}\n\tsetup_buttons() {\n\t\tif (this.only_input && !this.with_link_btn) {\n\t\t\tthis.$input_area.find(\".link-btn\").remove();\n\t\t}\n\t}\n\tset_formatted_input(value) {\n\t\tsuper.set_formatted_input();\n\t\tif (!value) return;\n\n\t\tif (!this.title_value_map) {\n\t\t\tthis.title_value_map = {};\n\t\t}\n\t\tthis.set_link_title(value);\n\t}\n\tget_translated(value) {\n\t\treturn this.is_translatable() ? __(value) : value;\n\t}\n\tis_translatable() {\n\t\treturn (frappe.boot?.translated_doctypes || []).includes(this.get_options());\n\t}\n\tis_title_link() {\n\t\treturn (frappe.boot?.link_title_doctypes || []).includes(this.get_options());\n\t}\n\tasync set_link_title(value) {\n\t\tconst doctype = this.get_options();\n\n\t\tif (!doctype || !this.is_title_link()) {\n\t\t\tthis.translate_and_set_input_value(value, value);\n\t\t\treturn;\n\t\t}\n\n\t\tconst link_title =\n\t\t\tfrappe.utils.get_link_title(doctype, value) ||\n\t\t\t(await frappe.utils.fetch_link_title(doctype, value));\n\n\t\tthis.translate_and_set_input_value(link_title, value);\n\t}\n\ttranslate_and_set_input_value(link_title, value) {\n\t\tlet translated_link_text = this.get_translated(link_title);\n\t\tthis.title_value_map[translated_link_text] = value;\n\n\t\tthis.set_input_value(translated_link_text);\n\t}\n\tparse_validate_and_set_in_model(value, e, label) {\n\t\tif (this.parse) value = this.parse(value, label);\n\t\tif (label) {\n\t\t\tthis.label = this.get_translated(label);\n\t\t\tfrappe.utils.add_link_title(this.df.options, value, label);\n\t\t}\n\n\t\treturn this.validate_and_set_in_model(value, e, true);\n\t}\n\tparse(value) {\n\t\treturn strip_html(value);\n\t}\n\tget_input_value() {\n\t\tif (this.$input) {\n\t\t\tconst input_value = this.$input.val();\n\t\t\treturn this.title_value_map?.[input_value] || input_value;\n\t\t}\n\t\treturn null;\n\t}\n\tget_label_value() {\n\t\treturn this.$input ? this.$input.val() : \"\";\n\t}\n\tset_input_value(value) {\n\t\tthis.$input && this.$input.val(value);\n\t}\n\topen_advanced_search() {\n\t\tvar doctype = this.get_options();\n\t\tif (!doctype) return;\n\t\tnew frappe.ui.form.LinkSelector({\n\t\t\tdoctype: doctype,\n\t\t\ttarget: this,\n\t\t\ttxt: this.get_input_value(),\n\t\t});\n\t\treturn false;\n\t}\n\tnew_doc() {\n\t\tvar doctype = this.get_options();\n\t\tvar me = this;\n\n\t\tif (!doctype) return;\n\n\t\tlet df = this.df;\n\t\tif (this.frm && this.frm.doctype !== this.df.parent) {\n\t\t\t// incase of grid use common df set in grid\n\t\t\tdf = this.frm.get_docfield(this.doc.parentfield, this.df.fieldname);\n\t\t}\n\t\t// set values to fill in the new document\n\t\tif (df && df.get_route_options_for_new_doc) {\n\t\t\tfrappe.route_options = df.get_route_options_for_new_doc(this);\n\t\t} else {\n\t\t\tfrappe.route_options = {};\n\t\t}\n\n\t\t// partially entered name field\n\t\tfrappe.route_options.name_field = this.get_label_value();\n\n\t\t// reference to calling link\n\t\tfrappe._from_link = frappe.utils.deep_clone(this);\n\t\tfrappe._from_link_scrollY = $(document).scrollTop();\n\n\t\tfrappe.ui.form.make_quick_entry(doctype, (doc) => {\n\t\t\treturn me.set_value(doc.name);\n\t\t});\n\n\t\treturn false;\n\t}\n\tsetup_awesomeplete() {\n\t\tlet me = this;\n\n\t\tthis.$input.cache = {};\n\n\t\tthis.awesomplete = new Awesomplete(me.input, {\n\t\t\ttabSelect: true,\n\t\t\tminChars: 0,\n\t\t\tmaxItems: 99,\n\t\t\tautoFirst: true,\n\t\t\tlist: [],\n\t\t\treplace: function (item) {\n\t\t\t\t// Override Awesomeplete replace function as it is used to set the input value\n\t\t\t\t// https://github.com/LeaVerou/awesomplete/issues/17104#issuecomment-359185403\n\t\t\t\tthis.input.value = me.get_translated(item.label || item.value);\n\t\t\t},\n\t\t\tdata: function (item) {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: me.get_translated(item.label || item.value),\n\t\t\t\t\tvalue: item.value,\n\t\t\t\t};\n\t\t\t},\n\t\t\tfilter: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\titem: function (item) {\n\t\t\t\tlet d = this.get_item(item.value);\n\t\t\t\tif (!d.label) {\n\t\t\t\t\td.label = d.value;\n\t\t\t\t}\n\n\t\t\t\tlet _label = me.get_translated(d.label);\n\t\t\t\tlet html = d.html || \"\" + _label + \"\";\n\t\t\t\tif (\n\t\t\t\t\td.description &&\n\t\t\t\t\t// for title links, we want to inlude the value in the description\n\t\t\t\t\t// because it will not visible otherwise\n\t\t\t\t\t(me.is_title_link() || d.value !== d.description)\n\t\t\t\t) {\n\t\t\t\t\thtml += '
    ' + __(d.description) + \"\";\n\t\t\t\t}\n\t\t\t\treturn $(`
    `)\n\t\t\t\t\t.on(\"click\", (event) => {\n\t\t\t\t\t\tme.awesomplete.select(event.currentTarget, event.currentTarget);\n\t\t\t\t\t\tme.show_link_and_clear_buttons();\n\t\t\t\t\t})\n\t\t\t\t\t.data(\"item.autocomplete\", d)\n\t\t\t\t\t.prop(\"aria-selected\", \"false\")\n\t\t\t\t\t.html(`

    ${html}

    `)\n\t\t\t\t\t.get(0);\n\t\t\t},\n\t\t\tsort: function () {\n\t\t\t\treturn 0;\n\t\t\t},\n\t\t});\n\n\t\tthis.custom_awesomplete_filter && this.custom_awesomplete_filter(this.awesomplete);\n\n\t\tthis.$input.on(\n\t\t\t\"input\",\n\t\t\tfrappe.utils.debounce(function (e) {\n\t\t\t\tvar doctype = me.get_options();\n\t\t\t\tif (!doctype) return;\n\t\t\t\tif (!me.$input.cache[doctype]) {\n\t\t\t\t\tme.$input.cache[doctype] = {};\n\t\t\t\t}\n\n\t\t\t\tvar term = e.target.value;\n\n\t\t\t\tif (me.$input.cache[doctype][term] != null) {\n\t\t\t\t\t// immediately show from cache\n\t\t\t\t\tme.awesomplete.list = me.$input.cache[doctype][term];\n\t\t\t\t}\n\t\t\t\tvar args = {\n\t\t\t\t\ttxt: term,\n\t\t\t\t\tdoctype: doctype,\n\t\t\t\t\tignore_user_permissions: me.df.ignore_user_permissions,\n\t\t\t\t\treference_doctype: me.get_reference_doctype() || \"\",\n\t\t\t\t\tpage_length: cint(frappe.boot.sysdefaults?.link_field_results_limit) || 10,\n\t\t\t\t};\n\n\t\t\t\tme.set_custom_query(args);\n\n\t\t\t\tfrappe.call({\n\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\tmethod: \"frappe.desk.search.search_link\",\n\t\t\t\t\tno_spinner: true,\n\t\t\t\t\targs: args,\n\t\t\t\t\tcallback: function (r) {\n\t\t\t\t\t\tif (!window.Cypress && !me.$input.is(\":focus\")) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tr.message = me.merge_duplicates(r.message);\n\n\t\t\t\t\t\t// show filter description in awesomplete\n\t\t\t\t\t\tlet filter_string = me.df.filter_description\n\t\t\t\t\t\t\t? me.df.filter_description\n\t\t\t\t\t\t\t: args.filters\n\t\t\t\t\t\t\t? me.get_filter_description(args.filters)\n\t\t\t\t\t\t\t: null;\n\t\t\t\t\t\tif (filter_string) {\n\t\t\t\t\t\t\tr.message.push({\n\t\t\t\t\t\t\t\thtml: `${filter_string}`,\n\t\t\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t\t\t\taction: () => {},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!me.df.only_select) {\n\t\t\t\t\t\t\tif (frappe.model.can_create(doctype)) {\n\t\t\t\t\t\t\t\t// new item\n\t\t\t\t\t\t\t\tr.message.push({\n\t\t\t\t\t\t\t\t\thtml:\n\t\t\t\t\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t\t__(\"Create a new {0}\", [__(me.get_options())]) +\n\t\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\tlabel: __(\"Create a new {0}\", [__(me.get_options())]),\n\t\t\t\t\t\t\t\t\tvalue: \"create_new__link_option\",\n\t\t\t\t\t\t\t\t\taction: me.new_doc,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t//custom link actions\n\t\t\t\t\t\t\tlet custom__link_options =\n\t\t\t\t\t\t\t\tfrappe.ui.form.ControlLink.link_options &&\n\t\t\t\t\t\t\t\tfrappe.ui.form.ControlLink.link_options(me);\n\n\t\t\t\t\t\t\tif (custom__link_options) {\n\t\t\t\t\t\t\t\tr.message = r.message.concat(custom__link_options);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// advanced search\n\t\t\t\t\t\t\tif (locals && locals[\"DocType\"]) {\n\t\t\t\t\t\t\t\t// not applicable in web forms\n\t\t\t\t\t\t\t\tr.message.push({\n\t\t\t\t\t\t\t\t\thtml:\n\t\t\t\t\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t\t__(\"Advanced Search\") +\n\t\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t\tlabel: __(\"Advanced Search\"),\n\t\t\t\t\t\t\t\t\tvalue: \"advanced_search__link_option\",\n\t\t\t\t\t\t\t\t\taction: me.open_advanced_search,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tme.$input.cache[doctype][term] = r.message;\n\t\t\t\t\t\tme.awesomplete.list = me.$input.cache[doctype][term];\n\t\t\t\t\t\tme.toggle_href(doctype);\n\t\t\t\t\t\tr.message.forEach((item) => {\n\t\t\t\t\t\t\tfrappe.utils.add_link_title(doctype, item.value, item.label);\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}, 500)\n\t\t);\n\n\t\tthis.$input.on(\"blur\", function () {\n\t\t\tif (me.selected) {\n\t\t\t\tme.selected = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet value = me.get_input_value();\n\t\t\tlet label = me.get_label_value();\n\t\t\tlet last_value = me.last_value || \"\";\n\t\t\tlet last_label = me.label || \"\";\n\n\t\t\tif (value !== last_value) {\n\t\t\t\tme.parse_validate_and_set_in_model(value, null, label);\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-open\", () => {\n\t\t\tthis.autocomplete_open = true;\n\n\t\t\tif (!me.get_label_value()) {\n\t\t\t\t// hide link arrow to doctype if none is set\n\t\t\t\tme.$link.toggle(false);\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-close\", (e) => {\n\t\t\tthis.autocomplete_open = false;\n\n\t\t\tif (!me.get_label_value()) {\n\t\t\t\t// hide link arrow to doctype if none is set\n\t\t\t\tme.$link.toggle(false);\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-select\", function (e) {\n\t\t\tvar o = e.originalEvent;\n\t\t\tvar item = me.awesomplete.get_item(o.text.value);\n\n\t\t\tme.autocomplete_open = false;\n\n\t\t\t// prevent selection on tab\n\t\t\tlet TABKEY = 9;\n\t\t\tif (e.keyCode === TABKEY) {\n\t\t\t\te.preventDefault();\n\t\t\t\tme.awesomplete.close();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (item.action) {\n\t\t\t\titem.value = \"\";\n\t\t\t\titem.label = \"\";\n\t\t\t\titem.action.apply(me);\n\t\t\t}\n\n\t\t\t// if remember_last_selected is checked in the doctype against the field,\n\t\t\t// then add this value\n\t\t\t// to defaults so you do not need to set it again\n\t\t\t// unless it is changed.\n\t\t\tif (me.df.remember_last_selected_value) {\n\t\t\t\tfrappe.boot.user.last_selected_values[me.df.options] = item.value;\n\t\t\t}\n\n\t\t\tme.parse_validate_and_set_in_model(item.value, null, item.label);\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-selectcomplete\", function (e) {\n\t\t\tlet o = e.originalEvent;\n\t\t\tif (o.text.value.indexOf(\"__link_option\") !== -1) {\n\t\t\t\tme.$input.val(\"\");\n\t\t\t}\n\t\t});\n\t}\n\n\tshow_untranslated() {\n\t\tlet value = this.get_input_value();\n\t\tthis.is_translatable() && this.set_input_value(value);\n\t}\n\n\tmerge_duplicates(results) {\n\t\t// in case of result like this\n\t\t// [{value: 'Manufacturer 1', 'description': 'mobile part 1'},\n\t\t// \t{value: 'Manufacturer 1', 'description': 'mobile part 2'}]\n\t\t// suggestion list has two items with same value (docname) & description\n\t\treturn results.reduce((newArr, currElem) => {\n\t\t\tif (newArr.length === 0) return [currElem];\n\t\t\tlet element_with_same_value = newArr.find((e) => e.value === currElem.value);\n\t\t\tif (element_with_same_value) {\n\t\t\t\telement_with_same_value.description += `, ${currElem.description}`;\n\t\t\t\treturn [...newArr];\n\t\t\t}\n\t\t\treturn [...newArr, currElem];\n\t\t}, []);\n\t\t// returns [{value: 'Manufacturer 1', 'description': 'mobile part 1, mobile part 2'}]\n\t}\n\n\ttoggle_href(doctype) {\n\t\tif (frappe.model.can_select(doctype) && !frappe.model.can_read(doctype)) {\n\t\t\t// remove href from link field as user has only select perm\n\t\t\tthis.$input_area.find(\".link-btn\").addClass(\"hide\");\n\t\t} else {\n\t\t\tthis.$input_area.find(\".link-btn\").removeClass(\"hide\");\n\t\t}\n\t}\n\n\tget_filter_description(filters) {\n\t\tlet doctype = this.get_options();\n\t\tlet filter_array = [];\n\t\tlet meta = null;\n\n\t\tfrappe.model.with_doctype(doctype, () => {\n\t\t\tmeta = frappe.get_meta(doctype);\n\t\t});\n\n\t\t// convert object style to array\n\t\tif (!Array.isArray(filters)) {\n\t\t\tfor (let fieldname in filters) {\n\t\t\t\tlet value = filters[fieldname];\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tvalue = [\"=\", value];\n\t\t\t\t}\n\t\t\t\tfilter_array.push([fieldname, ...value]); // fieldname, operator, value\n\t\t\t}\n\t\t} else {\n\t\t\tfilter_array = filters;\n\t\t}\n\n\t\t// add doctype if missing\n\t\tfilter_array = filter_array.map((filter) => {\n\t\t\tif (filter.length === 3) {\n\t\t\t\treturn [doctype, ...filter]; // doctype, fieldname, operator, value\n\t\t\t}\n\t\t\treturn filter;\n\t\t});\n\n\t\tfunction get_filter_description(filter) {\n\t\t\tlet doctype = filter[0];\n\t\t\tlet fieldname = filter[1];\n\t\t\tlet docfield = frappe.meta.get_docfield(doctype, fieldname);\n\t\t\tlet label = docfield ? docfield.label : frappe.model.unscrub(fieldname);\n\n\t\t\tif (docfield && docfield.fieldtype === \"Check\") {\n\t\t\t\tfilter[3] = filter[3] ? __(\"Yes\") : __(\"No\");\n\t\t\t}\n\n\t\t\tif (filter[3] && Array.isArray(filter[3]) && filter[3].length > 5) {\n\t\t\t\tfilter[3] = filter[3].slice(0, 5);\n\t\t\t\tfilter[3].push(\"...\");\n\t\t\t}\n\n\t\t\tlet value =\n\t\t\t\tfilter[3] == null || filter[3] === \"\" ? __(\"empty\") : String(__(filter[3]));\n\n\t\t\treturn [__(label).bold(), __(filter[2]), value.bold()].join(\" \");\n\t\t}\n\n\t\tlet filter_string = filter_array.map(get_filter_description).join(\", \");\n\n\t\treturn __(\"Filters applied for {0}\", [filter_string]);\n\t}\n\n\tset_custom_query(args) {\n\t\tconst is_valid_value = (value, key) => {\n\t\t\tif (value) return true;\n\t\t\t// check if empty value is valid\n\t\t\tif (this.frm) {\n\t\t\t\tlet field = frappe.meta.get_docfield(this.frm.doctype, key);\n\t\t\t\t// empty value link fields is invalid\n\t\t\t\treturn !field || ![\"Link\", \"Dynamic Link\"].includes(field.fieldtype);\n\t\t\t} else {\n\t\t\t\treturn value !== undefined;\n\t\t\t}\n\t\t};\n\n\t\tconst set_nulls = (obj) => {\n\t\t\t$.each(obj, (key, value) => {\n\t\t\t\tif (!is_valid_value(value, key)) {\n\t\t\t\t\tdelete obj[key];\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn obj;\n\t\t};\n\n\t\t// apply link field filters\n\t\tif (this.df.link_filters && !!this.df.link_filters.length) {\n\t\t\tthis.apply_link_field_filters();\n\t\t}\n\n\t\tif (this.get_query || this.df.get_query) {\n\t\t\tvar get_query = this.get_query || this.df.get_query;\n\t\t\tif ($.isPlainObject(get_query)) {\n\t\t\t\tvar filters = null;\n\t\t\t\tif (get_query.filters) {\n\t\t\t\t\t// passed as {'filters': {'key':'value'}}\n\t\t\t\t\tfilters = get_query.filters;\n\t\t\t\t} else if (get_query.query) {\n\t\t\t\t\t// passed as {'query': 'path.to.method'}\n\t\t\t\t\targs.query = get_query;\n\t\t\t\t} else {\n\t\t\t\t\t// dict is filters\n\t\t\t\t\tfilters = get_query;\n\t\t\t\t}\n\n\t\t\t\tif (filters) {\n\t\t\t\t\tfilters = set_nulls(filters);\n\n\t\t\t\t\t// extend args for custom functions\n\t\t\t\t\t$.extend(args, filters);\n\n\t\t\t\t\t// add \"filters\" for standard query (search.py)\n\t\t\t\t\targs.filters = filters;\n\t\t\t\t}\n\t\t\t} else if (typeof get_query === \"string\") {\n\t\t\t\targs.query = get_query;\n\t\t\t} else {\n\t\t\t\t// get_query by function\n\t\t\t\tvar q = get_query(\n\t\t\t\t\t(this.frm && this.frm.doc) || this.doc,\n\t\t\t\t\tthis.doctype,\n\t\t\t\t\tthis.docname\n\t\t\t\t);\n\n\t\t\t\tif (typeof q === \"string\") {\n\t\t\t\t\t// returns a string\n\t\t\t\t\targs.query = q;\n\t\t\t\t} else if ($.isPlainObject(q)) {\n\t\t\t\t\t// returns a plain object with filters\n\t\t\t\t\tif (q.filters) {\n\t\t\t\t\t\tset_nulls(q.filters);\n\t\t\t\t\t}\n\n\t\t\t\t\t// turn off value translation\n\t\t\t\t\tif (q.translate_values !== undefined) {\n\t\t\t\t\t\tthis.translate_values = q.translate_values;\n\t\t\t\t\t}\n\n\t\t\t\t\t// extend args for custom functions\n\t\t\t\t\t$.extend(args, q);\n\n\t\t\t\t\t// add \"filters\" for standard query (search.py)\n\t\t\t\t\targs.filters = q.filters;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.df.filters) {\n\t\t\tset_nulls(this.df.filters);\n\t\t\tif (!args.filters) args.filters = {};\n\t\t\t$.extend(args.filters, this.df.filters);\n\t\t}\n\t}\n\n\tapply_link_field_filters() {\n\t\tlet link_filters = JSON.parse(this.df.link_filters);\n\t\tlet filters = this.parse_filters(link_filters);\n\t\t// take filters from the link field and add to the query\n\t\tthis.get_query = function () {\n\t\t\treturn {\n\t\t\t\tfilters,\n\t\t\t};\n\t\t};\n\t}\n\n\tparse_filters(link_filters) {\n\t\tlet filters = {};\n\t\tlink_filters.forEach((filter) => {\n\t\t\tlet [_, fieldname, operator, value] = filter;\n\t\t\tif (value?.startsWith?.(\"eval:\")) {\n\t\t\t\t// get the value to calculate\n\t\t\t\tvalue = value.split(\"eval:\")[1];\n\t\t\t\tlet context = {\n\t\t\t\t\tdoc: this.doc,\n\t\t\t\t\tparent: this.doc.parenttype ? this.frm.doc : null,\n\t\t\t\t\tfrappe,\n\t\t\t\t};\n\t\t\t\tvalue = frappe.utils.eval(value, context);\n\t\t\t}\n\t\t\tfilters[fieldname] = [operator, value];\n\t\t});\n\t\treturn filters;\n\t}\n\n\tvalidate(value) {\n\t\t// validate the value just entered\n\t\tif (this._validated || this.df.options == \"[Select]\" || this.df.ignore_link_validation) {\n\t\t\treturn value;\n\t\t}\n\n\t\treturn this.validate_link_and_fetch(value);\n\t}\n\tvalidate_link_and_fetch(value) {\n\t\tconst options = this.get_options();\n\t\tif (!options) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst columns_to_fetch = Object.values(this.fetch_map);\n\n\t\t// if default and no fetch, no need to validate\n\t\tif (!columns_to_fetch.length && this.df.__default_value === value) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst update_dependant_fields = (response) => {\n\t\t\tlet field_value = \"\";\n\t\t\tfor (const [target_field, source_field] of Object.entries(this.fetch_map)) {\n\t\t\t\tif (value) {\n\t\t\t\t\tfield_value = response[source_field];\n\t\t\t\t}\n\n\t\t\t\tif (this.layout?.set_value) {\n\t\t\t\t\tthis.layout.set_value(target_field, field_value);\n\t\t\t\t} else if (this.frm) {\n\t\t\t\t\tfrappe.model.set_value(\n\t\t\t\t\t\tthis.df.parent,\n\t\t\t\t\t\tthis.docname,\n\t\t\t\t\t\ttarget_field,\n\t\t\t\t\t\tfield_value,\n\t\t\t\t\t\tthis.df.fieldtype\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// to avoid unnecessary request\n\t\tif (value) {\n\t\t\treturn frappe\n\t\t\t\t.xcall(\n\t\t\t\t\t\"frappe.client.validate_link\",\n\t\t\t\t\t{\n\t\t\t\t\t\tdoctype: options,\n\t\t\t\t\t\tdocname: value,\n\t\t\t\t\t\tfields: columns_to_fetch,\n\t\t\t\t\t},\n\t\t\t\t\t\"GET\",\n\t\t\t\t\t{ cache: !columns_to_fetch.length }\n\t\t\t\t)\n\t\t\t\t.then((response) => {\n\t\t\t\t\tif (!this.docname || !columns_to_fetch.length) {\n\t\t\t\t\t\treturn response.name;\n\t\t\t\t\t}\n\t\t\t\t\tupdate_dependant_fields(response);\n\t\t\t\t\treturn response.name;\n\t\t\t\t});\n\t\t} else {\n\t\t\tupdate_dependant_fields({});\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tfetch_map_for_quick_entry() {\n\t\tlet me = this;\n\t\tlet fetch_map = {};\n\t\tfunction add_fetch(link_field, source_field, target_field, target_doctype) {\n\t\t\tif (!target_doctype) target_doctype = \"*\";\n\n\t\t\tif (!me.layout.fetch_dict) {\n\t\t\t\tme.layout.fetch_dict = {};\n\t\t\t}\n\n\t\t\t// Target field kept as key because source field could be non-unique\n\t\t\tme.layout.fetch_dict.setDefault(target_doctype, {}).setDefault(link_field, {})[\n\t\t\t\ttarget_field\n\t\t\t] = source_field;\n\t\t}\n\n\t\tfunction setup_add_fetch(df) {\n\t\t\tlet is_read_only_field =\n\t\t\t\t[\n\t\t\t\t\t\"Data\",\n\t\t\t\t\t\"Read Only\",\n\t\t\t\t\t\"Text\",\n\t\t\t\t\t\"Small Text\",\n\t\t\t\t\t\"Currency\",\n\t\t\t\t\t\"Check\",\n\t\t\t\t\t\"Text Editor\",\n\t\t\t\t\t\"Attach Image\",\n\t\t\t\t\t\"Code\",\n\t\t\t\t\t\"Link\",\n\t\t\t\t\t\"Float\",\n\t\t\t\t\t\"Int\",\n\t\t\t\t\t\"Date\",\n\t\t\t\t\t\"Select\",\n\t\t\t\t\t\"Duration\",\n\t\t\t\t\t\"Time\",\n\t\t\t\t].includes(df.fieldtype) ||\n\t\t\t\tdf.read_only == 1 ||\n\t\t\t\tdf.is_virtual == 1;\n\n\t\t\tif (is_read_only_field && df.fetch_from && df.fetch_from.indexOf(\".\") != -1) {\n\t\t\t\tvar parts = df.fetch_from.split(\".\");\n\t\t\t\tadd_fetch(parts[0], parts[1], df.fieldname, df.parent);\n\t\t\t}\n\t\t}\n\n\t\t$.each(this.layout.fields, (i, field) => setup_add_fetch(field));\n\n\t\tfor (const key of [\"*\", this.df.parent]) {\n\t\t\tif (!this.layout.fetch_dict) {\n\t\t\t\tthis.layout.fetch_dict = {};\n\t\t\t}\n\t\t\tif (this.layout.fetch_dict[key] && this.layout.fetch_dict[key][this.df.fieldname]) {\n\t\t\t\tObject.assign(fetch_map, this.layout.fetch_dict[key][this.df.fieldname]);\n\t\t\t}\n\t\t}\n\n\t\treturn fetch_map;\n\t}\n\n\tget fetch_map() {\n\t\tconst fetch_map = {};\n\n\t\t// Create fetch_map from quick entry fields\n\t\tif (!this.frm && this.layout && this.layout.fields) {\n\t\t\treturn this.fetch_map_for_quick_entry();\n\t\t}\n\n\t\tif (!this.frm) return fetch_map;\n\n\t\tfor (const key of [\"*\", this.df.parent]) {\n\t\t\tif (this.frm.fetch_dict[key] && this.frm.fetch_dict[key][this.df.fieldname]) {\n\t\t\t\tObject.assign(fetch_map, this.frm.fetch_dict[key][this.df.fieldname]);\n\t\t\t}\n\t\t}\n\n\t\treturn fetch_map;\n\t}\n};\n\nif (Awesomplete) {\n\tAwesomplete.prototype.get_item = function (value) {\n\t\treturn this._list.find(function (item) {\n\t\t\treturn item.value === value;\n\t\t});\n\t};\n}\n", "frappe.ui.form.ControlDynamicLink = class ControlDynamicLink extends frappe.ui.form.ControlLink {\n\tget_options() {\n\t\tlet options = \"\";\n\t\tif (this.df.get_options) {\n\t\t\toptions = this.df.get_options(this);\n\t\t} else if (this.docname == null && cur_dialog) {\n\t\t\t//for dialog box\n\t\t\toptions = cur_dialog.get_value(this.df.options);\n\t\t} else if (!cur_frm) {\n\t\t\tconst selector = `input[data-fieldname=\"${this.df.options}\"]`;\n\t\t\tlet input = null;\n\t\t\tif (cur_list) {\n\t\t\t\t// for list page\n\t\t\t\tinput = cur_list.filter_area.standard_filters_wrapper.find(selector);\n\t\t\t}\n\t\t\tif (cur_page) {\n\t\t\t\tinput = $(cur_page.page).find(selector);\n\t\t\t}\n\t\t\tif (input) {\n\t\t\t\toptions = input.val();\n\t\t\t}\n\t\t} else {\n\t\t\toptions = frappe.model.get_value(this.df.parent, this.docname, this.df.options);\n\t\t}\n\n\t\tif (frappe.model.is_single(options)) {\n\t\t\tfrappe.throw(__(\"{0} is not a valid DocType for Dynamic Link\", [options.bold()]));\n\t\t}\n\n\t\treturn options;\n\t}\n};\n", "frappe.ui.form.ControlText = class ControlText extends frappe.ui.form.ControlData {\n\tstatic html_element = \"textarea\";\n\tstatic horizontal = false;\n\tmake_wrapper() {\n\t\tsuper.make_wrapper();\n\n\t\tconst disp_area = this.$wrapper.find(\".like-disabled-input\");\n\t\tdisp_area.addClass(\"for-description\");\n\t\tdisp_area.css(\"white-space-collapse\", \"preserve\"); // preserve indentation\n\t\tif (this.df.max_height) {\n\t\t\tdisp_area.css({ \"max-height\": this.df.max_height, overflow: \"auto\" });\n\t\t}\n\t}\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.$input.css({ height: \"300px\" });\n\t\tif (this.df.max_height) {\n\t\t\tthis.$input.css({ \"max-height\": this.df.max_height });\n\t\t}\n\t}\n};\n\nfrappe.ui.form.ControlLongText = frappe.ui.form.ControlText;\nfrappe.ui.form.ControlSmallText = class ControlSmallText extends frappe.ui.form.ControlText {\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.$input.css({ height: \"150px\" });\n\t}\n};\n", "frappe.ui.form.ControlCode = class ControlCode extends frappe.ui.form.ControlText {\n\tmake_input() {\n\t\tif (this.editor) return;\n\t\tthis.load_lib().then(() => this.make_ace_editor());\n\t}\n\n\trefresh() {\n\t\tsuper.refresh();\n\t\tif (this.df.fieldtype === \"Code\") {\n\t\t\t// Don't show for derived classes\n\t\t\tthis.setup_copy_button();\n\t\t}\n\t}\n\n\tsetup_copy_button() {\n\t\tif (this.get_status() === \"Write\") {\n\t\t\tthis.copy_button?.remove();\n\t\t\tthis.copy_button = null;\n\t\t\treturn; // Don't show copy button in write mode\n\t\t}\n\n\t\tif (this.copy_button) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.copy_button = $(\n\t\t\t`\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`\n\t\t);\n\t\tthis.copy_button.on(\"click\", () => {\n\t\t\tfrappe.utils.copy_to_clipboard(this.get_model_value() || this.get_value());\n\t\t});\n\t\tthis.copy_button.appendTo(this.$wrapper);\n\t}\n\n\tmake_ace_editor() {\n\t\tif (this.editor) return;\n\t\tthis.ace_editor_target = $('
    ').appendTo(\n\t\t\tthis.input_area\n\t\t);\n\n\t\t// styling\n\t\tthis.ace_editor_target.addClass(\"border rounded\");\n\t\tthis.ace_editor_target.css(\"height\", 300);\n\n\t\tif (this.df.max_height) {\n\t\t\tthis.ace_editor_target.css(\"max-height\", this.df.max_height);\n\t\t}\n\n\t\t// initialize\n\t\tconst ace = window.ace;\n\t\tthis.editor = ace.edit(this.ace_editor_target.get(0));\n\n\t\tif (this.df.max_lines || this.df.min_lines || this.df.max_height) {\n\t\t\tif (this.df.max_lines) this.editor.setOption(\"maxLines\", this.df.max_lines);\n\t\t\tif (this.df.min_lines) this.editor.setOption(\"minLines\", this.df.min_lines);\n\t\t} else {\n\t\t\tthis.expanded = false;\n\t\t\tthis.$expand_button = $(\n\t\t\t\t``\n\t\t\t)\n\t\t\t\t.click(() => {\n\t\t\t\t\tthis.expanded = !this.expanded;\n\t\t\t\t\tthis.refresh_height();\n\t\t\t\t\tthis.toggle_label();\n\t\t\t\t})\n\t\t\t\t.appendTo(this.$input_wrapper);\n\t\t}\n\n\t\tif (this.disabled) {\n\t\t\tthis.editor.setReadOnly(true);\n\t\t\t$(this.ace_editor_target).css(\"pointer-events\", \"none\");\n\t\t}\n\n\t\tthis.editor.setTheme(\"ace/theme/tomorrow\");\n\t\tthis.editor.setOption(\"showPrintMargin\", false);\n\t\tthis.editor.setOption(\"wrap\", this.df.wrap);\n\t\tthis.set_language();\n\t\tthis.is_setting_content = false;\n\n\t\t// events\n\t\tthis.editor.session.on(\"change\", () => {\n\t\t\tif (this.is_setting_content) return;\n\t\t\tchange_content();\n\t\t});\n\n\t\tlet change_content = frappe.utils.debounce(() => {\n\t\t\tconst input_value = this.get_input_value();\n\t\t\tthis.parse_validate_and_set_in_model(input_value);\n\t\t}, 300);\n\n\t\t// setup autocompletion when it is set the first time\n\t\tObject.defineProperty(this.df, \"autocompletions\", {\n\t\t\tconfigurable: true,\n\t\t\tget() {\n\t\t\t\treturn this._autocompletions || [];\n\t\t\t},\n\t\t\tset: (value) => {\n\t\t\t\tlet getter = value;\n\t\t\t\tif (typeof getter !== \"function\") {\n\t\t\t\t\tgetter = () => value;\n\t\t\t\t}\n\t\t\t\tif (!this._autocompletions) {\n\t\t\t\t\tthis._autocompletions = [];\n\t\t\t\t}\n\t\t\t\tthis._autocompletions.push(getter);\n\t\t\t\tthis.setup_autocompletion();\n\t\t\t},\n\t\t});\n\t}\n\n\tsetup_autocompletion(customGetCompletions) {\n\t\tif (this._autocompletion_setup) return;\n\n\t\tconst ace = window.ace;\n\n\t\tlet getCompletions = (editor, session, pos, prefix, callback) => {\n\t\t\tif (prefix.length === 0) {\n\t\t\t\tcallback(null, []);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst get_autocompletions = () => {\n\t\t\t\tlet getters = this._autocompletions || [];\n\t\t\t\tlet completions = [];\n\t\t\t\tfor (let getter of getters) {\n\t\t\t\t\tlet values = getter({ editor, session, pos, prefix });\n\t\t\t\t\tcompletions.push(...values);\n\t\t\t\t}\n\t\t\t\treturn completions;\n\t\t\t};\n\t\t\tlet autocompletions = get_autocompletions();\n\t\t\tif (autocompletions.length) {\n\t\t\t\tcallback(\n\t\t\t\t\tnull,\n\t\t\t\t\tautocompletions.map((a) => {\n\t\t\t\t\t\tif (typeof a === \"string\") {\n\t\t\t\t\t\t\ta = { value: a };\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tname: \"frappe\",\n\t\t\t\t\t\t\tvalue: a.value,\n\t\t\t\t\t\t\tscore: a.score,\n\t\t\t\t\t\t\tmeta: a.meta,\n\t\t\t\t\t\t\tcaption: a.caption,\n\t\t\t\t\t\t};\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\tace.config.loadModule(\"ace/ext/language_tools\", (langTools) => {\n\t\t\tthis.editor.setOptions({\n\t\t\t\tenableBasicAutocompletion: true,\n\t\t\t\tenableLiveAutocompletion: true,\n\t\t\t});\n\n\t\t\tlangTools.addCompleter({\n\t\t\t\tgetCompletions: customGetCompletions || getCompletions,\n\t\t\t});\n\t\t});\n\t\tthis._autocompletion_setup = true;\n\t}\n\n\trefresh_height() {\n\t\tthis.ace_editor_target.css(\"height\", this.expanded ? 600 : 300);\n\t\tthis.editor.resize();\n\t}\n\n\ttoggle_label() {\n\t\tthis.$expand_button && this.$expand_button.text(this.get_button_label());\n\t}\n\n\tget_button_label() {\n\t\treturn this.expanded\n\t\t\t? __(\"Collapse\", null, \"Shrink code field.\")\n\t\t\t: __(\"Expand\", null, \"Enlarge code field.\");\n\t}\n\n\tset_language() {\n\t\tconst language_map = {\n\t\t\tJavascript: \"ace/mode/javascript\",\n\t\t\tJS: \"ace/mode/javascript\",\n\t\t\tPython: \"ace/mode/python\",\n\t\t\tPy: \"ace/mode/python\",\n\t\t\tPythonExpression: \"ace/mode/python\",\n\t\t\tHTML: \"ace/mode/html\",\n\t\t\tCSS: \"ace/mode/css\",\n\t\t\tMarkdown: \"ace/mode/markdown\",\n\t\t\tSCSS: \"ace/mode/scss\",\n\t\t\tJSON: \"ace/mode/json\",\n\t\t\tGolang: \"ace/mode/golang\",\n\t\t\tGo: \"ace/mode/golang\",\n\t\t\tJinja: \"ace/mode/django\",\n\t\t\tSQL: \"ace/mode/sql\",\n\t\t};\n\t\tconst language = this.df.options;\n\n\t\tconst valid_languages = Object.keys(language_map);\n\t\tif (language && !valid_languages.includes(language)) {\n\t\t\tconsole.warn(\n\t\t\t\t`Invalid language option provided for field \"${\n\t\t\t\t\tthis.df.label\n\t\t\t\t}\". Valid options are ${valid_languages.join(\", \")}.`\n\t\t\t);\n\t\t}\n\n\t\tconst ace_language_mode = language_map[language] || \"\";\n\t\tthis.editor.session.setMode(ace_language_mode);\n\t\tthis.editor.setKeyboardHandler(\n\t\t\t`ace/keyboard/${frappe.boot.user.code_editor_type || \"vscode\"}`\n\t\t);\n\t}\n\n\tparse(value) {\n\t\tif (value == null) {\n\t\t\tvalue = \"\";\n\t\t}\n\t\treturn value;\n\t}\n\n\tset_formatted_input(value) {\n\t\treturn this.load_lib().then(() => {\n\t\t\tif (!this.editor) return;\n\t\t\tif (!value) value = \"\";\n\t\t\tif (value === this.get_input_value()) return;\n\t\t\tthis.is_setting_content = true;\n\t\t\tthis.editor.session.setValue(value);\n\t\t\tthis.is_setting_content = false;\n\t\t});\n\t}\n\n\tget_input_value() {\n\t\treturn this.editor ? this.editor.session.getValue() : \"\";\n\t}\n\n\tload_lib() {\n\t\tif (this.library_loaded) return this.library_loaded;\n\n\t\tif (frappe.boot.developer_mode) {\n\t\t\tthis.root_lib_path = \"/assets/frappe/node_modules/ace-builds/src-noconflict/\";\n\t\t} else {\n\t\t\tthis.root_lib_path = \"/assets/frappe/node_modules/ace-builds/src-min-noconflict/\";\n\t\t}\n\n\t\tthis.library_loaded = new Promise((resolve) => {\n\t\t\tfrappe.require(this.root_lib_path + \"ace.js\", () => {\n\t\t\t\twindow.ace.config.set(\"basePath\", this.root_lib_path);\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\n\t\treturn this.library_loaded;\n\t}\n};\n", "import Quill from \"quill\";\nimport ImageResize from \"quill-image-resize\";\nimport MagicUrl from \"quill-magic-url\";\n\nQuill.register(\"modules/imageResize\", ImageResize);\nQuill.register(\"modules/magicUrl\", MagicUrl);\nconst CodeBlockContainer = Quill.import(\"formats/code-block-container\");\nCodeBlockContainer.tagName = \"PRE\";\nQuill.register(CodeBlockContainer, true);\n\n// font size\nlet font_sizes = [\n\tfalse,\n\t\"8px\",\n\t\"9px\",\n\t\"10px\",\n\t\"11px\",\n\t\"12px\",\n\t\"13px\",\n\t\"14px\",\n\t\"15px\",\n\t\"16px\",\n\t\"18px\",\n\t\"20px\",\n\t\"22px\",\n\t\"24px\",\n\t\"32px\",\n\t\"36px\",\n\t\"40px\",\n\t\"48px\",\n\t\"54px\",\n\t\"64px\",\n\t\"96px\",\n\t\"128px\",\n];\nconst Size = Quill.import(\"attributors/style/size\");\nSize.whitelist = font_sizes;\nQuill.register(Size, true);\n\n// table\nconst Table = Quill.import(\"formats/table-container\");\nconst superCreate = Table.create.bind(Table);\nTable.create = (value) => {\n\tconst node = superCreate(value);\n\tnode.classList.add(\"table\");\n\tnode.classList.add(\"table-bordered\");\n\treturn node;\n};\n\nQuill.register(Table, true);\n\n// link without href\nvar Link = Quill.import(\"formats/link\");\n\nclass MyLink extends Link {\n\tstatic create(value) {\n\t\tlet node = super.create(value);\n\t\tvalue = this.sanitize(value);\n\t\tnode.setAttribute(\"href\", value);\n\t\tif (value.startsWith(\"/\") || value.indexOf(window.location.host)) {\n\t\t\t// no href if internal link\n\t\t\tnode.removeAttribute(\"target\");\n\t\t}\n\t\treturn node;\n\t}\n}\n\nQuill.register(MyLink, true);\n\n// image uploader\nconst Uploader = Quill.import(\"modules/uploader\");\nUploader.DEFAULTS.mimetypes.push(\"image/gif\");\n\n// inline style\nconst BackgroundStyle = Quill.import(\"attributors/style/background\");\nconst ColorStyle = Quill.import(\"attributors/style/color\");\nconst FontStyle = Quill.import(\"attributors/style/font\");\nconst AlignStyle = Quill.import(\"attributors/style/align\");\nconst DirectionStyle = Quill.import(\"attributors/style/direction\");\nQuill.register(BackgroundStyle, true);\nQuill.register(ColorStyle, true);\nQuill.register(FontStyle, true);\nQuill.register(AlignStyle, true);\nQuill.register(DirectionStyle, true);\n\n// direction class\nconst DirectionClass = Quill.import(\"attributors/class/direction\");\nQuill.register(DirectionClass, true);\n\n// replace font tag with span\nconst Inline = Quill.import(\"blots/inline\");\n\nclass CustomColor extends Inline {\n\tconstructor(domNode, value) {\n\t\tsuper(domNode, value);\n\t\tthis.domNode.style.color = this.domNode.color;\n\t\tdomNode.outerHTML = this.domNode.outerHTML\n\t\t\t.replace(//g, \"\");\n\t}\n}\n\nCustomColor.blotName = \"customColor\";\nCustomColor.tagName = \"font\";\n\nQuill.register(CustomColor, true);\n\nfrappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.form.ControlCode {\n\tmake_wrapper() {\n\t\tsuper.make_wrapper();\n\t}\n\n\tmake_input() {\n\t\tthis.has_input = true;\n\t\tthis.make_quill_editor();\n\t}\n\n\tmake_quill_editor() {\n\t\tif (this.quill) return;\n\t\tthis.quill_container = $(\"
    \").appendTo(this.input_area);\n\t\tif (this.df.max_height) {\n\t\t\t$(this.quill_container).css({ \"max-height\": this.df.max_height, overflow: \"auto\" });\n\t\t}\n\t\tthis.quill = new Quill(this.quill_container[0], this.get_quill_options());\n\t\tthis.bind_events();\n\t}\n\n\tbind_events() {\n\t\tthis.quill.on(\n\t\t\t\"text-change\",\n\t\t\tfrappe.utils.debounce((delta, oldDelta, source) => {\n\t\t\t\tif (!this.is_quill_dirty(source)) return;\n\n\t\t\t\tconst input_value = this.get_input_value();\n\t\t\t\tthis.parse_validate_and_set_in_model(input_value);\n\t\t\t}, 300)\n\t\t);\n\n\t\t$(this.quill.root).on(\"keydown\", (e) => {\n\t\t\tconst key = frappe.ui.keys && frappe.ui.keys.get_key(e);\n\t\t\tif ([\"ctrl+b\", \"meta+b\"].includes(key)) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t});\n\n\t\t$(this.quill.root).on(\"drop\", (e) => {\n\t\t\te.stopPropagation();\n\t\t});\n\n\t\t// table commands\n\t\tthis.$wrapper.on(\"click\", \".ql-table .ql-picker-item\", (e) => {\n\t\t\tconst $target = $(e.currentTarget);\n\t\t\tconst action = $target.data().value;\n\t\t\te.preventDefault();\n\n\t\t\tconst table = this.quill.getModule(\"table\");\n\t\t\tif (action === \"insert-table\") {\n\t\t\t\ttable.insertTable(2, 2);\n\t\t\t} else if (action === \"insert-row-above\") {\n\t\t\t\ttable.insertRowAbove();\n\t\t\t} else if (action === \"insert-row-below\") {\n\t\t\t\ttable.insertRowBelow();\n\t\t\t} else if (action === \"insert-column-left\") {\n\t\t\t\ttable.insertColumnLeft();\n\t\t\t} else if (action === \"insert-column-right\") {\n\t\t\t\ttable.insertColumnRight();\n\t\t\t} else if (action === \"delete-row\") {\n\t\t\t\ttable.deleteRow();\n\t\t\t} else if (action === \"delete-column\") {\n\t\t\t\ttable.deleteColumn();\n\t\t\t} else if (action === \"delete-table\") {\n\t\t\t\ttable.deleteTable();\n\t\t\t}\n\n\t\t\tif (action !== \"delete-row\") {\n\t\t\t\ttable.balanceTables();\n\t\t\t}\n\n\t\t\te.preventDefault();\n\t\t});\n\n\t\t// font size dropdown\n\t\tlet $font_size_label = this.$wrapper.find(\".ql-size .ql-picker-label:first\");\n\t\tlet $default_font_size = this.$wrapper.find(\".ql-size .ql-picker-item:first\");\n\n\t\tif ($font_size_label.length) {\n\t\t\t$font_size_label.attr(\"data-value\", \"---\");\n\t\t\t$default_font_size.attr(\"data-value\", \"---\");\n\t\t}\n\t}\n\n\tis_quill_dirty(source) {\n\t\tif (source === \"api\") return false;\n\t\tlet input_value = this.get_input_value();\n\t\treturn this.value !== input_value;\n\t}\n\n\tget_quill_options() {\n\t\tconst options = {\n\t\t\tmodules: {\n\t\t\t\ttoolbar: Object.keys(this.df).includes(\"get_toolbar_options\")\n\t\t\t\t\t? this.df.get_toolbar_options()\n\t\t\t\t\t: this.get_toolbar_options(),\n\t\t\t\ttable: true,\n\t\t\t\timageResize: {},\n\t\t\t\tmagicUrl: true,\n\t\t\t\tmention: this.get_mention_options(),\n\t\t\t},\n\t\t\ttheme: this.df.theme || \"snow\",\n\t\t\treadOnly: this.disabled,\n\t\t\tbounds: this.quill_container[0],\n\t\t\tplaceholder: this.df.placeholder || \"\",\n\t\t};\n\n\t\t// In a grid row where space is constrained, hide the toolbar.\n\t\tif (this.grid_row) {\n\t\t\toptions.theme = null;\n\t\t\toptions.modules.toolbar = [];\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tget_mention_options() {\n\t\tif (!this.enable_mentions && !this.df.enable_mentions) {\n\t\t\treturn null;\n\t\t}\n\t\tlet me = this;\n\t\treturn {\n\t\t\tallowedChars: /^[A-Za-z0-9_]*$/,\n\t\t\tmentionDenotationChars: [\"@\"],\n\t\t\tisolateCharacter: true,\n\t\t\tsource: frappe.utils.debounce(async function (search_term, renderList) {\n\t\t\t\tlet method =\n\t\t\t\t\tme.mention_search_method || \"frappe.desk.search.get_names_for_mentions\";\n\t\t\t\tlet values = await frappe.xcall(method, {\n\t\t\t\t\tsearch_term,\n\t\t\t\t});\n\n\t\t\t\tlet sorted_values = me.prioritize_involved_users_in_mention(values);\n\t\t\t\trenderList(sorted_values, search_term);\n\t\t\t}, 300),\n\t\t\trenderItem(item) {\n\t\t\t\tlet value = item.value;\n\t\t\t\treturn `${value} ${item.is_group ? frappe.utils.icon(\"users\") : \"\"}`;\n\t\t\t},\n\t\t};\n\t}\n\n\tprioritize_involved_users_in_mention(values) {\n\t\tconst involved_users =\n\t\t\tthis.frm?.get_involved_users() || // input on form\n\t\t\tcur_frm?.get_involved_users() || // comment box / dialog on active form\n\t\t\t[];\n\n\t\treturn values\n\t\t\t.filter((val) => involved_users.includes(val.id))\n\t\t\t.concat(values.filter((val) => !involved_users.includes(val.id)));\n\t}\n\n\tget_toolbar_options() {\n\t\treturn [\n\t\t\t[{ header: [1, 2, 3, false] }],\n\t\t\t[{ size: font_sizes }],\n\t\t\t[\"bold\", \"italic\", \"underline\", \"strike\", \"clean\"],\n\t\t\t[{ color: [] }, { background: [] }],\n\t\t\t[\"blockquote\", \"code-block\"],\n\t\t\t// Adding Direction tool to give the user the ability to change text direction.\n\t\t\t[{ direction: \"rtl\" }],\n\t\t\t[\"link\", \"image\"],\n\t\t\t[{ list: \"ordered\" }, { list: \"bullet\" }, { list: \"check\" }],\n\t\t\t[{ align: [] }],\n\t\t\t[{ indent: \"-1\" }, { indent: \"+1\" }],\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\ttable: [\n\t\t\t\t\t\t\"insert-table\",\n\t\t\t\t\t\t\"insert-row-above\",\n\t\t\t\t\t\t\"insert-row-below\",\n\t\t\t\t\t\t\"insert-column-right\",\n\t\t\t\t\t\t\"insert-column-left\",\n\t\t\t\t\t\t\"delete-row\",\n\t\t\t\t\t\t\"delete-column\",\n\t\t\t\t\t\t\"delete-table\",\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t];\n\t}\n\n\tparse(value) {\n\t\tif (value == null) {\n\t\t\tvalue = \"\";\n\t\t}\n\t\treturn frappe.dom.remove_script_and_style(value);\n\t}\n\n\tset_formatted_input(value) {\n\t\tif (!this.quill) return;\n\t\tif (value === this.get_input_value()) return;\n\t\tif (!value) {\n\t\t\t// clear contents for falsy values like '', undefined or null\n\t\t\tthis.quill.setText(\"\");\n\t\t\treturn;\n\t\t}\n\n\t\t// set html without triggering a focus\n\t\tconst delta = this.quill.clipboard.convert({ html: value, text: \"\" });\n\t\tthis.quill.setContents(delta);\n\t}\n\n\tget_input_value() {\n\t\tlet value = this.quill ? this.quill.root.innerHTML : \"\";\n\t\t// hack to retain space sequence.\n\t\tvalue = value.replace(/(\\s)(\\s)/g, \"  \");\n\t\tvalue = this.patch_unordered_list(value);\n\n\t\ttry {\n\t\t\tif (!$(value).find(\".ql-editor\").length) {\n\t\t\t\tvalue = `
    ${value}
    `;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tvalue = `
    ${value}
    `;\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tpatch_unordered_list(value) {\n\t\t/*\n\t\tQuill uses the
      element for ordered AND unordered lists. Unordered\n\t\tlists are identified by the data-list attribute. This creates problems\n\t\twhen cleaning up the html and the style of the list is lost.\n\n\t\tTo fix this, we convert the unordered lists to
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t
    `;\n\n\t\t\t$(template).appendTo(this.wrapper);\n\t\t\tthis.form_area = this.wrapper.find(\".form-area\");\n\t\t\tthis.row.set_row_index();\n\t\t\tthis.set_form_events();\n\t\t}\n\t}\n\tset_form_events() {\n\t\tvar me = this;\n\t\tthis.wrapper.find(\".grid-delete-row\").on(\"click\", function () {\n\t\t\tme.row.remove();\n\t\t\treturn false;\n\t\t});\n\t\tthis.wrapper.find(\".grid-insert-row\").on(\"click\", function () {\n\t\t\tme.row.insert(true);\n\t\t\treturn false;\n\t\t});\n\t\tthis.wrapper.find(\".grid-insert-row-below\").on(\"click\", function () {\n\t\t\tme.row.insert(true, true);\n\t\t\treturn false;\n\t\t});\n\t\tthis.wrapper.find(\".grid-duplicate-row\").on(\"click\", function () {\n\t\t\tme.row.insert(true, true, true);\n\t\t\treturn false;\n\t\t});\n\t\tthis.wrapper.find(\".grid-move-row\").on(\"click\", function () {\n\t\t\tme.row.move();\n\t\t\treturn false;\n\t\t});\n\t\tthis.wrapper.find(\".grid-append-row\").on(\"click\", function () {\n\t\t\tme.row.toggle_view(false);\n\t\t\tme.row.grid.add_new_row(me.row.doc.idx + 1, null, true);\n\t\t\treturn false;\n\t\t});\n\t\tthis.wrapper.find(\".grid-form-heading, .grid-footer-toolbar\").on(\"click\", function () {\n\t\t\tme.row.toggle_view();\n\t\t\treturn false;\n\t\t});\n\t}\n\ttoggle_add_delete_button_display($parent) {\n\t\t$parent.find(\".row-actions, .grid-append-row\").toggle(this.row.grid.is_editable());\n\t}\n\trefresh_field(fieldname) {\n\t\tconst field = this.fields_dict[fieldname];\n\t\tif (!field) return;\n\n\t\tfield.docname = this.row.doc.name;\n\t\tfield.refresh();\n\t\tthis.layout && this.layout.refresh_dependency();\n\t}\n\tset_focus() {\n\t\t// wait for animation and then focus on the first row\n\t\tvar me = this;\n\t\tsetTimeout(function () {\n\t\t\tif ((me.row.frm && me.row.frm.doc.docstatus === 0) || !me.row.frm) {\n\t\t\t\tvar first = me.form_area.find(\"input:first\");\n\t\t\t\tif (\n\t\t\t\t\tfirst.length &&\n\t\t\t\t\t![\"Date\", \"Datetime\", \"Time\"].includes(first.attr(\"data-fieldtype\"))\n\t\t\t\t) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfirst.get(0).focus();\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t//\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 500);\n\t}\n}\n", "import GridRowForm from \"./grid_row_form\";\n\nexport default class GridRow {\n\tconstructor(opts) {\n\t\tthis.on_grid_fields_dict = {};\n\t\tthis.on_grid_fields = [];\n\t\t$.extend(this, opts);\n\t\tthis.set_docfields();\n\t\tthis.columns = {};\n\t\tthis.columns_list = [];\n\t\tthis.row_check_html = '';\n\t\tthis.make();\n\t}\n\tmake() {\n\t\tlet me = this;\n\t\tlet render_row = true;\n\n\t\tthis.wrapper = $('
    ');\n\t\tthis.row = $('
    ')\n\t\t\t.appendTo(this.wrapper)\n\t\t\t.on(\"click\", function (e) {\n\t\t\t\tif (\n\t\t\t\t\t$(e.target).hasClass(\"grid-row-check\") ||\n\t\t\t\t\t$(e.target).hasClass(\"row-index\") ||\n\t\t\t\t\t$(e.target).parent().hasClass(\"row-index\")\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (me.grid.allow_on_grid_editing() && me.grid.is_editable()) {\n\t\t\t\t\t// pass\n\t\t\t\t} else {\n\t\t\t\t\tme.toggle_view();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\tif (this.grid.template && !this.grid.meta.editable_grid) {\n\t\t\tthis.render_template();\n\t\t} else {\n\t\t\trender_row = this.render_row();\n\t\t}\n\n\t\tif (!render_row) return;\n\n\t\tthis.set_data();\n\t\tthis.wrapper.appendTo(this.parent);\n\t}\n\n\tset_docfields(update = false) {\n\t\tif (this.doc && this.parent_df.options) {\n\t\t\tfrappe.meta.make_docfield_copy_for(\n\t\t\t\tthis.parent_df.options,\n\t\t\t\tthis.doc.name,\n\t\t\t\tthis.docfields\n\t\t\t);\n\t\t\tconst docfields = frappe.meta.get_docfields(this.parent_df.options, this.doc.name);\n\t\t\tif (update) {\n\t\t\t\t// to maintain references\n\t\t\t\tthis.docfields.forEach((df) => {\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\tdf,\n\t\t\t\t\t\tdocfields.find((d) => d.fieldname === df.fieldname)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.docfields = docfields;\n\t\t\t}\n\t\t}\n\t}\n\n\tset_data() {\n\t\tthis.wrapper.data({\n\t\t\tgrid_row: this,\n\t\t\tdoc: this.doc || \"\",\n\t\t});\n\t}\n\tset_row_index() {\n\t\tif (this.doc) {\n\t\t\tthis.wrapper\n\t\t\t\t.attr(\"data-name\", this.doc.name)\n\t\t\t\t.attr(\"data-idx\", this.doc.idx)\n\t\t\t\t.find(\".row-index span, .grid-form-row-index\")\n\t\t\t\t.html(this.doc.idx);\n\t\t}\n\t}\n\tselect(checked) {\n\t\tthis.doc.__checked = checked ? 1 : 0;\n\t}\n\trefresh_check() {\n\t\tthis.wrapper\n\t\t\t.find(\".grid-row-check\")\n\t\t\t.prop(\"checked\", this.doc ? !!this.doc.__checked : false);\n\t\tthis.grid.debounced_refresh_remove_rows_button();\n\t}\n\tremove() {\n\t\tvar me = this;\n\t\tif (this.grid.is_editable()) {\n\t\t\tif (this.get_open_form()) {\n\t\t\t\tthis.hide_form();\n\t\t\t}\n\t\t\tif (this.frm) {\n\t\t\t\tfrappe\n\t\t\t\t\t.run_serially([\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\treturn this.frm.script_manager.trigger(\n\t\t\t\t\t\t\t\t\"before_\" + this.grid.df.fieldname + \"_remove\",\n\t\t\t\t\t\t\t\tthis.doc.doctype,\n\t\t\t\t\t\t\t\tthis.doc.name\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tfrappe.model.clear_doc(this.doc.doctype, this.doc.name);\n\n\t\t\t\t\t\t\tthis.frm.script_manager.trigger(\n\t\t\t\t\t\t\t\tthis.grid.df.fieldname + \"_remove\",\n\t\t\t\t\t\t\t\tthis.doc.doctype,\n\t\t\t\t\t\t\t\tthis.doc.name\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.frm.dirty();\n\t\t\t\t\t\t\tthis.grid.refresh();\n\t\t\t\t\t\t},\n\t\t\t\t\t])\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t// aborted\n\t\t\t\t\t\tconsole.trace(e);\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlet data = null;\n\t\t\t\tif (this.grid.df.get_data) {\n\t\t\t\t\tdata = this.grid.df.get_data();\n\t\t\t\t} else {\n\t\t\t\t\tdata = this.grid.df.data;\n\t\t\t\t}\n\n\t\t\t\tconst index = data.findIndex((d) => d.name === me.doc.name);\n\n\t\t\t\tif (index > -1) {\n\t\t\t\t\t// mutate array directly,\n\t\t\t\t\t// else the object reference will be lost\n\t\t\t\t\tdata.splice(index, 1);\n\t\t\t\t}\n\t\t\t\t// remap idxs\n\t\t\t\tdata.forEach(function (d, i) {\n\t\t\t\t\td.idx = i + 1;\n\t\t\t\t});\n\n\t\t\t\tthis.grid.refresh();\n\t\t\t}\n\t\t}\n\t}\n\tinsert(show, below, duplicate) {\n\t\tvar idx = this.doc.idx;\n\t\tvar copy_doc = duplicate ? this.doc : null;\n\t\tif (below) idx++;\n\t\tthis.toggle_view(false);\n\t\tthis.grid.add_new_row(idx, null, show, copy_doc);\n\t}\n\tmove() {\n\t\t// promopt the user where they want to move this row\n\t\tvar me = this;\n\t\tfrappe.prompt(\n\t\t\t{\n\t\t\t\tfieldname: \"move_to\",\n\t\t\t\tlabel: __(\"Move to Row Number\"),\n\t\t\t\tfieldtype: \"Int\",\n\t\t\t\treqd: 1,\n\t\t\t\tdefault: this.doc.idx,\n\t\t\t},\n\t\t\tfunction (values) {\n\t\t\t\tif (me.doc._sortable === false) {\n\t\t\t\t\tfrappe.msgprint(__(\"Cannot move row\"));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// renumber and refresh\n\t\t\t\tlet data = me.grid.get_data();\n\t\t\t\tdata.move(me.doc.idx - 1, values.move_to - 1);\n\t\t\t\tme.frm.dirty();\n\n\t\t\t\t// renum idx\n\t\t\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\t\t\tdata[i].idx = i + 1;\n\t\t\t\t}\n\n\t\t\t\tme.toggle_view(false);\n\t\t\t\tme.grid.refresh();\n\t\t\t\t$(me.frm.wrapper).trigger(\"grid-move-row\", [me.frm, me]);\n\t\t\t},\n\t\t\t__(\"Move To\"),\n\t\t\t\"Update\"\n\t\t);\n\t}\n\trefresh() {\n\t\t// update docfields for new record\n\t\tif (this.frm && this.doc && this.doc.__islocal) {\n\t\t\tthis.set_docfields(true);\n\t\t}\n\n\t\tif (this.frm && this.doc) {\n\t\t\tthis.doc = locals[this.doc.doctype][this.doc.name];\n\t\t}\n\n\t\tif (this.grid.template && !this.grid.meta.editable_grid) {\n\t\t\tthis.render_template();\n\t\t} else {\n\t\t\tthis.render_row(true);\n\t\t}\n\n\t\t// refresh form fields\n\t\tif (this.grid_form) {\n\t\t\tthis.grid_form.layout && this.grid_form.layout.refresh(this.doc);\n\t\t}\n\t}\n\trender_template() {\n\t\tthis.set_row_index();\n\n\t\tif (this.row_display) {\n\t\t\tthis.row_display.remove();\n\t\t}\n\n\t\t// row index\n\t\tif (!this.row_index) {\n\t\t\tthis.row_index = $(\n\t\t\t\t`
    ${this.row_check_html}
    `\n\t\t\t).appendTo(this.row);\n\t\t}\n\n\t\tif (this.doc) {\n\t\t\tthis.row_index.find(\"span\").html(this.doc.idx);\n\t\t}\n\n\t\tthis.row_display = $('
    ')\n\t\t\t.appendTo(this.row)\n\t\t\t.html(\n\t\t\t\tfrappe.render(this.grid.template, {\n\t\t\t\t\tdoc: this.doc ? frappe.get_format_helper(this.doc) : null,\n\t\t\t\t\tfrm: this.frm,\n\t\t\t\t\trow: this,\n\t\t\t\t})\n\t\t\t);\n\t}\n\trender_row(refresh) {\n\t\tif (this.show_search && !this.show_search_row()) return;\n\n\t\tlet me = this;\n\t\tthis.set_row_index();\n\n\t\t// index (1, 2, 3 etc)\n\t\tif (!this.row_index && !this.show_search) {\n\t\t\tconst txt = this.doc\n\t\t\t\t? this.doc.idx\n\t\t\t\t: __(\"No.\", null, \"Title of the 'row number' column\");\n\n\t\t\tthis.row_check = $(\n\t\t\t\t`
    \n\t\t\t\t\t${this.row_check_html}\n\t\t\t\t
    `\n\t\t\t).appendTo(this.row);\n\n\t\t\tthis.row_index = $(\n\t\t\t\t`
    \n\t\t\t\t\t${txt}\n\t\t\t\t
    `\n\t\t\t)\n\t\t\t\t.appendTo(this.row)\n\t\t\t\t.on(\"click\", function (e) {\n\t\t\t\t\tif (!$(e.target).hasClass(\"grid-row-check\")) {\n\t\t\t\t\t\tme.toggle_view();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t} else if (this.show_search) {\n\t\t\tthis.row_check = $(`\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    `).appendTo(this.row);\n\n\t\t\tthis.row_index = $(\n\t\t\t\t`
    \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    `\n\t\t\t).appendTo(this.row);\n\n\t\t\tthis.row_index.find(\"input\").on(\n\t\t\t\t\"keyup\",\n\t\t\t\tfrappe.utils.debounce((e) => {\n\t\t\t\t\tlet df = {\n\t\t\t\t\t\tfieldtype: \"Sr No\",\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.grid.filter[\"row-index\"] = {\n\t\t\t\t\t\tdf: df,\n\t\t\t\t\t\tvalue: e.target.value,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (e.target.value == \"\") {\n\t\t\t\t\t\tdelete this.grid.filter[\"row-index\"];\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.grid.grid_sortable.option(\n\t\t\t\t\t\t\"disabled\",\n\t\t\t\t\t\tObject.keys(this.grid.filter).length !== 0\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.grid.prevent_build = true;\n\t\t\t\t\tme.grid.refresh();\n\t\t\t\t\tthis.grid.prevent_build = false;\n\t\t\t\t}, 500)\n\t\t\t);\n\t\t\tfrappe.utils.only_allow_num_decimal(this.row_index.find(\"input\"));\n\t\t}\n\n\t\tthis.setup_columns();\n\t\tthis.add_open_form_button();\n\t\tthis.add_column_configure_button();\n\t\tthis.refresh_check();\n\n\t\tif (this.frm && this.doc) {\n\t\t\t$(this.frm.wrapper).trigger(\"grid-row-render\", [this]);\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tmake_editable() {\n\t\tthis.row.toggleClass(\"editable-row\", this.grid.is_editable());\n\t}\n\n\tis_too_small() {\n\t\treturn this.row.width() ? this.row.width() < 300 : false;\n\t}\n\n\tadd_open_form_button() {\n\t\tvar me = this;\n\t\tif (this.doc && !this.grid.df.in_place_edit) {\n\t\t\t// remove row\n\t\t\tif (!this.open_form_button) {\n\t\t\t\tthis.open_form_button = $('
    ').appendTo(this.row);\n\n\t\t\t\tif (!this.configure_columns) {\n\t\t\t\t\tconst edit_msg = __(\"Edit\", \"\", \"Edit grid row\");\n\t\t\t\t\tthis.open_form_button = $(`\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t${frappe.utils.icon(\"edit\", \"xs\")}\n\t\t\t\t\t\t
    \n\t\t\t\t\t`)\n\t\t\t\t\t\t.appendTo(this.open_form_button)\n\t\t\t\t\t\t.on(\"click\", function () {\n\t\t\t\t\t\t\tme.toggle_view();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t});\n\n\t\t\t\t\tthis.open_form_button.tooltip({ delay: { show: 600, hide: 100 } });\n\t\t\t\t}\n\n\t\t\t\tif (this.is_too_small()) {\n\t\t\t\t\t// narrow\n\t\t\t\t\tthis.open_form_button.css({ \"margin-right\": \"-2px\" });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tadd_column_configure_button() {\n\t\tif (this.grid.df.in_place_edit && !this.frm) return;\n\n\t\tif (this.configure_columns && this.frm) {\n\t\t\tthis.configure_columns_button = $(`\n\t\t\t\t\n\t\t\t`)\n\t\t\t\t.appendTo(this.row)\n\t\t\t\t.on(\"click\", () => {\n\t\t\t\t\tthis.configure_dialog_for_columns_selector();\n\t\t\t\t});\n\t\t} else if (this.configure_columns && !this.frm) {\n\t\t\tthis.configure_columns_button = $(`\n\t\t\t\t
    \n\t\t\t`).appendTo(this.row);\n\t\t}\n\t}\n\n\tconfigure_dialog_for_columns_selector() {\n\t\tthis.grid_settings_dialog = new frappe.ui.Dialog({\n\t\t\ttitle: __(\"Configure Columns\"),\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tfieldtype: \"HTML\",\n\t\t\t\t\tfieldname: \"fields_html\",\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\n\t\tthis.grid.setup_visible_columns();\n\t\tthis.setup_columns_for_dialog();\n\t\tthis.prepare_wrapper_for_columns();\n\t\tthis.render_selected_columns();\n\t\tthis.grid_settings_dialog.show();\n\n\t\t$(this.fields_html_wrapper)\n\t\t\t.find(\".add-new-fields\")\n\t\t\t.click(() => {\n\t\t\t\tthis.column_selector_for_dialog();\n\t\t\t});\n\n\t\tthis.grid_settings_dialog.set_primary_action(__(\"Update\"), () => {\n\t\t\tthis.columns = {};\n\t\t\tthis.update_user_settings_for_grid();\n\t\t\tthis.grid_settings_dialog.hide();\n\t\t});\n\n\t\tthis.grid_settings_dialog.set_secondary_action_label(__(\"Reset to default\"));\n\t\tthis.grid_settings_dialog.set_secondary_action(() => {\n\t\t\tthis.reset_user_settings_for_grid();\n\t\t\tthis.grid_settings_dialog.hide();\n\t\t});\n\t}\n\n\tsetup_columns_for_dialog() {\n\t\tthis.selected_columns_for_grid = [];\n\t\tthis.grid.visible_columns.forEach((row) => {\n\t\t\tthis.selected_columns_for_grid.push({\n\t\t\t\tfieldname: row[0].fieldname,\n\t\t\t\tcolumns: row[0].columns || row[0].colsize,\n\t\t\t\tsticky: row[0].sticky,\n\t\t\t});\n\t\t});\n\t}\n\n\tprepare_wrapper_for_columns() {\n\t\tthis.fields_html_wrapper = this.grid_settings_dialog.get_field(\"fields_html\").$wrapper[0];\n\n\t\t$(`\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t${__(\"Fieldname\").bold()}\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t${__(\"Column Width\").bold()}\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t${__(\"Sticky\").bold()}\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t\n\t\t\t\t\t\t+ ${__(\"Add / Remove Columns\")}\n\t\t\t\t\t\n\t\t\t\t

    \n\t\t\t
    \n\t\t`).appendTo(this.fields_html_wrapper);\n\t}\n\n\tcolumn_selector_for_dialog() {\n\t\tlet docfields = this.prepare_columns_for_dialog(\n\t\t\tthis.selected_columns_for_grid.map((field) => field.fieldname)\n\t\t);\n\n\t\tlet d = new frappe.ui.Dialog({\n\t\t\ttitle: __(\"{0} Fields\", [__(this.grid.doctype)]),\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tlabel: __(\"Select Fields\"),\n\t\t\t\t\tfieldtype: \"MultiCheck\",\n\t\t\t\t\tfieldname: \"fields\",\n\t\t\t\t\toptions: docfields,\n\t\t\t\t\tcolumns: 2,\n\t\t\t\t\tsort_options: false,\n\t\t\t\t},\n\t\t\t],\n\t\t\tsecondary_action_label: __(\"Select All\"),\n\t\t\tsecondary_action: () => this.select_all_columns(docfields),\n\t\t});\n\n\t\td.set_primary_action(__(\"Add\"), () => {\n\t\t\tlet selected_fields = d.get_values().fields;\n\t\t\tthis.selected_columns_for_grid = [];\n\t\t\tif (selected_fields) {\n\t\t\t\tselected_fields.forEach((selected_column) => {\n\t\t\t\t\tlet docfield = frappe.meta.get_docfield(this.grid.doctype, selected_column);\n\t\t\t\t\tthis.grid.update_default_colsize(docfield);\n\n\t\t\t\t\tthis.selected_columns_for_grid.push({\n\t\t\t\t\t\tfieldname: selected_column,\n\t\t\t\t\t\tcolumns: docfield.columns || docfield.colsize,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.render_selected_columns();\n\t\t\t\td.hide();\n\t\t\t}\n\t\t});\n\n\t\td.show();\n\t}\n\n\tselect_all_columns(docfields) {\n\t\tdocfields.forEach((docfield) => {\n\t\t\tif (docfield.checked) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t$(`.checkbox.unit-checkbox input[type=\"checkbox\"][data-unit=\"${docfield.value}\"]`)\n\t\t\t\t.prop(\"checked\", true)\n\t\t\t\t.trigger(\"change\");\n\t\t});\n\t}\n\n\tprepare_columns_for_dialog(selected_fields) {\n\t\tlet fields = [];\n\n\t\tconst blocked_fields = frappe.model.no_value_type;\n\t\tconst always_allow = [\"Button\"];\n\n\t\tconst show_field = (f) => always_allow.includes(f) || !blocked_fields.includes(f);\n\n\t\t// First, add selected fields\n\t\tselected_fields.forEach((selectedField) => {\n\t\t\tconst selectedColumn = this.docfields.find(\n\t\t\t\t(column) => column.fieldname === selectedField\n\t\t\t);\n\t\t\tif (selectedColumn && !selectedColumn.hidden && show_field(selectedColumn.fieldtype)) {\n\t\t\t\tfields.push({\n\t\t\t\t\tlabel: __(selectedColumn.label, null, this.grid.doctype),\n\t\t\t\t\tvalue: selectedColumn.fieldname,\n\t\t\t\t\tchecked: true,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t// Then, add the rest of the fields\n\t\tthis.docfields.forEach((column) => {\n\t\t\tif (\n\t\t\t\t!selected_fields.includes(column.fieldname) &&\n\t\t\t\t!column.hidden &&\n\t\t\t\tshow_field(column.fieldtype)\n\t\t\t) {\n\t\t\t\tfields.push({\n\t\t\t\t\tlabel: __(column.label, null, this.grid.doctype),\n\t\t\t\t\tvalue: column.fieldname,\n\t\t\t\t\tchecked: false,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn fields;\n\t}\n\n\trender_selected_columns() {\n\t\tlet fields = \"\";\n\t\tif (this.selected_columns_for_grid) {\n\t\t\tthis.selected_columns_for_grid.forEach((d) => {\n\t\t\t\tlet docfield = frappe.meta.get_docfield(this.grid.doctype, d.fieldname);\n\n\t\t\t\tfields += `\n\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t${frappe.utils.icon(\"drag\", \"xs\")}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t${__(docfield.label, null, docfield.parent)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    `;\n\t\t\t});\n\t\t}\n\n\t\t$(this.fields_html_wrapper).find(\".selected-fields\").html(fields);\n\n\t\tthis.prepare_handler_for_sort();\n\t\tthis.select_on_focus();\n\t\tthis.update_column_width();\n\t\tthis.update_sticky_column();\n\t\tthis.remove_selected_column();\n\t}\n\n\tprepare_handler_for_sort() {\n\t\tnew Sortable($(this.fields_html_wrapper).find(\".selected-fields\")[0], {\n\t\t\thandle: \".sortable-handle\",\n\t\t\tdraggable: \".sortable\",\n\t\t\tonUpdate: () => {\n\t\t\t\tthis.sort_columns();\n\t\t\t},\n\t\t});\n\t}\n\n\tsort_columns() {\n\t\tthis.selected_columns_for_grid = [];\n\n\t\tlet columns = $(this.fields_html_wrapper).find(\".fields_order\") || [];\n\t\tcolumns.each((idx) => {\n\t\t\tthis.selected_columns_for_grid.push({\n\t\t\t\tfieldname: $(columns[idx]).attr(\"data-fieldname\"),\n\t\t\t\tcolumns: cint($(columns[idx]).find(\".column-width\").attr(\"value\")),\n\t\t\t});\n\t\t});\n\t}\n\n\tselect_on_focus() {\n\t\t$(this.fields_html_wrapper)\n\t\t\t.find(\".column-width\")\n\t\t\t.click((event) => {\n\t\t\t\t$(event.target).select();\n\t\t\t});\n\t}\n\n\tupdate_column_width() {\n\t\t$(this.fields_html_wrapper)\n\t\t\t.find(\".column-width\")\n\t\t\t.change((event) => {\n\t\t\t\tif (cint(event.target.value) === 0) {\n\t\t\t\t\tevent.target.value = cint(event.target.defaultValue);\n\t\t\t\t\tfrappe.throw(__(\"Column width cannot be zero.\"));\n\t\t\t\t}\n\n\t\t\t\tthis.selected_columns_for_grid.forEach((row) => {\n\t\t\t\t\tif (row.fieldname === event.target.dataset.fieldname) {\n\t\t\t\t\t\trow.columns = cint(event.target.value);\n\t\t\t\t\t\tevent.target.defaultValue = cint(event.target.value);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tupdate_sticky_column() {\n\t\t$(this.fields_html_wrapper)\n\t\t\t.find(\".sticky-column\")\n\t\t\t.change((event) => {\n\t\t\t\tthis.selected_columns_for_grid.forEach((row) => {\n\t\t\t\t\tif (row.fieldname === event.target.dataset.fieldname) {\n\t\t\t\t\t\trow.sticky = cint(event.target.checked);\n\t\t\t\t\t\tevent.target.defaultValue = cint(event.target.checked);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tremove_selected_column() {\n\t\t$(this.fields_html_wrapper)\n\t\t\t.find(\".remove-field\")\n\t\t\t.click((event) => {\n\t\t\t\tlet fieldname = event.currentTarget.dataset.fieldname;\n\t\t\t\tlet selected_columns_for_grid = this.selected_columns_for_grid.filter((row) => {\n\t\t\t\t\treturn row.fieldname !== fieldname;\n\t\t\t\t});\n\n\t\t\t\tif (selected_columns_for_grid && selected_columns_for_grid.length === 0) {\n\t\t\t\t\tfrappe.throw(__(\"At least one column is required to show in the grid.\"));\n\t\t\t\t}\n\n\t\t\t\tthis.selected_columns_for_grid = selected_columns_for_grid;\n\t\t\t\t$(this.fields_html_wrapper).find(`[data-fieldname=\"${fieldname}\"]`).remove();\n\t\t\t});\n\t}\n\n\tupdate_user_settings_for_grid() {\n\t\tif (!this.selected_columns_for_grid || !this.frm) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet value = {};\n\t\tvalue[this.grid.doctype] = this.selected_columns_for_grid;\n\t\tfrappe.model.user_settings.save(this.frm.doctype, \"GridView\", value).then((r) => {\n\t\t\tfrappe.model.user_settings[this.frm.doctype] = r.message || r;\n\t\t\tthis.grid.reset_grid();\n\t\t});\n\t}\n\n\treset_user_settings_for_grid() {\n\t\tfrappe.model.user_settings.save(this.frm.doctype, \"GridView\", null).then((r) => {\n\t\t\tfrappe.model.user_settings[this.frm.doctype] = r.message || r;\n\t\t\tthis.grid.reset_grid();\n\t\t});\n\t}\n\n\tsetup_columns() {\n\t\tthis.focus_set = false;\n\t\tthis.search_columns = {};\n\n\t\tthis.grid.setup_visible_columns();\n\t\tlet fields =\n\t\t\tthis.grid.user_defined_columns && this.grid.user_defined_columns.length > 0\n\t\t\t\t? this.grid.user_defined_columns\n\t\t\t\t: this.docfields;\n\n\t\tlet total_colsize = 0;\n\n\t\tthis.grid.visible_columns.forEach((col, ci) => {\n\t\t\t// to get update df for the row\n\t\t\tlet df = fields.find((field) => field?.fieldname === col[0].fieldname);\n\n\t\t\tthis.set_dependant_property(df);\n\n\t\t\tlet colsize = col[1];\n\n\t\t\ttotal_colsize += colsize;\n\t\t\tlet txt = this.doc\n\t\t\t\t? frappe.format(this.doc[df.fieldname], df, null, this.doc)\n\t\t\t\t: __(df.label, null, df.parent);\n\n\t\t\tif (this.doc && df.fieldtype === \"Select\") {\n\t\t\t\ttxt = __(txt);\n\t\t\t}\n\t\t\tlet column;\n\t\t\tif (!this.columns[df.fieldname] && !this.show_search) {\n\t\t\t\tcolumn = this.make_column(df, colsize, txt, ci);\n\t\t\t} else if (!this.columns[df.fieldname] && this.show_search) {\n\t\t\t\tcolumn = this.make_search_column(df, colsize);\n\t\t\t} else {\n\t\t\t\tcolumn = this.columns[df.fieldname];\n\t\t\t\tthis.refresh_field(df.fieldname, txt);\n\t\t\t}\n\n\t\t\t// background color for cell\n\t\t\tif (this.doc) {\n\t\t\t\tif (df.reqd && !txt) {\n\t\t\t\t\tcolumn.addClass(\"error\");\n\t\t\t\t}\n\t\t\t\tif (column.is_invalid) {\n\t\t\t\t\tcolumn.addClass(\"invalid\");\n\t\t\t\t} else if (df.reqd || df.bold) {\n\t\t\t\t\tcolumn.addClass(\"bold\");\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tlet current_grid = $(\n\t\t\t`div[data-fieldname=\"${this.grid.df.fieldname}\"] .form-grid-container`\n\t\t);\n\t\tif (total_colsize > 10) {\n\t\t\tcurrent_grid.addClass(\"column-limit-reached\");\n\t\t} else if (current_grid.hasClass(\"column-limit-reached\")) {\n\t\t\tif (Number($(current_grid).children(\".form-grid\").css(\"left\")) != 0) {\n\t\t\t\t$(current_grid).children(\".form-grid\").css(\"left\", 0);\n\t\t\t\t$(current_grid).children().find(\".grid-scroll-bar\").css({\n\t\t\t\t\twidth: \"auto\",\n\t\t\t\t\t\"margin-left\": \"0px\",\n\t\t\t\t});\n\t\t\t\t$(current_grid).children().find(\".grid-scroll-bar-rows\").css(\"width\", \"auto\");\n\t\t\t}\n\t\t\tcurrent_grid.removeClass(\"column-limit-reached\");\n\t\t}\n\n\t\tif (this.show_search) {\n\t\t\t// last empty column\n\t\t\t$(`
    `).appendTo(this.row);\n\t\t}\n\t}\n\n\tset_dependant_property(df) {\n\t\tif (\n\t\t\t!df.reqd &&\n\t\t\tdf.mandatory_depends_on &&\n\t\t\tthis.evaluate_depends_on_value(df.mandatory_depends_on)\n\t\t) {\n\t\t\tdf.reqd = 1;\n\t\t}\n\n\t\tif (\n\t\t\t!df.read_only &&\n\t\t\tdf.read_only_depends_on &&\n\t\t\tthis.evaluate_depends_on_value(df.read_only_depends_on)\n\t\t) {\n\t\t\tdf.read_only = 1;\n\t\t}\n\t}\n\n\tevaluate_depends_on_value(expression) {\n\t\tlet out = null;\n\t\tlet doc = this.doc;\n\n\t\tif (!doc) return;\n\n\t\tlet parent = this.frm ? this.frm.doc : this.doc || null;\n\n\t\tif (typeof expression === \"boolean\") {\n\t\t\tout = expression;\n\t\t} else if (typeof expression === \"function\") {\n\t\t\tout = expression(doc);\n\t\t} else if (expression.substr(0, 5) == \"eval:\") {\n\t\t\ttry {\n\t\t\t\tout = frappe.utils.eval(expression.substr(5), { doc, parent });\n\t\t\t\tif (parent && parent.istable && expression.includes(\"is_submittable\")) {\n\t\t\t\t\tout = true;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tfrappe.throw(__('Invalid \"depends_on\" expression'));\n\t\t\t}\n\t\t} else if (expression.substr(0, 3) == \"fn:\" && this.frm) {\n\t\t\tout = this.frm.script_manager.trigger(\n\t\t\t\texpression.substr(3),\n\t\t\t\tthis.doctype,\n\t\t\t\tthis.docname\n\t\t\t);\n\t\t} else {\n\t\t\tvar value = doc[expression];\n\t\t\tif ($.isArray(value)) {\n\t\t\t\tout = !!value.length;\n\t\t\t} else {\n\t\t\t\tout = !!value;\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tshow_search_row() {\n\t\t// show or remove search columns based on grid rows\n\t\tthis.show_search =\n\t\t\tthis.show_search && (this.grid?.data?.length >= 20 || this.grid.filter_applied);\n\t\t!this.show_search && this.wrapper.remove();\n\t\treturn this.show_search;\n\t}\n\n\tmake_search_column(df, colsize) {\n\t\tlet title = \"\";\n\t\tlet input_class = \"\";\n\t\tlet is_disabled = \"\";\n\n\t\tif ([\"Text\", \"Small Text\"].includes(df.fieldtype)) {\n\t\t\tinput_class = \"grid-overflow-no-ellipsis\";\n\t\t} else if ([\"Int\", \"Currency\", \"Float\", \"Percent\"].includes(df.fieldtype)) {\n\t\t\tinput_class = \"text-right\";\n\t\t} else if (df.fieldtype === \"Check\") {\n\t\t\ttitle = __(\"1 = True & 0 = False\");\n\t\t\tinput_class = \"text-center\";\n\t\t} else if (df.fieldtype === \"Password\") {\n\t\t\tis_disabled = \"disabled\";\n\t\t\ttitle = __(\"Password cannot be filtered\");\n\t\t}\n\n\t\tlet $col = $(\n\t\t\t'
    '\n\t\t).appendTo(this.row);\n\n\t\tlet $search_input = $(`\n\t\t\t\n\t\t`).appendTo($col);\n\n\t\tthis.search_columns[df.fieldname] = $col;\n\n\t\t$search_input.on(\n\t\t\t\"keyup\",\n\t\t\tfrappe.utils.debounce((e) => {\n\t\t\t\tthis.grid.filter[df.fieldname] = {\n\t\t\t\t\tdf: df,\n\t\t\t\t\tvalue: e.target.value,\n\t\t\t\t};\n\n\t\t\t\tif (e.target.value == \"\") {\n\t\t\t\t\tdelete this.grid.filter[df.fieldname];\n\t\t\t\t}\n\n\t\t\t\tif (this.grid.grid_sortable) {\n\t\t\t\t\tthis.grid.grid_sortable.option(\n\t\t\t\t\t\t\"disabled\",\n\t\t\t\t\t\tObject.keys(this.grid.filter).length !== 0\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tthis.grid.prevent_build = true;\n\t\t\t\tthis.grid.grid_pagination.go_to_page(1);\n\t\t\t\tthis.grid.refresh();\n\t\t\t\tthis.grid.prevent_build = false;\n\t\t\t}, 500)\n\t\t);\n\n\t\t[\"Currency\", \"Float\", \"Int\", \"Percent\", \"Rating\"].includes(df.fieldtype) &&\n\t\t\tfrappe.utils.only_allow_num_decimal($search_input);\n\n\t\treturn $col;\n\t}\n\n\tmake_column(df, colsize, txt, ci) {\n\t\tlet col_sizes = {\n\t\t\t1: 60,\n\t\t\t2: 100,\n\t\t\t3: 140,\n\t\t\t4: 200,\n\t\t\t5: 250,\n\t\t\t6: 300,\n\t\t\t7: 350,\n\t\t\t8: 400,\n\t\t\t9: 450,\n\t\t\t10: 500,\n\t\t\t11: 550,\n\t\t\t12: 600,\n\t\t};\n\t\tlet me = this;\n\t\tvar add_class =\n\t\t\t[\"Text\", \"Small Text\"].indexOf(df.fieldtype) !== -1\n\t\t\t\t? \" grid-overflow-no-ellipsis\"\n\t\t\t\t: \"\";\n\t\tadd_class +=\n\t\t\t[\"Int\", \"Currency\", \"Float\", \"Percent\"].indexOf(df.fieldtype) !== -1\n\t\t\t\t? \" text-right\"\n\t\t\t\t: \"\";\n\t\tadd_class += [\"Check\"].indexOf(df.fieldtype) !== -1 ? \" text-center\" : \"\";\n\n\t\tlet add_style = \"\";\n\t\tif (df.sticky) {\n\t\t\tadd_class += \" sticky-grid-col\";\n\t\t\tif (!(df.fieldname in this.grid.sticky_rows)) {\n\t\t\t\tthis.grid.sticky_rows[df.fieldname] = this.grid.sticky_row_sum;\n\t\t\t\tthis.grid.sticky_row_sum = Object.keys(this.grid.sticky_rows).length\n\t\t\t\t\t? this.grid.sticky_row_sum + col_sizes[colsize]\n\t\t\t\t\t: this.grid.sticky_row_sum;\n\t\t\t}\n\t\t\tadd_style += `left: ${this.grid.sticky_rows[df.fieldname] || 71}px;`;\n\t\t}\n\n\t\tlet grid;\n\t\tlet grid_container;\n\t\tlet input_in_focus = false;\n\n\t\t// prevent random layout shifts caused by widgets and on click position elements inside view (UX).\n\t\tfunction on_input_focus(el) {\n\t\t\tinput_in_focus = true;\n\n\t\t\tlet container_width = grid_container.getBoundingClientRect().width;\n\t\t\tlet container_left = grid_container.getBoundingClientRect().left;\n\t\t\tlet grid_left = parseFloat(grid.style.left);\n\t\t\tlet element_left = el.offset().left;\n\t\t\tlet fieldtype = el.data(\"fieldtype\");\n\n\t\t\tlet offset_right = container_width - (element_left + el.width());\n\t\t\tlet offset_left = 0;\n\t\t\tlet element_screen_x = element_left - container_left;\n\t\t\tlet element_position_x = container_width - (element_left - container_left);\n\n\t\t\tif ([\"Date\", \"Time\", \"Datetime\"].includes(fieldtype)) {\n\t\t\t\toffset_left = element_position_x - 220;\n\t\t\t}\n\t\t\tif ([\"Link\", \"Dynamic Link\"].includes(fieldtype)) {\n\t\t\t\toffset_left = element_position_x - 250;\n\t\t\t}\n\t\t\tif (element_screen_x < 0) {\n\t\t\t\tgrid.style.left = `${grid_left - element_screen_x}px`;\n\t\t\t} else if (offset_left < 0) {\n\t\t\t\tgrid.style.left = `${grid_left + offset_left}px`;\n\t\t\t} else if (offset_right < 0) {\n\t\t\t\tgrid.style.left = `${grid_left + offset_right}px`;\n\t\t\t}\n\t\t}\n\n\t\t// Delay date_picker widget to prevent temparary layout shift (UX).\n\t\tfunction handle_date_picker() {\n\t\t\tlet date_time_picker = document.querySelectorAll(\".datepicker.active\")[0];\n\n\t\t\tdate_time_picker.classList.remove(\"active\");\n\t\t\tdate_time_picker.style.width = \"220px\";\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tdate_time_picker.classList.add(\"active\");\n\t\t\t}, 600);\n\t\t}\n\n\t\tfunction trigger_focus(input_field, col_df) {\n\t\t\tif ([\"Date\", \"Datetime\"].includes(col_df.fieldtype) && col_df?.read_only) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tinput_field.trigger(\"focus\");\n\t\t}\n\n\t\tvar $col = $(\n\t\t\t`
    `\n\t\t)\n\t\t\t.attr(\"data-fieldname\", df.fieldname)\n\t\t\t.attr(\"data-fieldtype\", df.fieldtype)\n\t\t\t.data(\"df\", df)\n\t\t\t.appendTo(this.row)\n\t\t\t.on(\"click\", function (event) {\n\t\t\t\tif (df.fieldtype === \"Link\" || df.fieldtype === \"Dynamic Link\") {\n\t\t\t\t\tfrappe.utils.sleep(500).then(() => {\n\t\t\t\t\t\tlet element_position = event.target.getBoundingClientRect();\n\t\t\t\t\t\t$(this)\n\t\t\t\t\t\t\t.find(\".awesomplete > ul:first-of-type\")\n\t\t\t\t\t\t\t.css(\n\t\t\t\t\t\t\t\t\"top\",\n\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\telement_position.bottom\n\t\t\t\t\t\t\t\t\t\t? element_position.bottom\n\t\t\t\t\t\t\t\t\t\t: event.clientY + 20\n\t\t\t\t\t\t\t\t}px`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (frappe.ui.form.editable_row !== me) {\n\t\t\t\t\tvar out = me.toggle_editable_row();\n\t\t\t\t}\n\t\t\t\tvar col = this;\n\t\t\t\tlet first_input_field = $(col).find('input[type=\"Text\"]:first');\n\t\t\t\tlet input_in_focus = false;\n\n\t\t\t\t$(col)\n\t\t\t\t\t.find(\"input[type='text']\")\n\t\t\t\t\t.each(function () {\n\t\t\t\t\t\tif ($(this).is(\":focus\")) {\n\t\t\t\t\t\t\tinput_in_focus = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t!input_in_focus && trigger_focus(first_input_field, $(col).data(\"df\"));\n\n\t\t\t\tif (event.pointerType == \"touch\") {\n\t\t\t\t\tfirst_input_field.length && on_input_focus(first_input_field);\n\n\t\t\t\t\tfirst_input_field.one(\"blur\", () => (input_in_focus = false));\n\n\t\t\t\t\tfirst_input_field.data(\"fieldtype\") == \"Date\" && handle_date_picker();\n\t\t\t\t}\n\n\t\t\t\treturn out;\n\t\t\t});\n\n\t\t$col.field_area = $('
    ').appendTo($col).toggle(false);\n\t\t$col.static_area = $('
    ').appendTo($col).html(txt);\n\n\t\t// set title attribute to see full label for columns in the heading row\n\t\tif (!this.doc) {\n\t\t\t$col.attr(\"title\", txt);\n\t\t}\n\t\tdf.fieldname && $col.static_area.toggleClass(\"reqd\", Boolean(df.reqd));\n\n\t\t$col.df = df;\n\t\t$col.column_index = ci;\n\n\t\tthis.columns[df.fieldname] = $col;\n\t\tthis.columns_list.push($col);\n\n\t\treturn $col;\n\t}\n\n\tactivate() {\n\t\tthis.toggle_editable_row(true);\n\t\treturn this;\n\t}\n\n\ttoggle_editable_row(show) {\n\t\tvar me = this;\n\t\t// show static for field based on\n\t\t// whether grid is editable\n\t\tif (\n\t\t\tthis.grid.allow_on_grid_editing() &&\n\t\t\tthis.grid.is_editable() &&\n\t\t\tthis.doc &&\n\t\t\tshow !== false\n\t\t) {\n\t\t\t// disable other editable row\n\t\t\tif (frappe.ui.form.editable_row && frappe.ui.form.editable_row !== this) {\n\t\t\t\tfrappe.ui.form.editable_row.toggle_editable_row(false);\n\t\t\t}\n\n\t\t\tthis.row.toggleClass(\"editable-row\", true);\n\n\t\t\t// setup controls\n\t\t\tthis.columns_list.forEach(function (column) {\n\t\t\t\tme.make_control(column);\n\t\t\t\tcolumn.static_area.toggle(false);\n\t\t\t\tcolumn.field_area.toggle(true);\n\t\t\t});\n\n\t\t\tfrappe.ui.form.editable_row = this;\n\t\t\treturn false;\n\t\t} else {\n\t\t\tthis.row.toggleClass(\"editable-row\", false);\n\n\t\t\tthis.columns_list.forEach((column, index) => {\n\t\t\t\tif (!this.frm) {\n\t\t\t\t\tlet df = this.grid.visible_columns[index][0];\n\n\t\t\t\t\tlet txt = this.doc\n\t\t\t\t\t\t? frappe.format(this.doc[df.fieldname], df, null, this.doc)\n\t\t\t\t\t\t: __(df.label, null, df.parent);\n\n\t\t\t\t\tthis.refresh_field(df.fieldname, txt);\n\t\t\t\t}\n\n\t\t\t\tif (!column.df.hidden) {\n\t\t\t\t\tcolumn.static_area.toggle(true);\n\t\t\t\t}\n\n\t\t\t\tcolumn.field_area && column.field_area.toggle(false);\n\t\t\t});\n\t\t\tfrappe.ui.form.editable_row = null;\n\t\t}\n\t}\n\n\tmake_control(column) {\n\t\tif (column.field) return;\n\n\t\tvar me = this,\n\t\t\tparent = column.field_area,\n\t\t\tdf = column.df;\n\n\t\tvar field = frappe.ui.form.make_control({\n\t\t\tdf: df,\n\t\t\tparent: parent,\n\t\t\tonly_input: true,\n\t\t\twith_link_btn: true,\n\t\t\tdoc: this.doc,\n\t\t\tdoctype: this.doc.doctype,\n\t\t\tdocname: this.doc.name,\n\t\t\tfrm: this.grid.frm,\n\t\t\tgrid: this.grid,\n\t\t\tgrid_row: this,\n\t\t\tvalue: this.doc[df.fieldname],\n\t\t});\n\n\t\t// sync get_query\n\t\tfield.get_query = this.grid.get_field(df.fieldname).get_query;\n\n\t\t// df.onchange is common for all rows in grid\n\t\tlet field_on_change_function = df.onchange;\n\t\tfield.df.change = (e) => {\n\t\t\t// trigger onchange with current grid row field as \"this\"\n\t\t\tfield_on_change_function && field_on_change_function.apply(field, [e]);\n\t\t\tme.refresh_field(field.df.fieldname);\n\t\t};\n\n\t\tfield.refresh();\n\t\tif (field.$input) {\n\t\t\tfield.$input\n\t\t\t\t.addClass(\"input-sm\")\n\t\t\t\t.attr(\"data-col-idx\", column.column_index)\n\t\t\t\t.attr(\"placeholder\", __(df.placeholder || df.label));\n\t\t\t// flag list input\n\t\t\tif (this.columns_list && this.columns_list.slice(-1)[0] === column) {\n\t\t\t\tfield.$input.attr(\"data-last-input\", 1);\n\t\t\t}\n\t\t}\n\n\t\tthis.set_arrow_keys(field);\n\t\tcolumn.field = field;\n\t\tthis.on_grid_fields_dict[df.fieldname] = field;\n\t\tthis.on_grid_fields.push(field);\n\t}\n\n\tset_arrow_keys(field) {\n\t\tvar me = this;\n\t\tlet ignore_fieldtypes = [\"Text\", \"Small Text\", \"Code\", \"Text Editor\", \"HTML Editor\"];\n\t\tif (field.$input) {\n\t\t\tfield.$input.on(\"keydown\", function (e) {\n\t\t\t\tvar { ESCAPE, TAB, UP: UP_ARROW, DOWN: DOWN_ARROW } = frappe.ui.keyCode;\n\t\t\t\tif (![TAB, UP_ARROW, DOWN_ARROW, ESCAPE].includes(e.which)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar values = me.grid.get_data();\n\t\t\t\tvar fieldname = $(this).attr(\"data-fieldname\");\n\t\t\t\tvar fieldtype = $(this).attr(\"data-fieldtype\");\n\n\t\t\t\tlet ctrl_key = e.metaKey || e.ctrlKey;\n\t\t\t\tif (!ignore_fieldtypes.includes(fieldtype) && ctrl_key && e.which !== TAB) {\n\t\t\t\t\tme.add_new_row_using_keys(e);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (e.shiftKey && e.altKey && DOWN_ARROW === e.which) {\n\t\t\t\t\tme.duplicate_row_using_keys();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar move_up_down = function (base) {\n\t\t\t\t\tif (ignore_fieldtypes.includes(fieldtype) && !e.altKey) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif (field.autocomplete_open) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tbase.toggle_editable_row();\n\t\t\t\t\tvar input = base.columns[fieldname].field.$input;\n\t\t\t\t\tif (input) {\n\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t};\n\n\t\t\t\t// ESC\n\t\t\t\tif (e.which === ESCAPE && !e.shiftKey) {\n\t\t\t\t\tif (me.doc.__unedited) {\n\t\t\t\t\t\tme.grid.grid_rows[me.doc.idx - 1].remove();\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\t// TAB\n\t\t\t\tif (e.which === TAB && !e.shiftKey) {\n\t\t\t\t\tvar last_column = me.wrapper.find(\":input:enabled:last\").get(0);\n\t\t\t\t\tvar is_last_column = $(this).attr(\"data-last-input\") || last_column === this;\n\n\t\t\t\t\tif (is_last_column) {\n\t\t\t\t\t\t// last row\n\t\t\t\t\t\tif (me.doc.idx === values.length) {\n\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\tme.grid.add_new_row(null, null, true);\n\t\t\t\t\t\t\t\tme.grid.grid_rows[\n\t\t\t\t\t\t\t\t\tme.grid.grid_rows.length - 1\n\t\t\t\t\t\t\t\t].toggle_editable_row();\n\t\t\t\t\t\t\t\tme.grid.set_focus_on_row();\n\t\t\t\t\t\t\t}, 100);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// last column before last row\n\t\t\t\t\t\t\tme.grid.grid_rows[me.doc.idx].toggle_editable_row();\n\t\t\t\t\t\t\tme.grid.set_focus_on_row(me.doc.idx);\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (e.which === UP_ARROW) {\n\t\t\t\t\tif (me.doc.idx > 1) {\n\t\t\t\t\t\tvar prev = me.grid.grid_rows[me.doc.idx - 2];\n\t\t\t\t\t\tif (move_up_down(prev)) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (e.which === DOWN_ARROW) {\n\t\t\t\t\tif (me.doc.idx < values.length) {\n\t\t\t\t\t\tvar next = me.grid.grid_rows[me.doc.idx];\n\t\t\t\t\t\tif (move_up_down(next)) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tduplicate_row_using_keys() {\n\t\tsetTimeout(() => {\n\t\t\tthis.insert(false, true, true);\n\t\t\tthis.grid.grid_rows[this.doc.idx].toggle_editable_row();\n\t\t\tthis.grid.set_focus_on_row(this.doc.idx);\n\t\t}, 100);\n\t}\n\n\tadd_new_row_using_keys(e) {\n\t\tlet idx = \"\";\n\n\t\tlet ctrl_key = e.metaKey || e.ctrlKey;\n\t\tlet is_down_arrow_key_press = e.which === 40;\n\n\t\t// Add new row at the end or start of the table\n\t\tif (ctrl_key && e.shiftKey) {\n\t\t\tidx = is_down_arrow_key_press ? null : 1;\n\t\t\tthis.grid.add_new_row(\n\t\t\t\tidx,\n\t\t\t\tnull,\n\t\t\t\tis_down_arrow_key_press,\n\t\t\t\tfalse,\n\t\t\t\tis_down_arrow_key_press,\n\t\t\t\t!is_down_arrow_key_press\n\t\t\t);\n\t\t\tidx = is_down_arrow_key_press ? cint(this.grid.grid_rows.length) - 1 : 0;\n\t\t} else if (ctrl_key) {\n\t\t\tidx = is_down_arrow_key_press ? this.doc.idx : this.doc.idx - 1;\n\t\t\tthis.insert(false, is_down_arrow_key_press);\n\t\t}\n\n\t\tif (idx !== \"\") {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.grid.grid_rows[idx].toggle_editable_row();\n\t\t\t\tthis.grid.set_focus_on_row(idx);\n\t\t\t}, 100);\n\t\t}\n\t}\n\n\tget_open_form() {\n\t\treturn frappe.ui.form.get_open_grid_form();\n\t}\n\n\ttoggle_view(show, callback) {\n\t\tif (!this.doc) {\n\t\t\treturn this;\n\t\t}\n\n\t\tif (this.frm) {\n\t\t\t// reload doc\n\t\t\tthis.doc = locals[this.doc.doctype][this.doc.name];\n\t\t}\n\n\t\t// hide other\n\t\tvar open_row = this.get_open_form();\n\n\t\tif (show === undefined) show = !open_row;\n\n\t\t// call blur\n\t\tdocument.activeElement && document.activeElement.blur();\n\n\t\tif (show && open_row) {\n\t\t\tif (open_row == this) {\n\t\t\t\t// already open, do nothing\n\t\t\t\tcallback && callback();\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// close other views\n\t\t\t\topen_row.toggle_view(false);\n\t\t\t}\n\t\t}\n\n\t\tif (show) {\n\t\t\tthis.show_form();\n\t\t} else {\n\t\t\tthis.hide_form();\n\t\t}\n\t\tcallback && callback();\n\n\t\treturn this;\n\t}\n\tshow_form() {\n\t\tif (frappe.utils.is_xs()) {\n\t\t\t$(this.grid.form_grid).css(\"min-width\", \"0\");\n\t\t\t$(this.grid.form_grid).css(\"position\", \"unset\");\n\t\t}\n\t\tif (!this.grid_form) {\n\t\t\tthis.grid_form = new GridRowForm({\n\t\t\t\trow: this,\n\t\t\t});\n\t\t}\n\t\tthis.grid_form.render();\n\t\tthis.row.toggle(false);\n\t\t// this.form_panel.toggle(true);\n\n\t\tlet cannot_add_rows =\n\t\t\tthis.grid.cannot_add_rows || (this.grid.df && this.grid.df.cannot_add_rows);\n\t\tthis.wrapper\n\t\t\t.find(\n\t\t\t\t\".grid-insert-row-below, .grid-insert-row, .grid-duplicate-row, .grid-append-row\"\n\t\t\t)\n\t\t\t.toggle(!cannot_add_rows);\n\n\t\tthis.wrapper\n\t\t\t.find(\".grid-delete-row\")\n\t\t\t.toggle(!(this.grid.df && this.grid.df.cannot_delete_rows));\n\n\t\tfrappe.dom.freeze(\"\", \"dark grid-form\");\n\t\tif (cur_frm) cur_frm.cur_grid = this;\n\t\tthis.wrapper.addClass(\"grid-row-open\");\n\t\tif (\n\t\t\t!frappe.dom.is_element_in_viewport(this.wrapper) &&\n\t\t\t!frappe.dom.is_element_in_modal(this.wrapper)\n\t\t) {\n\t\t\t// -15 offset to make form look visually centered\n\t\t\tfrappe.utils.scroll_to(this.wrapper, true, -15);\n\t\t}\n\n\t\tif (this.frm) {\n\t\t\tthis.frm.script_manager.trigger(this.doc.parentfield + \"_on_form_rendered\");\n\t\t\tthis.frm.script_manager.trigger(\"form_render\", this.doc.doctype, this.doc.name);\n\t\t}\n\t}\n\thide_form() {\n\t\tif (frappe.utils.is_xs()) {\n\t\t\t$(this.grid.form_grid).css(\"min-width\", \"738px\");\n\t\t\t$(this.grid.form_grid).css(\"position\", \"relative\");\n\t\t}\n\t\tfrappe.dom.unfreeze();\n\t\tthis.row.toggle(true);\n\t\tif (!frappe.dom.is_element_in_modal(this.row)) {\n\t\t\tfrappe.utils.scroll_to(this.row, true, 15);\n\t\t}\n\t\tthis.refresh();\n\t\tif (cur_frm) cur_frm.cur_grid = null;\n\t\tthis.wrapper.removeClass(\"grid-row-open\");\n\t}\n\thas_prev() {\n\t\treturn this.doc.idx > 1;\n\t}\n\topen_prev() {\n\t\tif (!this.doc) return;\n\t\tthis.open_row_at_index(this.doc.idx - 2);\n\t}\n\thas_next() {\n\t\treturn this.doc.idx < this.grid.data.length;\n\t}\n\topen_next() {\n\t\tif (!this.doc) return;\n\n\t\tthis.open_row_at_index(this.doc.idx);\n\t}\n\topen_row_at_index(row_index) {\n\t\tif (!this.grid.data[row_index]) return;\n\n\t\tthis.change_page_if_reqd(row_index);\n\t\tthis.grid.grid_rows[row_index].toggle_view(true);\n\t\treturn true;\n\t}\n\tchange_page_if_reqd(row_index) {\n\t\tconst { page_index, page_length } = this.grid.grid_pagination;\n\n\t\trow_index++;\n\t\tlet new_page;\n\n\t\tif (row_index <= (page_index - 1) * page_length) {\n\t\t\tnew_page = page_index - 1;\n\t\t} else if (row_index > page_index * page_length) {\n\t\t\tnew_page = page_index + 1;\n\t\t}\n\n\t\tif (new_page) {\n\t\t\tthis.grid.grid_pagination.go_to_page(new_page);\n\t\t}\n\t}\n\trefresh_field(fieldname, txt) {\n\t\tlet fields =\n\t\t\tthis.grid.user_defined_columns && this.grid.user_defined_columns.length > 0\n\t\t\t\t? this.grid.user_defined_columns\n\t\t\t\t: this.docfields;\n\n\t\tlet df = fields.find((col) => {\n\t\t\treturn col?.fieldname === fieldname;\n\t\t});\n\n\t\t// format values if no frm\n\t\tif (df && this.doc) {\n\t\t\ttxt = frappe.format(this.doc[fieldname], df, null, this.doc);\n\t\t}\n\n\t\tif (!txt && this.frm) {\n\t\t\ttxt = frappe.format(this.doc[fieldname], df, null, this.frm.doc);\n\t\t}\n\n\t\t// reset static value\n\t\tlet column = this.columns[fieldname];\n\t\tif (column) {\n\t\t\tcolumn.static_area.html(txt || \"\");\n\t\t\tif (df && df.reqd) {\n\t\t\t\tcolumn.toggleClass(\"error\", !!(txt === null || txt === \"\"));\n\t\t\t}\n\t\t}\n\n\t\tlet field = this.on_grid_fields_dict[fieldname];\n\t\t// reset field value\n\t\tif (field) {\n\t\t\t// the below if statement is added to factor in the exception when this.doc is undefined -\n\t\t\t// - after row removals via customize_form.js on links, actions and states child-tables\n\t\t\tif (this.doc) field.docname = this.doc.name;\n\t\t\tfield.refresh();\n\t\t}\n\n\t\t// in form\n\t\tif (this.grid_form) {\n\t\t\tthis.grid_form.refresh_field(fieldname);\n\t\t}\n\t}\n\tget_field(fieldname) {\n\t\tlet field = this.on_grid_fields_dict[fieldname];\n\t\tif (field) {\n\t\t\treturn field;\n\t\t} else if (this.grid_form) {\n\t\t\treturn this.grid_form.fields_dict[fieldname];\n\t\t} else {\n\t\t\tthrow `fieldname ${fieldname} not found`;\n\t\t}\n\t}\n\n\tget_visible_columns(blacklist = []) {\n\t\tvar me = this;\n\t\tvar visible_columns = $.map(this.docfields, function (df) {\n\t\t\tvar visible =\n\t\t\t\t!df.hidden &&\n\t\t\t\tdf.in_list_view &&\n\t\t\t\tme.grid.frm.get_perm(df.permlevel, \"read\") &&\n\t\t\t\t!frappe.model.layout_fields.includes(df.fieldtype) &&\n\t\t\t\t!blacklist.includes(df.fieldname);\n\n\t\t\treturn visible ? df : null;\n\t\t});\n\t\treturn visible_columns;\n\t}\n\tset_field_property(fieldname, property, value) {\n\t\t// set a field property for open form / grid form\n\t\tvar me = this;\n\n\t\tvar set_property = function (field) {\n\t\t\tif (!field) return;\n\t\t\tfield.df[property] = value;\n\t\t\tfield.refresh();\n\t\t};\n\n\t\t// set property in grid form\n\t\tif (this.grid_form) {\n\t\t\tset_property(this.grid_form.fields_dict[fieldname]);\n\t\t\tthis.grid_form.layout && this.grid_form.layout.refresh_sections();\n\t\t}\n\n\t\t// set property in on grid fields\n\t\tset_property(this.on_grid_fields_dict[fieldname]);\n\t}\n\ttoggle_reqd(fieldname, reqd) {\n\t\tthis.set_field_property(fieldname, \"reqd\", reqd ? 1 : 0);\n\t}\n\ttoggle_display(fieldname, show) {\n\t\tthis.set_field_property(fieldname, \"hidden\", show ? 0 : 1);\n\t}\n\ttoggle_editable(fieldname, editable) {\n\t\tthis.set_field_property(fieldname, \"read_only\", editable ? 0 : 1);\n\t}\n}\n", "export default class GridPagination {\n\tconstructor(opts) {\n\t\t$.extend(this, opts);\n\t\tthis.setup_pagination();\n\t}\n\n\tsetup_pagination() {\n\t\tthis.page_length = this.grid.meta?.grid_page_length || 50;\n\t\tthis.page_index = 1;\n\t\tthis.total_pages = Math.ceil(this.grid.data.length / this.page_length);\n\n\t\tthis.render_pagination();\n\t}\n\n\trender_pagination() {\n\t\tif (this.grid.data.length <= this.page_length) {\n\t\t\tthis.wrapper.find(\".grid-pagination\").html(\"\");\n\t\t} else {\n\t\t\tlet $pagination_template = this.get_pagination_html();\n\t\t\tthis.wrapper.find(\".grid-pagination\").html($pagination_template);\n\t\t\tthis.prev_page_button = this.wrapper.find(\".prev-page\");\n\t\t\tthis.next_page_button = this.wrapper.find(\".next-page\");\n\t\t\tthis.$page_number = this.wrapper.find(\".current-page-number\");\n\t\t\tthis.$total_pages = this.wrapper.find(\".total-page-number\");\n\t\t\tthis.first_page_button = this.wrapper.find(\".first-page\");\n\t\t\tthis.last_page_button = this.wrapper.find(\".last-page\");\n\n\t\t\tthis.bind_pagination_events();\n\t\t}\n\t}\n\n\tbind_pagination_events() {\n\t\tthis.prev_page_button.on(\"click\", () => {\n\t\t\tthis.render_prev_page();\n\t\t});\n\n\t\tthis.next_page_button.on(\"click\", () => {\n\t\t\tthis.render_next_page();\n\t\t});\n\n\t\tthis.first_page_button.on(\"click\", () => {\n\t\t\tthis.go_to_page(1);\n\t\t});\n\n\t\tthis.last_page_button.on(\"click\", () => {\n\t\t\tthis.go_to_page(this.total_pages);\n\t\t});\n\n\t\tthis.$page_number.on(\"keyup\", (e) => {\n\t\t\te.currentTarget.style.width = (e.currentTarget.value.length + 1) * 8 + \"px\";\n\t\t});\n\n\t\tthis.$page_number.on(\"keydown\", (e) => {\n\t\t\te = e ? e : window.event;\n\t\t\tvar charCode = e.which ? e.which : e.keyCode;\n\t\t\tlet arrow = { up: 38, down: 40 };\n\n\t\t\tswitch (charCode) {\n\t\t\t\tcase arrow.up:\n\t\t\t\t\tthis.inc_dec_number(true);\n\t\t\t\t\tbreak;\n\t\t\t\tcase arrow.down:\n\t\t\t\t\tthis.inc_dec_number(false);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// only allow numbers from 0-9 and up, down, left, right arrow keys\n\t\t\tif (\n\t\t\t\tcharCode > 31 &&\n\t\t\t\t(charCode < 48 || charCode > 57) &&\n\t\t\t\t![37, 38, 39, 40].includes(charCode)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tthis.$page_number.on(\"focusout\", (e) => {\n\t\t\tif (this.page_index == e.currentTarget.value) return;\n\t\t\tthis.page_index = e.currentTarget.value;\n\n\t\t\tif (this.page_index < 1) {\n\t\t\t\tthis.page_index = 1;\n\t\t\t} else if (this.page_index > this.total_pages) {\n\t\t\t\tthis.page_index = this.total_pages;\n\t\t\t}\n\n\t\t\tthis.go_to_page();\n\t\t});\n\t}\n\n\tinc_dec_number(increment) {\n\t\tlet new_value = parseInt(this.$page_number.val());\n\t\tincrement ? new_value++ : new_value--;\n\n\t\tif (new_value < 1 || new_value > this.total_pages) return;\n\n\t\tthis.$page_number.val(new_value);\n\t}\n\n\tupdate_page_numbers() {\n\t\tlet total_pages = Math.ceil(this.grid.data.length / this.page_length);\n\t\tif (this.total_pages !== total_pages) {\n\t\t\tthis.total_pages = total_pages;\n\t\t\tthis.render_pagination();\n\t\t}\n\t}\n\n\tcheck_page_number() {\n\t\tif (this.page_index > this.total_pages && this.page_index > 1) {\n\t\t\tthis.go_to_page(this.page_index - 1);\n\t\t}\n\t}\n\n\tget_pagination_html() {\n\t\tlet page_text_html = `
    \n\t\t\t\t\n\t\t\t\t${__(\"of\")}\n\t\t\t\t ${__(this.total_pages)} \n\t\t\t
    `;\n\n\t\treturn $(`\n\t\t\t\n\t\t\t${page_text_html}\n\t\t\t\n\t\t\t`);\n\t}\n\n\trender_next_page() {\n\t\tif (this.page_index * this.page_length < this.grid.data.length) {\n\t\t\tthis.page_index++;\n\t\t\tthis.go_to_page();\n\t\t}\n\t}\n\n\trender_prev_page() {\n\t\tif (this.page_index > 1) {\n\t\t\tthis.page_index--;\n\t\t\tthis.go_to_page();\n\t\t}\n\t}\n\n\tgo_to_page(index, from_refresh) {\n\t\tif (!index) {\n\t\t\tindex = this.page_index;\n\t\t} else {\n\t\t\tthis.page_index = index;\n\t\t}\n\t\tlet $rows = $(this.grid.parent).find(\".rows\").empty();\n\t\tthis.grid.render_result_rows($rows, true);\n\t\tif (this.$page_number) {\n\t\t\tthis.$page_number.val(index);\n\t\t\tthis.$page_number.css(\"width\", (index.toString().length + 1) * 8 + \"px\");\n\t\t}\n\n\t\tthis.update_page_numbers();\n\t\tif (!from_refresh) {\n\t\t\tthis.grid.scroll_to_top();\n\t\t}\n\t}\n\n\tgo_to_last_page_to_add_row() {\n\t\tlet total_pages = this.total_pages;\n\t\tlet page_length = this.page_length;\n\t\tif (this.grid.data.length == page_length * total_pages) {\n\t\t\tthis.go_to_page(total_pages + 1);\n\t\t\tfrappe.utils.scroll_to(this.wrapper);\n\t\t} else if (this.page_index == this.total_pages) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tthis.go_to_page(total_pages);\n\t\t}\n\t}\n\n\tget_result_length() {\n\t\treturn this.grid.data.length < this.page_index * this.page_length\n\t\t\t? this.grid.data.length\n\t\t\t: this.page_index * this.page_length;\n\t}\n}\n", "// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors\n// MIT License. See license.txt\n\nimport GridRow from \"./grid_row\";\nimport GridPagination from \"./grid_pagination\";\n\nfrappe.ui.form.get_open_grid_form = function () {\n\treturn $(\".grid-row-open\").data(\"grid_row\");\n};\n\nfrappe.ui.form.close_grid_form = function () {\n\tvar open_form = frappe.ui.form.get_open_grid_form();\n\topen_form && open_form.hide_form();\n\n\t// hide editable row too\n\tif (frappe.ui.form.editable_row) {\n\t\tfrappe.ui.form.editable_row.toggle_editable_row(false);\n\t}\n};\n\nexport default class Grid {\n\tconstructor(opts) {\n\t\t$.extend(this, opts);\n\t\tthis.fieldinfo = {};\n\t\tthis.doctype = this.df.options;\n\n\t\tthis.sticky_row_sum = 71;\n\t\tthis.sticky_rows = [];\n\n\t\tif (this.doctype) {\n\t\t\tthis.meta = frappe.get_meta(this.doctype);\n\t\t}\n\t\tthis.fields_map = {};\n\t\tthis.template = null;\n\t\tthis.multiple_set = false;\n\t\tif (\n\t\t\tthis.frm &&\n\t\t\tthis.frm.meta.__form_grid_templates &&\n\t\t\tthis.frm.meta.__form_grid_templates[this.df.fieldname]\n\t\t) {\n\t\t\tthis.template = this.frm.meta.__form_grid_templates[this.df.fieldname];\n\t\t}\n\t\tthis.filter = {};\n\t\tthis.is_grid = true;\n\t\tthis.debounced_refresh = this.refresh.bind(this);\n\t\tthis.debounced_refresh = frappe.utils.debounce(this.debounced_refresh, 100);\n\t}\n\n\tget perm() {\n\t\treturn this.control?.perm || this.frm?.perm || this.df.perm;\n\t}\n\n\tset perm(_perm) {\n\t\tconsole.error(\"Setting perm on grid isn't supported, update form's perm instead\");\n\t}\n\n\tallow_on_grid_editing() {\n\t\tif ((this.meta && this.meta.editable_grid) || !this.meta) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tmake() {\n\t\tlet template = `\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t${__(\"No rows\")}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t`;\n\n\t\tthis.wrapper = $(template).appendTo(this.parent);\n\t\t$(this.parent).addClass(\"form-group\");\n\t\tthis.set_grid_description();\n\t\tthis.set_doc_url();\n\n\t\tfrappe.utils.bind_actions_with_object(this.wrapper, this);\n\n\t\tthis.form_grid = this.wrapper.find(\".form-grid\");\n\t\tthis.setup_add_row();\n\n\t\tthis.setup_grid_pagination();\n\t\tthis.update_idx_and_name();\n\n\t\tthis.custom_buttons = {};\n\t\tthis.grid_buttons = this.wrapper.find(\".grid-buttons\");\n\t\tthis.grid_custom_buttons = this.wrapper.find(\".grid-custom-buttons\");\n\t\tthis.remove_rows_button = this.grid_buttons.find(\".grid-remove-rows\");\n\t\tthis.remove_all_rows_button = this.grid_buttons.find(\".grid-remove-all-rows\");\n\n\t\tthis.setup_allow_bulk_edit();\n\t\tthis.setup_check();\n\t\tif (this.df.on_setup) {\n\t\t\tthis.df.on_setup(this);\n\t\t}\n\t}\n\tset_grid_description() {\n\t\tlet description_wrapper = $(this.parent).find(\".grid-description\");\n\t\tif (this.df.description) {\n\t\t\tdescription_wrapper.html(__(this.df.description));\n\t\t} else {\n\t\t\tdescription_wrapper.hide();\n\t\t}\n\t}\n\n\tupdate_idx_and_name() {\n\t\tthis.data.forEach((d, ri) => {\n\t\t\tif (d.idx === undefined) {\n\t\t\t\td.idx = ri + 1;\n\t\t\t}\n\t\t\tif (d.name === undefined) {\n\t\t\t\td.name = \"row \" + d.idx;\n\t\t\t}\n\t\t});\n\t}\n\n\tset_doc_url() {\n\t\tlet unsupported_fieldtypes = frappe.model.no_value_type.filter(\n\t\t\t(x) => frappe.model.table_fields.indexOf(x) === -1\n\t\t);\n\n\t\tif (\n\t\t\t!this.df.label ||\n\t\t\t!this.df?.documentation_url ||\n\t\t\tunsupported_fieldtypes.includes(this.df.fieldtype)\n\t\t)\n\t\t\treturn;\n\n\t\tlet $help = $(this.parent).find(\"span.help\");\n\t\t$help.empty();\n\t\t$(`\n\t\t\t${frappe.utils.icon(\"help\", \"sm\")}\n\t\t`).appendTo($help);\n\t}\n\n\tsetup_grid_pagination() {\n\t\tthis.grid_pagination = new GridPagination({\n\t\t\tgrid: this,\n\t\t\twrapper: this.wrapper,\n\t\t});\n\t}\n\n\tsetup_check() {\n\t\tthis.wrapper.on(\"click\", \".grid-row-check\", (e) => {\n\t\t\tconst $check = $(e.currentTarget);\n\t\t\tconst checked = $check.prop(\"checked\");\n\t\t\tconst is_select_all = $check.parents(\".grid-heading-row:first\").length !== 0;\n\t\t\tconst docname = $check.parents(\".grid-row:first\")?.attr(\"data-name\");\n\n\t\t\tif (is_select_all) {\n\t\t\t\t// (un)check all visible checkboxes\n\t\t\t\tthis.form_grid.find(\".grid-row-check\").prop(\"checked\", checked);\n\n\t\t\t\t// set following rows as checked in model\n\t\t\t\tlet result_length = this.grid_pagination.get_result_length();\n\t\t\t\tlet page_index = this.grid_pagination.page_index;\n\t\t\t\tlet page_length = this.grid_pagination.page_length;\n\t\t\t\tfor (let ri = (page_index - 1) * page_length; ri < result_length; ri++) {\n\t\t\t\t\tthis.grid_rows[ri].select(checked);\n\t\t\t\t}\n\t\t\t} else if (docname) {\n\t\t\t\tif (e.shiftKey && this.last_checked_docname) {\n\t\t\t\t\tthis.check_range(docname, this.last_checked_docname, checked);\n\t\t\t\t}\n\t\t\t\tthis.grid_rows_by_docname[docname].select(checked);\n\t\t\t\tthis.last_checked_docname = docname;\n\t\t\t}\n\t\t\tthis.refresh_remove_rows_button();\n\t\t});\n\t}\n\n\t/**\n\t * Checks or unchecks all checkboxes between two rows (included), given their docnames.\n\t * Rows are only checked only if both parameters are valid docnames.\n\t * @param {string} docname1\n\t * @param {string} docname2\n\t */\n\tcheck_range(docname1, docname2, checked = true) {\n\t\tconst row_1 = this.grid_rows_by_docname[docname1];\n\t\tconst row_2 = this.grid_rows_by_docname[docname2];\n\t\tconst index_1 = this.grid_rows.indexOf(row_1);\n\t\tconst index_2 = this.grid_rows.indexOf(row_2);\n\t\tif (index_1 === -1 || index_2 === -1) return;\n\t\tconst [start, end] = [index_1, index_2].sort((a, b) => a - b);\n\t\tconst rows = this.grid_rows.slice(start, end + 1);\n\t\tfor (const row of rows) {\n\t\t\trow.select(checked);\n\t\t\trow.row_check?.find(\".grid-row-check\").prop(\"checked\", checked);\n\t\t}\n\t}\n\n\tdelete_rows() {\n\t\tvar dirty = false;\n\n\t\tlet tasks = [];\n\t\tlet selected_children = this.get_selected_children();\n\t\tselected_children.forEach((doc) => {\n\t\t\ttasks.push(() => {\n\t\t\t\tif (!this.frm) {\n\t\t\t\t\tthis.df.data = this.get_data();\n\t\t\t\t\tthis.df.data = this.df.data.filter((row) => row.idx != doc.idx);\n\t\t\t\t}\n\t\t\t\tthis.grid_rows_by_docname[doc.name]?.remove();\n\t\t\t\tdirty = true;\n\t\t\t});\n\t\t\ttasks.push(() => frappe.timeout(0.1));\n\t\t});\n\n\t\tif (!this.frm) {\n\t\t\ttasks.push(() => {\n\t\t\t\t// reorder idx of df.data\n\t\t\t\tthis.df.data.forEach((row, index) => (row.idx = index + 1));\n\t\t\t});\n\t\t}\n\n\t\ttasks.push(() => {\n\t\t\tif (dirty) {\n\t\t\t\tthis.refresh();\n\t\t\t\tthis.frm &&\n\t\t\t\t\tthis.frm.script_manager.trigger(this.df.fieldname + \"_delete\", this.doctype);\n\t\t\t}\n\t\t});\n\n\t\tfrappe.run_serially(tasks);\n\n\t\tthis.wrapper.find(\".grid-heading-row .grid-row-check:checked:first\").prop(\"checked\", 0);\n\t\tif (selected_children.length == this.grid_pagination.page_length) {\n\t\t\tthis.scroll_to_top();\n\t\t}\n\t}\n\n\tdelete_all_rows() {\n\t\tfrappe.confirm(__(\"Are you sure you want to delete all rows?\"), () => {\n\t\t\tthis.frm.doc[this.df.fieldname] = [];\n\t\t\t$(this.parent).find(\".rows\").empty();\n\t\t\tthis.grid_rows = [];\n\t\t\tthis.refresh();\n\t\t\tthis.frm &&\n\t\t\t\tthis.frm.script_manager.trigger(this.df.fieldname + \"_delete\", this.doctype);\n\t\t\tthis.frm && this.frm.dirty();\n\t\t\tthis.scroll_to_top();\n\t\t});\n\t}\n\n\tscroll_to_top() {\n\t\tfrappe.utils.scroll_to(this.wrapper);\n\t}\n\n\tselect_row(name) {\n\t\tthis.grid_rows_by_docname[name].select();\n\t}\n\n\tremove_all() {\n\t\tthis.grid_rows.forEach((row) => {\n\t\t\trow.remove();\n\t\t});\n\t}\n\n\trefresh_remove_rows_button() {\n\t\tif (this.df.cannot_delete_rows) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.remove_rows_button.toggleClass(\n\t\t\t\"hidden\",\n\t\t\tthis.wrapper.find(\".grid-body .grid-row-check:checked:first\").length ? false : true\n\t\t);\n\n\t\tlet select_all_checkbox_checked = this.wrapper.find(\n\t\t\t\".grid-heading-row .grid-row-check:checked:first\"\n\t\t).length;\n\t\tlet show_delete_all_btn =\n\t\t\tselect_all_checkbox_checked && this.data.length > this.get_selected_children().length;\n\t\tthis.remove_all_rows_button.toggleClass(\"hidden\", !show_delete_all_btn);\n\t}\n\n\tdebounced_refresh_remove_rows_button = frappe.utils.debounce(\n\t\tthis.refresh_remove_rows_button,\n\t\t100\n\t);\n\n\tget_selected() {\n\t\treturn (this.grid_rows || [])\n\t\t\t.map((row) => {\n\t\t\t\treturn row.doc.__checked ? row.doc.name : null;\n\t\t\t})\n\t\t\t.filter((d) => {\n\t\t\t\treturn d;\n\t\t\t});\n\t}\n\n\tget_selected_children() {\n\t\treturn (this.data || [])\n\t\t\t.map((row) => {\n\t\t\t\treturn row.__checked ? row : 0;\n\t\t\t})\n\t\t\t.filter((d) => {\n\t\t\t\treturn d;\n\t\t\t});\n\t}\n\n\treset_grid() {\n\t\tthis.visible_columns = [];\n\t\tthis.grid_rows = [];\n\n\t\t$(this.parent).find(\".grid-body .grid-row\").remove();\n\t\tthis.refresh();\n\t}\n\n\tmake_head() {\n\t\tif (this.prevent_build) return;\n\n\t\t// labels\n\t\tif (this.header_row) {\n\t\t\t$(this.parent).find(\".grid-heading-row .grid-row\").remove();\n\t\t}\n\t\tthis.header_row = new GridRow({\n\t\t\tparent: $(this.parent).find(\".grid-heading-row\"),\n\t\t\tparent_df: this.df,\n\t\t\tdocfields: this.docfields,\n\t\t\tfrm: this.frm,\n\t\t\tgrid: this,\n\t\t\tconfigure_columns: true,\n\t\t});\n\n\t\tthis.header_search = new GridRow({\n\t\t\tparent: $(this.parent).find(\".grid-heading-row\"),\n\t\t\tparent_df: this.df,\n\t\t\tdocfields: this.docfields,\n\t\t\tfrm: this.frm,\n\t\t\tgrid: this,\n\t\t\tshow_search: true,\n\t\t});\n\t\tthis.header_search.row.addClass(\"filter-row\");\n\t\tif (this.header_search.show_search || this.header_search.show_search_row()) {\n\t\t\t$(this.parent).find(\".grid-heading-row\").addClass(\"with-filter\");\n\t\t} else {\n\t\t\t$(this.parent).find(\".grid-heading-row\").removeClass(\"with-filter\");\n\t\t}\n\n\t\tthis.filter_applied && this.update_search_columns();\n\t}\n\n\tupdate_search_columns() {\n\t\tfor (const field in this.filter) {\n\t\t\tif (this.filter[field] && !this.header_search.search_columns[field]) {\n\t\t\t\tdelete this.filter[field];\n\t\t\t\tthis.data = this.get_data(this.filter_applied);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (this.filter[field] && this.filter[field].value) {\n\t\t\t\tlet $input = this.header_search.row_index.find(\"input\");\n\t\t\t\tif (field && field !== \"row-index\") {\n\t\t\t\t\t$input = this.header_search.search_columns[field].find(\"input\");\n\t\t\t\t}\n\t\t\t\t$input.val(this.filter[field].value);\n\t\t\t}\n\t\t}\n\t}\n\n\trefresh() {\n\t\tif (this.frm && this.frm.setting_dependency) return;\n\n\t\tthis.filter_applied = Object.keys(this.filter).length !== 0;\n\t\tthis.data = this.get_data(this.filter_applied);\n\n\t\t!this.wrapper && this.make();\n\t\tlet $rows = $(this.parent).find(\".rows\");\n\n\t\tthis.setup_fields();\n\n\t\tif (this.frm) {\n\t\t\tthis.display_status = frappe.perm.get_field_display_status(\n\t\t\t\tthis.df,\n\t\t\t\tthis.frm.doc,\n\t\t\t\tthis.perm\n\t\t\t);\n\t\t} else if (this.df.is_web_form && this.control) {\n\t\t\tthis.display_status = this.control.get_status();\n\t\t} else {\n\t\t\t// not in form\n\t\t\tthis.display_status = \"Write\";\n\t\t}\n\n\t\tif (this.display_status === \"None\") return;\n\n\t\t// redraw\n\t\tthis.make_head();\n\n\t\tif (!this.grid_rows) {\n\t\t\t/** @type {GridRow[]} */\n\t\t\tthis.grid_rows = [];\n\t\t}\n\n\t\tthis.truncate_rows();\n\t\t/** @type {Record} */\n\t\tthis.grid_rows_by_docname = {};\n\n\t\tthis.grid_pagination.update_page_numbers();\n\t\tthis.render_result_rows($rows, false);\n\t\tthis.grid_pagination.check_page_number();\n\t\tthis.wrapper.find(\".grid-empty\").toggleClass(\"hidden\", Boolean(this.data.length));\n\n\t\t// toolbar\n\t\tthis.setup_toolbar();\n\t\tthis.toggle_checkboxes(this.display_status !== \"Read\");\n\n\t\t// sortable\n\t\tif (this.is_sortable() && !this.sortable_setup_done) {\n\t\t\tthis.make_sortable($rows);\n\t\t\tthis.sortable_setup_done = true;\n\t\t}\n\n\t\tthis.last_display_status = this.display_status;\n\t\tthis.last_docname = this.frm && this.frm.docname;\n\n\t\t// red if mandatory\n\t\tthis.form_grid.toggleClass(\"error\", !!(this.df.reqd && !(this.data && this.data.length)));\n\n\t\tthis.refresh_remove_rows_button();\n\n\t\tthis.wrapper.trigger(\"change\");\n\t}\n\n\trender_result_rows($rows, append_row) {\n\t\tlet result_length = this.grid_pagination.get_result_length();\n\t\tlet page_index = this.grid_pagination.page_index;\n\t\tlet page_length = this.grid_pagination.page_length;\n\t\tif (!this.grid_rows) {\n\t\t\treturn;\n\t\t}\n\t\tfor (var ri = (page_index - 1) * page_length; ri < result_length; ri++) {\n\t\t\tvar d = this.data[ri];\n\t\t\tif (!d) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (d.idx === undefined) {\n\t\t\t\td.idx = ri + 1;\n\t\t\t}\n\t\t\tif (d.name === undefined) {\n\t\t\t\td.name = \"row \" + d.idx;\n\t\t\t}\n\t\t\tlet grid_row;\n\t\t\tif (this.grid_rows[ri] && !append_row) {\n\t\t\t\tgrid_row = this.grid_rows[ri];\n\t\t\t\tgrid_row.doc = d;\n\t\t\t\tgrid_row.refresh();\n\t\t\t} else {\n\t\t\t\tgrid_row = new GridRow({\n\t\t\t\t\tparent: $rows,\n\t\t\t\t\tparent_df: this.df,\n\t\t\t\t\tdocfields: this.docfields,\n\t\t\t\t\tdoc: d,\n\t\t\t\t\tfrm: this.frm,\n\t\t\t\t\tgrid: this,\n\t\t\t\t});\n\t\t\t\tthis.grid_rows[ri] = grid_row;\n\t\t\t}\n\n\t\t\tthis.grid_rows_by_docname[d.name] = grid_row;\n\t\t}\n\t}\n\n\tsetup_toolbar() {\n\t\tif (this.is_editable()) {\n\t\t\tthis.wrapper.find(\".grid-footer\").toggle(true);\n\n\t\t\t// show, hide buttons to add rows\n\t\t\tif (this.cannot_add_rows || (this.df && this.df.cannot_add_rows)) {\n\t\t\t\t// add 'hidden' to buttons\n\t\t\t\tthis.wrapper.find(\".grid-add-row, .grid-add-multiple-rows\").addClass(\"hidden\");\n\t\t\t} else {\n\t\t\t\t// show buttons\n\t\t\t\tthis.wrapper.find(\".grid-add-row\").removeClass(\"hidden\");\n\n\t\t\t\tif (this.multiple_set) {\n\t\t\t\t\tthis.wrapper.find(\".grid-add-multiple-rows\").removeClass(\"hidden\");\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (\n\t\t\tthis.grid_rows.length < this.grid_pagination.page_length &&\n\t\t\t!this.df.allow_bulk_edit\n\t\t) {\n\t\t\tthis.wrapper.find(\".grid-footer\").toggle(false);\n\t\t}\n\n\t\tthis.wrapper\n\t\t\t.find(\".grid-add-row, .grid-add-multiple-rows, .grid-upload\")\n\t\t\t.toggle(this.is_editable());\n\t}\n\n\ttruncate_rows() {\n\t\tif (this.grid_rows.length > this.data.length) {\n\t\t\t// remove extra rows\n\t\t\tfor (var i = this.data.length; i < this.grid_rows.length; i++) {\n\t\t\t\tvar grid_row = this.grid_rows[i];\n\t\t\t\tif (grid_row) grid_row.wrapper.remove();\n\t\t\t}\n\t\t\tthis.grid_rows.splice(this.data.length);\n\t\t}\n\t}\n\n\tsetup_fields() {\n\t\t// reset docfield\n\t\tif (this.frm && this.frm.docname) {\n\t\t\t// use doc specific docfield object\n\t\t\tthis.df = frappe.meta.get_docfield(\n\t\t\t\tthis.frm.doctype,\n\t\t\t\tthis.df.fieldname,\n\t\t\t\tthis.frm.docname\n\t\t\t);\n\t\t} else {\n\t\t\t// use non-doc specific docfield\n\t\t\tif (this.df.options) {\n\t\t\t\tthis.df =\n\t\t\t\t\tfrappe.meta.get_docfield(this.df.options, this.df.fieldname) ||\n\t\t\t\t\tthis.df ||\n\t\t\t\t\tnull;\n\t\t\t}\n\t\t}\n\n\t\tif (this.doctype && this.frm) {\n\t\t\tthis.docfields = frappe.meta.get_docfields(this.doctype, this.frm.docname);\n\t\t} else {\n\t\t\t// fields given in docfield\n\t\t\tthis.docfields = this.df.fields;\n\t\t}\n\n\t\tthis.docfields.forEach((df) => {\n\t\t\tthis.fields_map[df.fieldname] = df;\n\t\t});\n\t}\n\n\trefresh_row(docname) {\n\t\tthis.grid_rows_by_docname[docname] && this.grid_rows_by_docname[docname].refresh();\n\t}\n\n\tmake_sortable($rows) {\n\t\tthis.grid_sortable = new Sortable($rows.get(0), {\n\t\t\tgroup: { name: this.df.fieldname },\n\t\t\thandle: \".sortable-handle\",\n\t\t\tdraggable: \".grid-row\",\n\t\t\tanimation: 100,\n\t\t\tfilter: \"li, a\",\n\t\t\tonMove: (event) => {\n\t\t\t\t// don't move if editable\n\t\t\t\tif (!this.is_editable()) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// prevent drag behaviour if _sortable property is \"false\"\n\t\t\t\tlet idx = $(event.dragged).closest(\".grid-row\").attr(\"data-idx\");\n\t\t\t\tlet doc = this.data[idx % this.grid_pagination.page_length];\n\t\t\t\tif (doc && doc._sortable === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tonUpdate: (event) => {\n\t\t\t\tlet idx = $(event.item).closest(\".grid-row\").attr(\"data-idx\") - 1;\n\t\t\t\tlet doc = this.data[idx % this.grid_pagination.page_length];\n\t\t\t\tthis.renumber_based_on_dom();\n\t\t\t\tthis.frm &&\n\t\t\t\t\tthis.frm.script_manager.trigger(\n\t\t\t\t\t\tthis.df.fieldname + \"_move\",\n\t\t\t\t\t\tthis.df.options,\n\t\t\t\t\t\tdoc.name\n\t\t\t\t\t);\n\t\t\t\tthis.refresh();\n\t\t\t\tthis.frm && this.frm.dirty();\n\t\t\t},\n\t\t});\n\n\t\tthis.frm && $(this.frm.wrapper).trigger(\"grid-make-sortable\", [this.frm]);\n\t}\n\n\tget_data(filter_field) {\n\t\tlet data = [];\n\t\tif (filter_field) {\n\t\t\tdata = this.get_filtered_data();\n\t\t} else {\n\t\t\tdata = this.frm\n\t\t\t\t? this.frm.doc[this.df.fieldname] || []\n\t\t\t\t: this.df.data || this.get_modal_data();\n\t\t}\n\t\treturn data;\n\t}\n\n\tget_filtered_data() {\n\t\tlet all_data = this.frm ? this.frm.doc[this.df.fieldname] : this.df.data;\n\n\t\tif (!all_data) return;\n\n\t\tfor (const field in this.filter) {\n\t\t\tall_data = all_data.filter((data) => {\n\t\t\t\tlet { df, value } = this.filter[field];\n\t\t\t\treturn this.get_data_based_on_fieldtype(df, data, value.toLowerCase());\n\t\t\t});\n\t\t}\n\n\t\treturn all_data;\n\t}\n\n\tget_data_based_on_fieldtype(df, data, value) {\n\t\tlet fieldname = df.fieldname;\n\t\tlet fieldtype = df.fieldtype;\n\t\tlet fieldvalue = data[fieldname];\n\n\t\tif (fieldtype === \"Check\") {\n\t\t\tvalue = frappe.utils.string_to_boolean(value);\n\t\t\treturn Boolean(fieldvalue) === value && data;\n\t\t} else if (fieldtype === \"Sr No\" && data.idx.toString().includes(value)) {\n\t\t\treturn data;\n\t\t} else if (fieldtype === \"Duration\" && fieldvalue) {\n\t\t\tlet formatted_duration = frappe.utils.get_formatted_duration(fieldvalue);\n\n\t\t\tif (formatted_duration.includes(value)) {\n\t\t\t\treturn data;\n\t\t\t}\n\t\t} else if (fieldtype === \"Barcode\" && fieldvalue) {\n\t\t\tlet barcode = fieldvalue.startsWith(\" -1) {\n\t\t\t\treturn data;\n\t\t\t}\n\t\t} else if (fieldvalue && fieldvalue.toLowerCase().includes(value)) {\n\t\t\treturn data;\n\t\t}\n\t}\n\n\tget_modal_data() {\n\t\treturn this.df.get_data\n\t\t\t? this.df.get_data().filter((data) => {\n\t\t\t\t\tif (!this.deleted_docs || !this.deleted_docs.includes(data.name)) {\n\t\t\t\t\t\treturn data;\n\t\t\t\t\t}\n\t\t\t })\n\t\t\t: [];\n\t}\n\n\tset_column_disp(fieldname, show) {\n\t\tif (Array.isArray(fieldname)) {\n\t\t\tfor (let field of fieldname) {\n\t\t\t\tthis.update_docfield_property(field, \"hidden\", show ? 0 : 1);\n\t\t\t\tthis.set_editable_grid_column_disp(field, show);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.get_docfield(fieldname).hidden = show ? 0 : 1;\n\t\t\tthis.set_editable_grid_column_disp(fieldname, show);\n\t\t}\n\n\t\tthis.debounced_refresh();\n\t}\n\n\tset_editable_grid_column_disp(fieldname, show) {\n\t\t//Hide columns for editable grids\n\t\tif (this.meta.editable_grid && this.grid_rows) {\n\t\t\tthis.grid_rows.forEach((row) => {\n\t\t\t\trow.columns_list.forEach((column) => {\n\t\t\t\t\t//Hide the column specified\n\t\t\t\t\tif (column.df.fieldname == fieldname) {\n\t\t\t\t\t\tif (show) {\n\t\t\t\t\t\t\tcolumn.df.hidden = false;\n\n\t\t\t\t\t\t\t//Show the static area and hide field area if it is not the editable row\n\t\t\t\t\t\t\tif (row != frappe.ui.form.editable_row) {\n\t\t\t\t\t\t\t\tcolumn.static_area.show();\n\t\t\t\t\t\t\t\tcolumn.field_area && column.field_area.toggle(false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t//Hide the static area and show field area if it is the editable row\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tcolumn.static_area.hide();\n\t\t\t\t\t\t\t\tcolumn.field_area && column.field_area.toggle(true);\n\n\t\t\t\t\t\t\t\t//Format the editable column appropriately if it is now visible\n\t\t\t\t\t\t\t\tif (column.field) {\n\t\t\t\t\t\t\t\t\tcolumn.field.refresh();\n\t\t\t\t\t\t\t\t\tif (column.field.$input)\n\t\t\t\t\t\t\t\t\t\tcolumn.field.$input.toggleClass(\"input-sm\", true);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcolumn.df.hidden = true;\n\t\t\t\t\t\t\tcolumn.static_area.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tthis.refresh();\n\t}\n\n\ttoggle_reqd(fieldname, reqd) {\n\t\tthis.update_docfield_property(fieldname, \"reqd\", reqd);\n\t\tthis.debounced_refresh();\n\t}\n\n\ttoggle_enable(fieldname, enable) {\n\t\tthis.update_docfield_property(fieldname, \"read_only\", enable ? 0 : 1);\n\t\tthis.debounced_refresh();\n\t}\n\n\ttoggle_display(fieldname, show) {\n\t\tthis.update_docfield_property(fieldname, \"hidden\", show ? 0 : 1);\n\t\tthis.debounced_refresh();\n\t}\n\n\ttoggle_checkboxes(enable) {\n\t\tthis.wrapper.find(\".grid-row-check\").prop(\"disabled\", !enable);\n\t}\n\n\tget_docfield(fieldname) {\n\t\treturn frappe.meta.get_docfield(\n\t\t\tthis.doctype,\n\t\t\tfieldname,\n\t\t\tthis.frm ? this.frm.docname : null\n\t\t);\n\t}\n\n\tget_row(key) {\n\t\tif (typeof key == \"number\") {\n\t\t\tif (key < 0) {\n\t\t\t\treturn this.grid_rows[this.grid_rows.length + key];\n\t\t\t} else {\n\t\t\t\treturn this.grid_rows[key];\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.grid_rows_by_docname[key];\n\t\t}\n\t}\n\n\tget_grid_row(key) {\n\t\treturn this.get_row(key);\n\t}\n\n\tget_field(fieldname) {\n\t\t// Note: workaround for get_query\n\t\tif (!this.fieldinfo[fieldname]) this.fieldinfo[fieldname] = {};\n\t\treturn this.fieldinfo[fieldname];\n\t}\n\n\tset_value(fieldname, value, doc) {\n\t\tif (this.display_status !== \"None\" && doc?.name && this.grid_rows_by_docname?.[doc.name]) {\n\t\t\tthis.grid_rows_by_docname[doc.name].refresh_field(fieldname, value);\n\t\t}\n\t}\n\n\tsetup_add_row() {\n\t\tthis.wrapper.find(\".grid-add-row\").click(() => {\n\t\t\tthis.add_new_row(null, null, true, null, true);\n\t\t\tthis.set_focus_on_row();\n\n\t\t\treturn false;\n\t\t});\n\t}\n\n\tadd_new_row(idx, callback, show, copy_doc, go_to_last_page = false, go_to_first_page = false) {\n\t\tif (this.is_editable()) {\n\t\t\tif (go_to_last_page) {\n\t\t\t\tthis.grid_pagination.go_to_last_page_to_add_row();\n\t\t\t} else if (go_to_first_page) {\n\t\t\t\tthis.grid_pagination.go_to_page(1);\n\t\t\t}\n\n\t\t\tif (this.frm) {\n\t\t\t\tvar d = frappe.model.add_child(\n\t\t\t\t\tthis.frm.doc,\n\t\t\t\t\tthis.df.options,\n\t\t\t\t\tthis.df.fieldname,\n\t\t\t\t\tidx\n\t\t\t\t);\n\t\t\t\tif (copy_doc) {\n\t\t\t\t\td = this.duplicate_row(d, copy_doc);\n\t\t\t\t}\n\t\t\t\td.__unedited = true;\n\t\t\t\tthis.frm.script_manager.trigger(this.df.fieldname + \"_add\", d.doctype, d.name);\n\t\t\t\tthis.refresh();\n\t\t\t} else {\n\t\t\t\tif (!this.df.data) {\n\t\t\t\t\tthis.df.data = this.get_data() || [];\n\t\t\t\t}\n\t\t\t\tconst defaults = this.docfields.reduce((acc, d) => {\n\t\t\t\t\tacc[d.fieldname] = d.default;\n\t\t\t\t\treturn acc;\n\t\t\t\t}, {});\n\n\t\t\t\tconst row_idx = this.df.data.length + 1;\n\t\t\t\tthis.df.data.push({ idx: row_idx, __islocal: true, ...defaults });\n\t\t\t\tthis.df.on_add_row && this.df.on_add_row(row_idx);\n\t\t\t\tthis.refresh();\n\t\t\t}\n\n\t\t\tif (show) {\n\t\t\t\tif (idx) {\n\t\t\t\t\t// always open inserted rows\n\t\t\t\t\tthis.wrapper\n\t\t\t\t\t\t.find(\"[data-idx='\" + idx + \"']\")\n\t\t\t\t\t\t.data(\"grid_row\")\n\t\t\t\t\t\t.toggle_view(true, callback);\n\t\t\t\t} else {\n\t\t\t\t\tif (!this.allow_on_grid_editing()) {\n\t\t\t\t\t\t// open last row only if on-grid-editing is disabled\n\t\t\t\t\t\tthis.wrapper\n\t\t\t\t\t\t\t.find(\".grid-row:last\")\n\t\t\t\t\t\t\t.data(\"grid_row\")\n\t\t\t\t\t\t\t.toggle_view(true, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn d;\n\t\t}\n\t}\n\n\trenumber_based_on_dom() {\n\t\t// renumber based on dom\n\t\tlet $rows = $(this.parent).find(\".rows\");\n\n\t\t$rows.find(\".grid-row\").each((i, item) => {\n\t\t\tlet $item = $(item);\n\t\t\tlet index =\n\t\t\t\t(this.grid_pagination.page_index - 1) * this.grid_pagination.page_length + i;\n\t\t\tlet d = this.grid_rows_by_docname[$item.attr(\"data-name\")].doc;\n\t\t\td.idx = index + 1;\n\t\t\t$item.attr(\"data-idx\", d.idx);\n\n\t\t\tif (this.frm) this.frm.doc[this.df.fieldname][index] = d;\n\t\t\tthis.data[index] = d;\n\t\t\tthis.grid_rows[index] = this.grid_rows_by_docname[d.name];\n\t\t});\n\t}\n\n\tduplicate_row(d, copy_doc) {\n\t\tconst noCopyFields = new Set([\n\t\t\t\"creation\",\n\t\t\t\"modified\",\n\t\t\t\"modified_by\",\n\t\t\t\"idx\",\n\t\t\t\"owner\",\n\t\t\t\"parent\",\n\t\t\t\"doctype\",\n\t\t\t\"name\",\n\t\t\t\"parentfield\",\n\t\t]);\n\n\t\tconst docfields = frappe.get_meta(this.doctype).fields || [];\n\t\t$.each(docfields, function (_index, df) {\n\t\t\tif (cint(df.no_copy)) noCopyFields.add(df.fieldname);\n\t\t});\n\n\t\t$.each(copy_doc, function (key, value) {\n\t\t\tif (!noCopyFields.has(key)) {\n\t\t\t\td[key] = value;\n\t\t\t}\n\t\t});\n\n\t\treturn d;\n\t}\n\n\tset_focus_on_row(idx) {\n\t\tif (!idx && idx !== 0) {\n\t\t\tidx = this.grid_rows.length - 1;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tthis.grid_rows[idx].row\n\t\t\t\t.find('input[type=\"Text\"],textarea,select')\n\t\t\t\t.filter(\":visible:first\")\n\t\t\t\t.focus();\n\t\t}, 100);\n\t}\n\n\tsetup_visible_columns() {\n\t\tif (this.visible_columns && this.visible_columns.length > 0) return;\n\n\t\tthis.user_defined_columns = [];\n\t\tthis.setup_user_defined_columns();\n\t\tvar total_colsize = 1,\n\t\t\tfields =\n\t\t\t\tthis.user_defined_columns && this.user_defined_columns.length > 0\n\t\t\t\t\t? this.user_defined_columns\n\t\t\t\t\t: this.editable_fields || this.docfields;\n\n\t\tthis.visible_columns = [];\n\n\t\tfor (var ci in fields) {\n\t\t\tvar _df = fields[ci];\n\n\t\t\t// get docfield if from fieldname\n\t\t\tdf =\n\t\t\t\tthis.user_defined_columns && this.user_defined_columns.length > 0\n\t\t\t\t\t? _df\n\t\t\t\t\t: this.fields_map[_df.fieldname];\n\n\t\t\tif (\n\t\t\t\tdf &&\n\t\t\t\t!df.hidden &&\n\t\t\t\t(this.editable_fields || df.in_list_view) &&\n\t\t\t\t((this.frm && this.frm.get_perm(df.permlevel, \"read\")) || !this.frm) &&\n\t\t\t\t!frappe.model.layout_fields.includes(df.fieldtype)\n\t\t\t) {\n\t\t\t\tif (df.columns) {\n\t\t\t\t\tdf.colsize = df.columns;\n\t\t\t\t} else {\n\t\t\t\t\tthis.update_default_colsize(df);\n\t\t\t\t}\n\n\t\t\t\t// attach formatter on refresh\n\t\t\t\tif (\n\t\t\t\t\tdf.fieldtype == \"Link\" &&\n\t\t\t\t\t!df.formatter &&\n\t\t\t\t\tdf.parent &&\n\t\t\t\t\tfrappe.meta.docfield_map[df.parent]\n\t\t\t\t) {\n\t\t\t\t\tconst docfield = frappe.meta.docfield_map[df.parent][df.fieldname];\n\t\t\t\t\tif (docfield && docfield.formatter) {\n\t\t\t\t\t\tdf.formatter = docfield.formatter;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttotal_colsize += df.colsize;\n\t\t\t\tthis.visible_columns.push([df, df.colsize]);\n\t\t\t}\n\t\t}\n\n\t\t// redistribute if total-col size is less than 12\n\t\tvar passes = 0;\n\t\twhile (total_colsize < 11 && passes < 12) {\n\t\t\tfor (var i in this.visible_columns) {\n\t\t\t\tvar df = this.visible_columns[i][0];\n\t\t\t\tvar colsize = this.visible_columns[i][1];\n\t\t\t\tif (colsize > 1 && colsize < 11 && frappe.model.is_non_std_field(df.fieldname)) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tpasses < 3 &&\n\t\t\t\t\t\t[\"Int\", \"Currency\", \"Float\", \"Check\", \"Percent\"].indexOf(df.fieldtype) !==\n\t\t\t\t\t\t\t-1\n\t\t\t\t\t) {\n\t\t\t\t\t\t// don't increase col size of these fields in first 3 passes\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.visible_columns[i][1] += 1;\n\t\t\t\t\ttotal_colsize++;\n\t\t\t\t}\n\n\t\t\t\tif (total_colsize > 10) break;\n\t\t\t}\n\t\t\tpasses++;\n\t\t}\n\t}\n\n\tupdate_default_colsize(df) {\n\t\tvar colsize = 2;\n\t\tswitch (df.fieldtype) {\n\t\t\tcase \"Text\":\n\t\t\t\tbreak;\n\t\t\tcase \"Small Text\":\n\t\t\t\tcolsize = 3;\n\t\t\t\tbreak;\n\t\t\tcase \"Check\":\n\t\t\t\tcolsize = 1;\n\t\t}\n\t\tdf.colsize = colsize;\n\t}\n\n\tsetup_user_defined_columns() {\n\t\tif (!this.frm) return;\n\n\t\tlet user_settings = frappe.get_user_settings(this.frm.doctype, \"GridView\");\n\t\tif (user_settings && user_settings[this.doctype] && user_settings[this.doctype].length) {\n\t\t\tthis.user_defined_columns = user_settings[this.doctype]\n\t\t\t\t.map((row) => {\n\t\t\t\t\tlet column = frappe.meta.get_docfield(this.doctype, row.fieldname);\n\n\t\t\t\t\tif (column) {\n\t\t\t\t\t\tcolumn.in_list_view = 1;\n\t\t\t\t\t\tcolumn.columns = row.columns;\n\t\t\t\t\t\tcolumn.sticky = row.sticky;\n\t\t\t\t\t\treturn column;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.filter(Boolean);\n\t\t}\n\t}\n\n\tis_editable() {\n\t\treturn this.display_status == \"Write\" && !this.static_rows;\n\t}\n\n\tis_sortable() {\n\t\treturn this.sortable_status || this.is_editable();\n\t}\n\n\tonly_sortable(status) {\n\t\tif (status === undefined ? true : status) {\n\t\t\tthis.sortable_status = true;\n\t\t\tthis.static_rows = true;\n\t\t}\n\t}\n\n\tset_multiple_add(link, qty) {\n\t\tif (this.multiple_set) return;\n\n\t\tvar link_field = frappe.meta.get_docfield(this.df.options, link);\n\t\tvar btn = $(this.wrapper).find(\".grid-add-multiple-rows\");\n\n\t\t// show button\n\t\tbtn.removeClass(\"hidden\");\n\n\t\t// open link selector on click\n\t\tbtn.on(\"click\", () => {\n\t\t\tnew frappe.ui.form.LinkSelector({\n\t\t\t\tdoctype: link_field.options,\n\t\t\t\tfieldname: link,\n\t\t\t\tqty_fieldname: qty,\n\t\t\t\tget_query: link_field.get_query,\n\t\t\t\ttarget: this,\n\t\t\t\ttxt: \"\",\n\t\t\t});\n\t\t\tthis.grid_pagination.go_to_last_page_to_add_row();\n\t\t\treturn false;\n\t\t});\n\t\tthis.multiple_set = true;\n\t}\n\n\tsetup_allow_bulk_edit() {\n\t\tlet me = this;\n\t\tif (this.frm && this.frm.get_docfield(this.df.fieldname)?.allow_bulk_edit) {\n\t\t\t// download\n\t\t\tthis.setup_download();\n\n\t\t\tconst value_formatter_map = {\n\t\t\t\tDate: (val) => (val ? frappe.datetime.user_to_str(val) : val),\n\t\t\t\tInt: (val) => cint(val),\n\t\t\t\tCheck: (val) => cint(val),\n\t\t\t\tFloat: (val) => flt(val),\n\t\t\t\tCurrency: (val) => flt(val),\n\t\t\t};\n\n\t\t\t// upload\n\t\t\tfrappe.flags.no_socketio = true;\n\t\t\t$(this.wrapper)\n\t\t\t\t.find(\".grid-upload\")\n\t\t\t\t.removeClass(\"hidden\")\n\t\t\t\t.on(\"click\", () => {\n\t\t\t\t\tnew frappe.ui.FileUploader({\n\t\t\t\t\t\tas_dataurl: true,\n\t\t\t\t\t\tallow_multiple: false,\n\t\t\t\t\t\trestrictions: {\n\t\t\t\t\t\t\tallowed_file_types: [\".csv\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t\ton_success(file) {\n\t\t\t\t\t\t\tvar data = frappe.utils.csv_to_array(\n\t\t\t\t\t\t\t\tfrappe.utils.get_decoded_string(file.dataurl)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// row #2 contains fieldnames;\n\t\t\t\t\t\t\tvar fieldnames = data[2];\n\t\t\t\t\t\t\tme.frm.clear_table(me.df.fieldname);\n\t\t\t\t\t\t\t$.each(data, (i, row) => {\n\t\t\t\t\t\t\t\tif (i > 6) {\n\t\t\t\t\t\t\t\t\tvar blank_row = true;\n\t\t\t\t\t\t\t\t\t$.each(row, function (ci, value) {\n\t\t\t\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\t\t\t\tblank_row = false;\n\t\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (!blank_row) {\n\t\t\t\t\t\t\t\t\t\tvar d = me.frm.add_child(me.df.fieldname);\n\t\t\t\t\t\t\t\t\t\t$.each(row, (ci, value) => {\n\t\t\t\t\t\t\t\t\t\t\tvar fieldname = fieldnames[ci];\n\t\t\t\t\t\t\t\t\t\t\tvar df = frappe.meta.get_docfield(\n\t\t\t\t\t\t\t\t\t\t\t\tme.df.options,\n\t\t\t\t\t\t\t\t\t\t\t\tfieldname\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tif (df) {\n\t\t\t\t\t\t\t\t\t\t\t\td[fieldnames[ci]] = value_formatter_map[\n\t\t\t\t\t\t\t\t\t\t\t\t\tdf.fieldtype\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t? value_formatter_map[df.fieldtype](value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t: value;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tme.frm.refresh_field(me.df.fieldname);\n\t\t\t\t\t\t\tfrappe.msgprint({\n\t\t\t\t\t\t\t\tmessage: __(\"Table updated\"),\n\t\t\t\t\t\t\t\ttitle: __(\"Success\"),\n\t\t\t\t\t\t\t\tindicator: \"green\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t}\n\t}\n\n\tsetup_download() {\n\t\tlet title = this.df.label || frappe.model.unscrub(this.df.fieldname);\n\t\t$(this.wrapper)\n\t\t\t.find(\".grid-download\")\n\t\t\t.removeClass(\"hidden\")\n\t\t\t.on(\"click\", () => {\n\t\t\t\tvar data = [];\n\t\t\t\tvar docfields = [];\n\t\t\t\tdata.push([__(\"Bulk Edit {0}\", [title])]);\n\t\t\t\tdata.push([]);\n\t\t\t\tdata.push([]);\n\t\t\t\tdata.push([]);\n\t\t\t\tdata.push([__(\"The CSV format is case sensitive\")]);\n\t\t\t\tdata.push([__(\"Do not edit headers which are preset in the template\")]);\n\t\t\t\tdata.push([\"------\"]);\n\t\t\t\t$.each(frappe.get_meta(this.df.options).fields, (i, df) => {\n\t\t\t\t\t// don't include the read-only field in the template\n\t\t\t\t\tif (frappe.model.is_value_type(df.fieldtype)) {\n\t\t\t\t\t\tdata[1].push(df.label);\n\t\t\t\t\t\tdata[2].push(df.fieldname);\n\t\t\t\t\t\tlet description = (df.description || \"\") + \" \";\n\t\t\t\t\t\tif (df.fieldtype === \"Date\") {\n\t\t\t\t\t\t\tdescription += frappe.boot.sysdefaults.date_format;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdata[3].push(description);\n\t\t\t\t\t\tdocfields.push(df);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t// add data\n\t\t\t\t$.each(this.frm.doc[this.df.fieldname] || [], (i, d) => {\n\t\t\t\t\tvar row = [];\n\t\t\t\t\t$.each(data[2], (i, fieldname) => {\n\t\t\t\t\t\tvar value = d[fieldname];\n\n\t\t\t\t\t\t// format date\n\t\t\t\t\t\tif (docfields[i].fieldtype === \"Date\" && value) {\n\t\t\t\t\t\t\tvalue = frappe.datetime.str_to_user(value);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trow.push(value || \"\");\n\t\t\t\t\t});\n\t\t\t\t\tdata.push(row);\n\t\t\t\t});\n\n\t\t\t\tfrappe.tools.downloadify(data, null, title);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\tadd_custom_button(label, click, position = \"bottom\") {\n\t\t// add / unhide a custom button\n\t\tconst $wrapper = position === \"top\" ? this.grid_custom_buttons : this.grid_buttons;\n\t\tlet $btn = this.custom_buttons[label];\n\t\tif (!$btn) {\n\t\t\t$btn = $(``\n\t\t).click((e) => {\n\t\t\tif (!this.showing_preview) {\n\t\t\t\tthis.update_preview();\n\t\t\t}\n\n\t\t\tconst $btn = $(e.target);\n\t\t\tthis.markdown_preview.toggle(!this.showing_preview);\n\t\t\tthis.ace_editor_target.toggle(this.showing_preview);\n\n\t\t\tthis.showing_preview = !this.showing_preview;\n\n\t\t\t$btn.text(this.showing_preview ? __(\"Edit\") : __(\"Preview\"));\n\t\t});\n\t\tthis.markdown_container?.prepend(this.preview_toggle_btn);\n\n\t\tthis.markdown_preview = $(`
    `).hide();\n\t\tthis.markdown_container?.append(this.markdown_preview);\n\n\t\tthis.setup_image_drop();\n\t}\n\n\tset_language() {\n\t\tif (!this.df.options) {\n\t\t\tthis.df.options = \"Markdown\";\n\t\t}\n\t\tsuper.set_language();\n\t}\n\n\tupdate_preview() {\n\t\tif (!this.markdown_preview) return;\n\t\tconst value = this.get_value() || \"\";\n\t\tthis.markdown_preview.html(frappe.markdown(value));\n\t}\n\n\tset_formatted_input(value) {\n\t\tsuper.set_formatted_input(value).then(() => {\n\t\t\tthis.update_preview();\n\t\t});\n\t}\n\n\tset_disp_area(value) {\n\t\tthis.disp_area && $(this.disp_area).text(value);\n\t}\n\n\tsetup_image_drop() {\n\t\tthis.ace_editor_target.on(\"drop\", (e) => {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t\tlet { dataTransfer } = e.originalEvent;\n\t\t\tif (!dataTransfer?.files?.length) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet files = dataTransfer.files;\n\t\t\tif (!files[0].type.includes(\"image\")) {\n\t\t\t\tfrappe.show_alert({\n\t\t\t\t\tmessage: __(\"You can only insert images in Markdown fields\", [files[0].name]),\n\t\t\t\t\tindicator: \"orange\",\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnew frappe.ui.FileUploader({\n\t\t\t\tdialog_title: __(\"Insert Image in Markdown\"),\n\t\t\t\tdoctype: this.doctype,\n\t\t\t\tdocname: this.docname,\n\t\t\t\tfrm: this.frm,\n\t\t\t\tfiles,\n\t\t\t\tfolder: \"Home/Attachments\",\n\t\t\t\tallow_multiple: false,\n\t\t\t\trestrictions: {\n\t\t\t\t\tallowed_file_types: [\"image/*\"],\n\t\t\t\t},\n\t\t\t\ton_success: (file_doc) => {\n\t\t\t\t\tif (this.frm && !this.frm.is_new()) {\n\t\t\t\t\t\tthis.frm.attachments.attachment_uploaded(file_doc);\n\t\t\t\t\t}\n\t\t\t\t\tthis.editor.session.insert(\n\t\t\t\t\t\tthis.editor.getCursorPosition(),\n\t\t\t\t\t\t`![](${encodeURI(file_doc.file_url)})`\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n};\n", "frappe.ui.form.ControlHTMLEditor = class ControlHTMLEditor extends (\n\tfrappe.ui.form.ControlMarkdownEditor\n) {\n\tstatic editor_class = \"html\";\n\tset_language() {\n\t\tthis.df.options = \"HTML\";\n\t\tsuper.set_language();\n\t}\n\tupdate_preview() {\n\t\tif (!this.markdown_preview) return;\n\t\tlet value = this.get_value() || \"\";\n\t\tvalue = frappe.dom.remove_script_and_style(value);\n\t\tthis.markdown_preview.html(value);\n\t}\n};\n", "frappe.ui.form.ControlHeading = class ControlHeading extends frappe.ui.form.ControlHTML {\n\tget_content() {\n\t\treturn \"

    \" + __(this.df.label, null, this.df.parent) + \"

    \";\n\t}\n};\n", "import Awesomplete from \"awesomplete\";\n\nfrappe.ui.form.ControlAutocomplete = class ControlAutoComplete extends frappe.ui.form.ControlData {\n\tstatic trigger_change_on_input_event = false;\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.setup_awesomplete();\n\t\tthis.set_options();\n\t}\n\n\tset_options() {\n\t\tif (this.df.options) {\n\t\t\tlet options = this.df.options || [];\n\t\t\tthis.set_data(options);\n\t\t}\n\t}\n\n\tformat_for_input(value) {\n\t\tif (value == null) {\n\t\t\treturn \"\";\n\t\t} else if (this._data && this._data.length) {\n\t\t\tconst item = this._data.find((i) => i.value == value);\n\t\t\treturn item ? item.label : value;\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t}\n\n\tget_input_value() {\n\t\tif (this.$input) {\n\t\t\tconst label = this.$input.val();\n\t\t\tconst item = this._data?.find((i) => i.label == label);\n\t\t\treturn item ? item.value : label;\n\t\t}\n\t}\n\n\tget_awesomplete_settings() {\n\t\tvar me = this;\n\t\treturn {\n\t\t\ttabSelect: true,\n\t\t\tminChars: 0,\n\t\t\tmaxItems: this.df.max_items || 99,\n\t\t\tautoFirst: true,\n\t\t\tlist: this.get_data(),\n\t\t\tdata: function (item) {\n\t\t\t\tif (typeof item !== \"object\") {\n\t\t\t\t\tvar d = { value: item };\n\t\t\t\t\titem = d;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tlabel: item.label || item.value,\n\t\t\t\t\tvalue: item.value,\n\t\t\t\t};\n\t\t\t},\n\t\t\tfilter: function (item, input) {\n\t\t\t\tlet hay = item.label + item.value;\n\t\t\t\treturn Awesomplete.FILTER_CONTAINS(hay, input);\n\t\t\t},\n\t\t\titem: function (item) {\n\t\t\t\tvar d = this.get_item(item.value);\n\t\t\t\tif (!d) {\n\t\t\t\t\td = item;\n\t\t\t\t}\n\n\t\t\t\tif (!d.label) {\n\t\t\t\t\td.label = d.value;\n\t\t\t\t}\n\n\t\t\t\tvar _label = me.translate_values ? __(d.label, null, d.parent) : d.label;\n\t\t\t\tvar html = \"\" + _label + \"\";\n\t\t\t\tif (d.description) {\n\t\t\t\t\thtml += '
    ' + __(d.description) + \"\";\n\t\t\t\t}\n\n\t\t\t\treturn $(\"
  • \")\n\t\t\t\t\t.data(\"item.autocomplete\", d)\n\t\t\t\t\t.prop(\"aria-selected\", \"false\")\n\t\t\t\t\t.html(\"

    \" + html + \"

    \")\n\t\t\t\t\t.get(0);\n\t\t\t},\n\t\t\tsort: () => {\n\t\t\t\treturn 0;\n\t\t\t},\n\t\t};\n\t}\n\n\tsetup_awesomplete() {\n\t\tthis.awesomplete = new Awesomplete(this.input, this.get_awesomplete_settings());\n\n\t\t$(this.input_area).find(\".awesomplete ul\").css(\"min-width\", \"100%\");\n\n\t\tthis.$input.on(\"input\", (e) => {\n\t\t\tif (this.get_query || this.df.get_query) {\n\t\t\t\tthis.execute_query_if_exists(e.target.value);\n\t\t\t} else {\n\t\t\t\tthis.awesomplete.list = this.get_data();\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"focus\", () => {\n\t\t\tif (!this.$input.val()) {\n\t\t\t\tthis.$input.val(\"\");\n\t\t\t\tthis.$input.trigger(\"input\");\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"blur\", () => {\n\t\t\tif (this.selected) {\n\t\t\t\tthis.selected = false;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar value = this.get_input_value();\n\t\t\tif (value !== this.last_value) {\n\t\t\t\tthis.parse_validate_and_set_in_model(value);\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-open\", () => {\n\t\t\tthis.autocomplete_open = true;\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-close\", () => {\n\t\t\tthis.autocomplete_open = false;\n\t\t});\n\n\t\tthis.$input.on(\"awesomplete-selectcomplete\", () => {\n\t\t\tthis.$input.trigger(\"change\");\n\t\t});\n\t}\n\n\tvalidate(value) {\n\t\tif (this.df.ignore_validation) {\n\t\t\treturn value || \"\";\n\t\t}\n\t\tlet valid_values = this.awesomplete._list.map((d) => d.value);\n\t\tif (!valid_values.length) {\n\t\t\treturn value;\n\t\t}\n\t\tif (valid_values.includes(value)) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tparse_options(options) {\n\t\tif (typeof options === \"string\" && options[0] === \"[\") {\n\t\t\toptions = frappe.utils.parse_json(options);\n\t\t}\n\t\tif (typeof options === \"string\") {\n\t\t\toptions = options.split(\"\\n\");\n\t\t}\n\t\tif (typeof options[0] === \"string\") {\n\t\t\toptions = options.map((o) => ({ label: o, value: o }));\n\t\t}\n\n\t\toptions = options.map((o) => {\n\t\t\tif (typeof o !== \"string\") {\n\t\t\t\to.label = __(cstr(o.label));\n\t\t\t\to.value = cstr(o.value);\n\t\t\t}\n\t\t\treturn o;\n\t\t});\n\n\t\treturn options;\n\t}\n\n\texecute_query_if_exists(term) {\n\t\tconst args = { txt: term };\n\t\tlet get_query = this.get_query || this.df.get_query;\n\n\t\tif (!get_query) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet set_nulls = function (obj) {\n\t\t\t$.each(obj, function (key, value) {\n\t\t\t\tif (value !== undefined) {\n\t\t\t\t\tobj[key] = value;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn obj;\n\t\t};\n\n\t\tlet process_query_object = function (obj) {\n\t\t\tif (obj.query) {\n\t\t\t\targs.query = obj.query;\n\t\t\t}\n\n\t\t\tif (obj.params) {\n\t\t\t\tset_nulls(obj.params);\n\t\t\t\tObject.assign(args, obj.params);\n\t\t\t}\n\n\t\t\t// turn off value translation\n\t\t\tif (obj.translate_values !== undefined) {\n\t\t\t\tthis.translate_values = obj.translate_values;\n\t\t\t}\n\t\t};\n\n\t\tif ($.isPlainObject(get_query)) {\n\t\t\tprocess_query_object(get_query);\n\t\t} else if (typeof get_query === \"string\") {\n\t\t\targs.query = get_query;\n\t\t} else {\n\t\t\t// get_query by function\n\t\t\tvar q = get_query((this.frm && this.frm.doc) || this.doc, this.doctype, this.docname);\n\n\t\t\tif (typeof q === \"string\") {\n\t\t\t\t// returns a string\n\t\t\t\targs.query = q;\n\t\t\t} else if ($.isPlainObject(q)) {\n\t\t\t\t// returns an object\n\t\t\t\tprocess_query_object(q);\n\t\t\t}\n\t\t}\n\n\t\tif (args.query) {\n\t\t\tfrappe.call({\n\t\t\t\tmethod: args.query,\n\t\t\t\targs: args,\n\t\t\t\tcallback: ({ message }) => {\n\t\t\t\t\tif (!this.$input.is(\":focus\")) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.set_data(message);\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n\n\tget_data() {\n\t\treturn this._data || [];\n\t}\n\n\tset_data(data) {\n\t\tdata = this.parse_options(data);\n\t\tif (this.awesomplete) {\n\t\t\tthis.awesomplete.list = data;\n\t\t}\n\t\tthis._data = data;\n\t}\n};\n", "import JsBarcode from \"jsbarcode\";\n\nfrappe.ui.form.ControlBarcode = class ControlBarcode extends frappe.ui.form.ControlData {\n\tmake_wrapper() {\n\t\t// Create the elements for barcode area\n\t\tsuper.make_wrapper();\n\n\t\tthis.default_svg = \"\";\n\t\tlet $input_wrapper = this.$wrapper.find(\".control-input-wrapper\");\n\t\tthis.barcode_area = $(`
    ${this.default_svg}
    `);\n\t\tthis.barcode_area.appendTo($input_wrapper);\n\t}\n\n\tparse(value) {\n\t\t// Parse raw value\n\t\tif (value) {\n\t\t\tif (value.startsWith(\"\n\t\t\t\t\t
    \n\t\t\t\t
    `\n\t\t\t);\n\n\t\t\t$(this.disp_area).html(this.map_area);\n\t\t}\n\n\t\t// show again on idempotent invocations\n\t\t$(this.disp_area).removeClass(\"like-disabled-input\");\n\t\t$(this.disp_area).css(\"display\", \"block\");\n\n\t\tif (this.frm) {\n\t\t\tthis.make_map();\n\t\t\tif (value) {\n\t\t\t\tthis.bind_leaflet_data(value);\n\t\t\t}\n\t\t} else {\n\t\t\t$(document).on(\"frappe.ui.Dialog:shown\", () => {\n\t\t\t\tthis.make_map();\n\t\t\t\tif (value) {\n\t\t\t\t\tthis.bind_leaflet_data(value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tmake_map(value) {\n\t\tif (!this.map) {\n\t\t\tthis.customize_draw_controls();\n\t\t\tthis.bind_leaflet_map();\n\t\t}\n\t\tif (this.disabled) {\n\t\t\tthis.map.dragging.disable();\n\t\t\tthis.map.touchZoom.disable();\n\t\t\tthis.map.doubleClickZoom.disable();\n\t\t\tthis.map.scrollWheelZoom.disable();\n\t\t\tthis.map.boxZoom.disable();\n\t\t\tthis.map.keyboard.disable();\n\t\t\tthis.map.zoomControl.remove();\n\t\t} else {\n\t\t\tthis.bind_leaflet_draw_control();\n\t\t\tif (!this.bound_event_listeners) {\n\t\t\t\tthis.bind_leaflet_event_listeners();\n\t\t\t}\n\t\t\tif (!this.locate_control) {\n\t\t\t\tthis.bind_leaflet_locate_control();\n\t\t\t}\n\t\t}\n\t}\n\n\tbind_leaflet_data(value) {\n\t\t/* render raw value from db into map */\n\t\tthis.clear_editable_layers();\n\n\t\tconst data_layers = new L.FeatureGroup().addLayer(\n\t\t\tL.geoJson(JSON.parse(value), {\n\t\t\t\tpointToLayer: this.point_to_layer,\n\t\t\t\tstyle: this.set_style,\n\t\t\t\tonEachFeature: this.on_each_feature,\n\t\t\t})\n\t\t);\n\t\tthis.add_non_group_layers(data_layers, this.editableLayers);\n\t\tthis.editableLayers.addTo(this.map);\n\t\tthis.fit_and_recenter_map();\n\t}\n\n\t/**\n\t * Defines custom rules for how geoJSON data is rendered on the map.\n\t *\n\t * Can be inherited in custom map controllers.\n\t *\n\t * @param {Object} geoJsonPoint - The geoJSON object to be rendered on the map.\n\t * @param {Object} latlng - The latitude and longitude where the geoJSON data should be rendered on the map.\n\t * @returns {Object} - Returns the Leaflet layer object to be rendered on the map.\n\t */\n\tpoint_to_layer(geoJsonPoint, latlng) {\n\t\t// Custom rules for how geojson data is rendered on the map\n\t\tif (geoJsonPoint.properties.point_type == \"circle\") {\n\t\t\treturn L.circle(latlng, { radius: geoJsonPoint.properties.radius });\n\t\t} else if (geoJsonPoint.properties.point_type == \"circlemarker\") {\n\t\t\treturn L.circleMarker(latlng, { radius: geoJsonPoint.properties.radius });\n\t\t} else {\n\t\t\treturn L.marker(latlng);\n\t\t}\n\t}\n\n\t/**\n\t * Defines custom styles for how geoJSON Line and LineString data is rendered on the map.\n\t *\n\t * Can be inherited in custom map controllers.\n\t *\n\t * @param {Object} geoJsonFeature - The geoJSON object to be rendered on the map.\n\t * @returns {Object} - Returns the style object for the geoJSON object.\n\t */\n\tset_style(geoJsonFeature) {\n\t\treturn {};\n\t}\n\n\t/**\n\t * Is called after each feature is rendered and styles, can be used to attache popups, tooltips and other events\n\t *\n\t * Can be inherited in custom map controllers.\n\t *\n\t * @param {Object} feature - The leaflet object representing a geojson feature.\n\t * @param {Object} layer - The leaflet layer object.\n\t */\n\ton_each_feature(feature, layer) {}\n\n\tcustomize_draw_controls() {\n\t\tconst circleToGeoJSON = L.Circle.prototype.toGeoJSON;\n\t\tL.Circle.include({\n\t\t\ttoGeoJSON: function () {\n\t\t\t\tconst feature = circleToGeoJSON.call(this);\n\t\t\t\tfeature.properties = {\n\t\t\t\t\tpoint_type: \"circle\",\n\t\t\t\t\tradius: this.getRadius(),\n\t\t\t\t};\n\t\t\t\treturn feature;\n\t\t\t},\n\t\t});\n\n\t\tL.CircleMarker.include({\n\t\t\ttoGeoJSON: function () {\n\t\t\t\tconst feature = circleToGeoJSON.call(this);\n\t\t\t\tfeature.properties = {\n\t\t\t\t\tpoint_type: \"circlemarker\",\n\t\t\t\t\tradius: this.getRadius(),\n\t\t\t\t};\n\t\t\t\treturn feature;\n\t\t\t},\n\t\t});\n\n\t\tL.Icon.Default.imagePath = frappe.utils.map_defaults.image_path;\n\t}\n\n\tbind_leaflet_map() {\n\t\tthis.map = L.map(this.map_id);\n\t\tthis.map.setView(frappe.utils.map_defaults.center, frappe.utils.map_defaults.zoom);\n\n\t\tL.tileLayer(frappe.utils.map_defaults.tiles, frappe.utils.map_defaults.options).addTo(\n\t\t\tthis.map\n\t\t);\n\n\t\tthis.editableLayers = new L.FeatureGroup();\n\t}\n\n\tbind_leaflet_locate_control() {\n\t\t// To request location update and set location, sets current geolocation on load\n\t\tthis.locate_control = L.control.locate({ position: \"topright\" });\n\t\tthis.locate_control.addTo(this.map);\n\t}\n\n\tbind_leaflet_draw_control() {\n\t\tif (!this.draw_control) {\n\t\t\tthis.draw_control = this.get_leaflet_controls();\n\t\t}\n\t\tif (this.disp_status == \"Write\") {\n\t\t\tthis.draw_control.addTo(this.map);\n\t\t} else {\n\t\t\tthis.draw_control.remove();\n\t\t}\n\t}\n\n\tget_leaflet_controls() {\n\t\treturn new L.Control.Draw({\n\t\t\tposition: \"topleft\",\n\t\t\tdraw: {\n\t\t\t\tpolyline: {\n\t\t\t\t\tshapeOptions: {\n\t\t\t\t\t\tcolor: frappe.ui.color.get(\"blue\"),\n\t\t\t\t\t\tweight: 10,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpolygon: {\n\t\t\t\t\tallowIntersection: false, // Restricts shapes to simple polygons\n\t\t\t\t\tdrawError: {\n\t\t\t\t\t\tcolor: frappe.ui.color.get(\"orange\"), // Color the shape will turn when intersects\n\t\t\t\t\t\tmessage: \"Oh snap! you can't draw that!\", // Message that will show when intersect\n\t\t\t\t\t},\n\t\t\t\t\tshapeOptions: {\n\t\t\t\t\t\tcolor: frappe.ui.color.get(\"blue\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcircle: true,\n\t\t\t\trectangle: {\n\t\t\t\t\tshapeOptions: {\n\t\t\t\t\t\tclickable: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tedit: {\n\t\t\t\tfeatureGroup: this.editableLayers, //REQUIRED!!\n\t\t\t\tremove: true,\n\t\t\t},\n\t\t});\n\t}\n\n\tbind_leaflet_event_listeners() {\n\t\tthis.bound_event_listeners = true;\n\t\tthis.map.on(\"draw:created\", (e) => {\n\t\t\tvar type = e.layerType,\n\t\t\t\tlayer = e.layer;\n\t\t\tif (type === \"marker\") {\n\t\t\t\tlayer.bindPopup(\"Marker\");\n\t\t\t}\n\t\t\tthis.editableLayers.addLayer(layer);\n\t\t\tthis.set_value(JSON.stringify(this.editableLayers.toGeoJSON()));\n\t\t});\n\n\t\tthis.map.on(\"draw:deleted draw:edited\", (e) => {\n\t\t\tconst { layer } = e;\n\t\t\tthis.editableLayers.removeLayer(layer);\n\t\t\tthis.set_value(JSON.stringify(this.editableLayers.toGeoJSON()));\n\t\t});\n\t}\n\n\tadd_non_group_layers(source_layer, target_group) {\n\t\t// https://gis.stackexchange.com/a/203773\n\t\t// Would benefit from https://github.com/Leaflet/Leaflet/issues/4461\n\t\tif (source_layer instanceof L.LayerGroup) {\n\t\t\tsource_layer.eachLayer((layer) => {\n\t\t\t\tthis.add_non_group_layers(layer, target_group);\n\t\t\t});\n\t\t} else {\n\t\t\ttarget_group.addLayer(source_layer);\n\t\t}\n\t}\n\n\tclear_editable_layers() {\n\t\tthis.editableLayers.eachLayer((l) => {\n\t\t\tthis.editableLayers.removeLayer(l);\n\t\t});\n\t}\n\n\tfit_and_recenter_map() {\n\t\t// Spread map across the wrapper, recenter and zoom w.r.t bounds\n\t\ttry {\n\t\t\tthis.map.invalidateSize();\n\t\t\tthis.map.fitBounds(this.editableLayers.getBounds(), {\n\t\t\t\tpadding: [50, 50],\n\t\t\t});\n\t\t} catch (err) {\n\t\t\t// suppress error if layer has a point.\n\t\t}\n\t}\n\n\ton_section_collapse(hide) {\n\t\t!hide && this.fit_and_recenter_map();\n\t}\n};\n", "import Awesomplete from \"awesomplete\";\n\nfrappe.ui.form.ControlMultiSelect = class ControlMultiSelect extends (\n\tfrappe.ui.form.ControlAutocomplete\n) {\n\tget_awesomplete_settings() {\n\t\tconst settings = super.get_awesomplete_settings();\n\n\t\treturn Object.assign(settings, {\n\t\t\tfilter: function (text, input) {\n\t\t\t\tlet d = this.get_item(text.value);\n\t\t\t\tif (!d) {\n\t\t\t\t\treturn Awesomplete.FILTER_CONTAINS(text, input.match(/[^,]*$/)[0]);\n\t\t\t\t}\n\n\t\t\t\tlet getMatch = (value) =>\n\t\t\t\t\tAwesomplete.FILTER_CONTAINS(value, input.match(/[^,]*$/)[0]);\n\n\t\t\t\t// match typed input with label or value or description\n\t\t\t\tlet v = getMatch(d.label);\n\t\t\t\tif (!v && d.value) {\n\t\t\t\t\tv = getMatch(d.value);\n\t\t\t\t}\n\t\t\t\tif (!v && d.description) {\n\t\t\t\t\tv = getMatch(d.description);\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t},\n\n\t\t\treplace: function (text) {\n\t\t\t\tconst before = this.input.value.match(/^.+,\\s*|/)[0];\n\t\t\t\tthis.input.value = before + text + \", \";\n\t\t\t},\n\t\t});\n\t}\n\n\tget_value() {\n\t\tlet data = super.get_value();\n\t\t// find value of label from option list and return actual value string\n\t\tif (this.df.options && this.df.options.length && this.df.options[0].label) {\n\t\t\tdata = data.split(\",\").map((op) => op.trim());\n\t\t\tdata = data\n\t\t\t\t.map((val) => {\n\t\t\t\t\tlet option = this.df.options.find((op) => op.label === val);\n\t\t\t\t\treturn option ? option.value : null;\n\t\t\t\t})\n\t\t\t\t.filter((n) => n != null)\n\t\t\t\t.join(\", \");\n\t\t}\n\t\treturn data;\n\t}\n\n\tset_formatted_input(value) {\n\t\tif (!value) return;\n\t\t// find label of value from option list and set from it as input\n\t\tif (this.df.options && this.df.options.length && this.df.options[0].label) {\n\t\t\tvalue = value\n\t\t\t\t.split(\",\")\n\t\t\t\t.map((d) => d.trim())\n\t\t\t\t.map((val) => {\n\t\t\t\t\tlet option = this.df.options.find((op) => op.value === val);\n\t\t\t\t\treturn option ? option.label : val;\n\t\t\t\t})\n\t\t\t\t.filter((n) => n != null)\n\t\t\t\t.join(\", \");\n\t\t}\n\t\tsuper.set_formatted_input(value);\n\t}\n\n\tget_values() {\n\t\tconst value = this.get_value() || \"\";\n\t\treturn value.split(/\\s*,\\s*/).filter((d) => d);\n\t}\n\n\tget_data() {\n\t\tlet data;\n\t\tif (this.df.get_data) {\n\t\t\tdata = this.df.get_data();\n\t\t\tif (data) this.set_data(data);\n\t\t} else {\n\t\t\tdata = super.get_data();\n\t\t}\n\t\tconst values = this.get_values() || [];\n\n\t\t// return values which are not already selected\n\t\tif (data) data.filter((d) => !values.includes(d));\n\t\treturn data;\n\t}\n\n\tvalidate(value) {\n\t\tif (this.df.ignore_validation) {\n\t\t\treturn value || \"\";\n\t\t}\n\n\t\tlet valid_values = this.awesomplete._list.map((d) => d.value);\n\n\t\tif (!valid_values.length) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// remove last comma and convert into array\n\t\tlet value_arr = value.replace(/,\\s*$/, \"\").split(\",\");\n\t\tlet include_all_values = value_arr.every((val) => valid_values.includes(val));\n\n\t\tif (include_all_values) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t}\n};\n", "frappe.ui.form.ControlMultiCheck = class ControlMultiCheck extends frappe.ui.form.Control {\n\t// UI: multiple checkboxes\n\t// Value: Array of values\n\t// Options: Array of label/value/checked option objects\n\n\tmake() {\n\t\tsuper.make();\n\t\tif (this.df.label) {\n\t\t\tthis.$label = $(``).appendTo(\n\t\t\t\tthis.wrapper\n\t\t\t);\n\t\t}\n\t\tthis.$load_state = $(`
    ${__(\"Loading\")}...
    `);\n\t\tthis.$select_buttons = this.get_select_buttons().appendTo(this.wrapper);\n\t\tthis.$load_state.appendTo(this.wrapper);\n\n\t\t// In your implementation, you may use the 'columns' property to specify either of:\n\t\t// - minimum column width, e.g. `\"15rem\"`\n\t\t// - fixed number of columns, e.g. `3`\n\t\t// - both minimum column width and maximum number of columns, e.g. `\"15rem 5\"`\n\t\tconst columns = this.df.columns;\n\t\tthis.$checkbox_area = $('
    ').appendTo(this.wrapper);\n\t\tthis.$checkbox_area.get(0).style.setProperty(\"--checkbox-options-columns\", columns);\n\t}\n\n\trefresh() {\n\t\tthis.set_options();\n\t\tthis.bind_checkboxes();\n\t\tsuper.refresh();\n\t}\n\n\trefresh_input() {\n\t\tthis.select_options(this.selected_options);\n\t}\n\n\tset_options() {\n\t\tthis.$load_state.show();\n\t\tthis.$select_buttons.hide();\n\t\tthis.parse_df_options();\n\n\t\tif (this.df.get_data) {\n\t\t\tif (typeof this.df.get_data().then == \"function\") {\n\t\t\t\tthis.df.get_data().then((results) => {\n\t\t\t\t\tthis.options = results;\n\t\t\t\t\tthis.make_checkboxes();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.options = this.df.get_data();\n\t\t\t\tthis.make_checkboxes();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.make_checkboxes();\n\t\t}\n\t}\n\n\tparse_df_options() {\n\t\tif (Array.isArray(this.df.options)) {\n\t\t\tthis.options = this.df.options;\n\t\t} else if (\n\t\t\tthis.df.options &&\n\t\t\tthis.df.options.length > 0 &&\n\t\t\tfrappe.utils.is_json(this.df.options)\n\t\t) {\n\t\t\tlet args = JSON.parse(this.df.options);\n\t\t\tif (Array.isArray(args)) {\n\t\t\t\tthis.options = args;\n\t\t\t} else if (Array.isArray(args.options)) {\n\t\t\t\tthis.options = args.options;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.options = [];\n\t\t}\n\t}\n\n\tmake_checkboxes() {\n\t\tthis.$load_state.hide();\n\t\tthis.$checkbox_area.empty();\n\t\tif (this.df.sort_options != false) {\n\t\t\t// Sort if sort_options is undefined, null or truthy.\n\t\t\tthis.options.sort((a, b) => cstr(a.label).localeCompare(cstr(b.label)));\n\t\t}\n\t\tthis.options.forEach((option) => {\n\t\t\tlet checkbox = this.get_checkbox_element(option).appendTo(this.$checkbox_area);\n\t\t\tif (option.danger) {\n\t\t\t\tcheckbox.find(\".label-area\").addClass(\"text-danger\");\n\t\t\t}\n\t\t\toption.$checkbox = checkbox;\n\t\t});\n\t\tif (this.df.select_all) {\n\t\t\tthis.setup_select_all();\n\t\t}\n\t\tthis.set_checked_options();\n\t}\n\n\tbind_checkboxes() {\n\t\t$(this.wrapper).on(\"change\", \":checkbox\", (e) => {\n\t\t\tconst $checkbox = $(e.target);\n\t\t\tconst option_name = $checkbox.attr(\"data-unit\");\n\t\t\tif ($checkbox.is(\":checked\")) {\n\t\t\t\tif (this.selected_options.includes(option_name)) return;\n\t\t\t\tthis.selected_options.push(option_name);\n\t\t\t} else {\n\t\t\t\tlet index = this.selected_options.indexOf(option_name);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tthis.selected_options.splice(index, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.df.on_change && this.df.on_change();\n\t\t});\n\t}\n\n\tset_checked_options() {\n\t\tthis.selected_options = this.options.filter((o) => o.checked).map((o) => o.value);\n\t\tthis.select_options(this.selected_options);\n\t}\n\n\tsetup_select_all() {\n\t\tthis.$select_buttons.show();\n\t\tthis.$select_buttons.find(\".select-all\").on(\"click\", () => {\n\t\t\tthis.select_all();\n\t\t});\n\t\tthis.$select_buttons.find(\".deselect-all\").on(\"click\", () => {\n\t\t\tthis.select_all(true);\n\t\t});\n\t}\n\n\tselect_all(deselect = false) {\n\t\t$(this.wrapper).find(`:checkbox`).prop(\"checked\", deselect).trigger(\"click\");\n\t}\n\n\tselect_options(selected_options) {\n\t\tthis.options\n\t\t\t.map((option) => option.value)\n\t\t\t.forEach((value) => {\n\t\t\t\tlet $checkbox = $(this.wrapper).find(`:checkbox[data-unit=\"${value}\"]`)[0];\n\t\t\t\tif ($checkbox) $checkbox.checked = selected_options.includes(value);\n\t\t\t});\n\t}\n\n\tget_value() {\n\t\treturn this.selected_options;\n\t}\n\n\tget_checked_options() {\n\t\treturn this.get_value();\n\t}\n\n\tget_unchecked_options() {\n\t\treturn this.options\n\t\t\t.map((o) => o.value)\n\t\t\t.filter((value) => !this.selected_options.includes(value));\n\t}\n\n\tget_checkbox_element(option) {\n\t\treturn $(`\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t`);\n\t}\n\n\tget_select_buttons() {\n\t\treturn $(`\n\t\t
    \n\t\t\t\n\t\t\t\n\t\t
    \n\t\t`);\n\t}\n};\n", "frappe.ui.form.ControlTableMultiSelect = class ControlTableMultiSelect extends (\n\tfrappe.ui.form.ControlLink\n) {\n\tstatic horizontal = false;\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.$input_area.addClass(\"form-control table-multiselect\");\n\t\tthis.$input.removeClass(\"form-control\");\n\n\t\tthis.$input.on(\"awesomplete-selectcomplete\", () => {\n\t\t\tthis.$input.val(\"\").focus();\n\t\t});\n\n\t\t// used as an internal model to store values\n\t\tthis.rows = [];\n\t\t// used as an internal model to filter awesomplete values\n\t\tthis._rows_list = [];\n\n\t\tthis.$input_area.on(\"click\", (e) => {\n\t\t\tif (e.target === this.$input_area.get(0)) {\n\t\t\t\tthis.$input.focus();\n\t\t\t}\n\t\t});\n\n\t\tthis.$input_area.on(\"click\", \".btn-remove\", (e) => {\n\t\t\tconst $target = $(e.currentTarget);\n\t\t\tconst $value = $target.closest(\".tb-selected-value\");\n\n\t\t\tconst value = decodeURIComponent($value.data().value);\n\t\t\tconst link_field = this.get_link_field();\n\t\t\tthis.rows = this.rows.filter((row) => {\n\t\t\t\tif (row[link_field.fieldname] !== value) {\n\t\t\t\t\treturn row;\n\t\t\t\t} else {\n\t\t\t\t\tfrappe.run_serially([\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\treturn this.frm.script_manager.trigger(\n\t\t\t\t\t\t\t\t`before_${this.df.fieldname}_remove`,\n\t\t\t\t\t\t\t\tthis.df.options,\n\t\t\t\t\t\t\t\trow.name\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tthis.parse_validate_and_set_in_model(\"\");\n\n\t\t\t\t\t\t\treturn this.frm.script_manager.trigger(\n\t\t\t\t\t\t\t\t`${this.df.fieldname}_remove`,\n\t\t\t\t\t\t\t\tthis.df.options,\n\t\t\t\t\t\t\t\trow.name\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis.$input_area.on(\"click\", \".btn-link-to-form\", (e) => {\n\t\t\tconst $target = $(e.currentTarget);\n\t\t\tconst $value = $target.closest(\".tb-selected-value\");\n\n\t\t\tconst value = decodeURIComponent($value.data().value);\n\t\t\tconst link_field = this.get_link_field();\n\t\t\tfrappe.set_route(\"Form\", link_field.options, value);\n\t\t});\n\t\tthis.$input.on(\"keydown\", (e) => {\n\t\t\t// if backspace key pressed on empty input, delete last value\n\t\t\tif (e.keyCode == frappe.ui.keyCode.BACKSPACE && e.target.value === \"\") {\n\t\t\t\tthis.rows = this.rows.slice(0, this.rows.length - 1);\n\t\t\t\tthis.parse_validate_and_set_in_model(\"\");\n\t\t\t}\n\t\t});\n\t}\n\tsetup_buttons() {\n\t\tthis.$input_area.find(\".link-btn\").remove();\n\t}\n\tparse(value, label) {\n\t\tif (typeof value == \"object\" || !this.rows) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst link_field = this.get_link_field();\n\n\t\tif (value) {\n\t\t\tif (this.frm) {\n\t\t\t\tconst new_row = frappe.model.add_child(\n\t\t\t\t\tthis.frm.doc,\n\t\t\t\t\tthis.df.options,\n\t\t\t\t\tthis.df.fieldname\n\t\t\t\t);\n\t\t\t\tnew_row[link_field.fieldname] = value;\n\t\t\t\tthis.rows = this.frm.doc[this.df.fieldname];\n\n\t\t\t\tthis.frm.script_manager.trigger(\n\t\t\t\t\t`${this.df.fieldname}_add`,\n\t\t\t\t\tthis.df.options,\n\t\t\t\t\tnew_row.name\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.rows.push({\n\t\t\t\t\t[link_field.fieldname]: value,\n\t\t\t\t});\n\t\t\t}\n\t\t\tfrappe.utils.add_link_title(link_field.options, value, label);\n\t\t}\n\t\tthis._rows_list = this.rows.map((row) => row[link_field.fieldname]);\n\t\treturn this.rows;\n\t}\n\tget_model_value() {\n\t\tlet value = super.get_model_value();\n\t\treturn value ? value.filter((d) => !d.__islocal) : value;\n\t}\n\tvalidate(value) {\n\t\tconst rows = (value || []).slice();\n\n\t\t// validate the value just entered\n\t\tif (this.df.ignore_link_validation) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tconst link_field = this.get_link_field();\n\t\tif (rows.length === 0) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tconst all_rows_except_last = rows.slice(0, rows.length - 1);\n\t\tconst last_row = rows[rows.length - 1];\n\n\t\t// validate the last value entered\n\t\tconst link_value = last_row[link_field.fieldname];\n\n\t\t// falsy value\n\t\tif (!link_value) {\n\t\t\treturn all_rows_except_last;\n\t\t}\n\n\t\t// duplicate value\n\t\tif (all_rows_except_last.map((row) => row[link_field.fieldname]).includes(link_value)) {\n\t\t\treturn all_rows_except_last;\n\t\t}\n\n\t\treturn this.validate_link_and_fetch(link_value).then((validated_value) => {\n\t\t\tif (validated_value === link_value) {\n\t\t\t\treturn rows;\n\t\t\t} else {\n\t\t\t\trows.pop();\n\t\t\t\treturn rows;\n\t\t\t}\n\t\t});\n\t}\n\tset_formatted_input(value) {\n\t\tthis.rows = value || [];\n\t\tconst link_field = this.get_link_field();\n\t\tconst values = this.rows.map((row) => row[link_field.fieldname]);\n\t\tthis.set_pill_html(values);\n\t}\n\tset_pill_html(values) {\n\t\tconst html = values.map((value) => this.get_pill_html(value)).join(\"\");\n\n\t\tthis.$input_area.find(\".tb-selected-value\").remove();\n\t\tthis.$input_area.prepend(html);\n\t}\n\tget_pill_html(value) {\n\t\tconst link_field = this.get_link_field();\n\t\tconst encoded_value = encodeURIComponent(value);\n\t\tconst pill_name = frappe.utils.get_link_title(link_field.options, value) || value;\n\t\treturn `\n\t\t\t\n\t\t`;\n\t}\n\tget_options() {\n\t\treturn (this.get_link_field() || {}).options;\n\t}\n\tget_link_field() {\n\t\tif (!this._link_field) {\n\t\t\tconst meta = frappe.get_meta(this.df.options);\n\t\t\tthis._link_field = meta?.fields?.find((df) => df.fieldtype === \"Link\");\n\t\t\tif (!this._link_field) {\n\t\t\t\tthrow new Error(\"Table MultiSelect requires a Table with atleast one Link field\");\n\t\t\t}\n\t\t}\n\t\treturn this._link_field;\n\t}\n\tcustom_awesomplete_filter(awesomplete) {\n\t\tlet me = this;\n\n\t\tawesomplete.filter = function (item) {\n\t\t\tif (me._rows_list.includes(item.value)) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t};\n\t}\n\tget_input_value() {\n\t\treturn this.$input ? this.$input.val() : undefined;\n\t}\n\tupdate_value() {\n\t\tlet value = this.get_input_value();\n\n\t\tif (value !== this.last_value) {\n\t\t\tthis.parse_validate_and_set_in_model(value);\n\t\t}\n\t}\n};\n", "import Awesomplete from \"awesomplete\";\n\nfrappe.ui.form.ControlMultiSelectPills = class ControlMultiSelectPills extends (\n\tfrappe.ui.form.ControlAutocomplete\n) {\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.$input_area = $(this.input_area);\n\t\tthis.$multiselect_wrapper = $(\"
    \")\n\t\t\t.addClass(\"form-control table-multiselect\")\n\t\t\t.appendTo(this.$input_area);\n\n\t\tthis.$input.removeClass(\"form-control\");\n\t\tthis.$input_area.find(\".awesomplete\").appendTo(this.$multiselect_wrapper);\n\n\t\tthis.$input.on(\"awesomplete-selectcomplete\", () => {\n\t\t\tthis.$input.val(\"\").focus();\n\t\t});\n\n\t\t// used as an internal model to store values\n\t\tthis.rows = [];\n\n\t\tthis.$input_area.on(\"click\", \".btn-remove\", (e) => {\n\t\t\tconst $target = $(e.currentTarget);\n\t\t\tconst $value = $target.closest(\".tb-selected-value\");\n\n\t\t\tconst value = decodeURIComponent($value.data().value);\n\t\t\tthis.rows = this.rows.filter((val) => val !== value);\n\n\t\t\tthis.parse_validate_and_set_in_model(\"\");\n\t\t});\n\n\t\tthis.$input.on(\"keydown\", (e) => {\n\t\t\t// if backspace key pressed on empty input, delete last value\n\t\t\tif (e.keyCode == frappe.ui.keyCode.BACKSPACE && e.target.value === \"\") {\n\t\t\t\tthis.rows = this.rows.slice(0, this.rows.length - 1);\n\t\t\t\tthis.parse_validate_and_set_in_model(\"\");\n\t\t\t}\n\t\t});\n\t}\n\n\tparse(value) {\n\t\tif (typeof value == \"object\" || !this.rows) {\n\t\t\treturn value;\n\t\t}\n\n\t\tif (value) {\n\t\t\tthis.rows.push(value);\n\t\t}\n\n\t\treturn this.rows;\n\t}\n\n\tvalidate(value) {\n\t\tconst rows = (value || []).slice();\n\n\t\tif (rows.length === 0) {\n\t\t\treturn rows;\n\t\t}\n\n\t\tconst all_rows_except_last = rows.slice(0, rows.length - 1);\n\t\tconst last_value = rows[rows.length - 1];\n\n\t\t// falsy value\n\t\tif (!last_value) {\n\t\t\treturn all_rows_except_last;\n\t\t}\n\n\t\t// duplicate value\n\t\tif (all_rows_except_last.includes(last_value)) {\n\t\t\treturn all_rows_except_last;\n\t\t}\n\n\t\treturn rows;\n\t}\n\n\tset_formatted_input(value) {\n\t\tthis.rows = value || [];\n\t\tthis.set_pill_html(this.rows);\n\t}\n\n\tset_pill_html(values) {\n\t\tconst html = values.map((value) => this.get_pill_html(value)).join(\"\");\n\n\t\tthis.$multiselect_wrapper.find(\".tb-selected-value\").remove();\n\t\tthis.$multiselect_wrapper.prepend(html);\n\t}\n\n\tget_pill_html(value) {\n\t\tconst label = this.get_label(value);\n\t\tconst encoded_value = encodeURIComponent(value);\n\t\treturn `\n\t\t\t\n\t\t`;\n\t}\n\n\tget_label(value) {\n\t\tconst item = this._data?.find((d) => d.value === value);\n\t\treturn item ? item.label || item.value : null;\n\t}\n\n\tget_awesomplete_settings() {\n\t\tconst settings = super.get_awesomplete_settings();\n\n\t\treturn Object.assign(settings, {\n\t\t\tfilter: function (text, input) {\n\t\t\t\tlet d = this.get_item(text.value);\n\t\t\t\tif (!d) {\n\t\t\t\t\treturn Awesomplete.FILTER_CONTAINS(text, input.match(/[^,]*$/)[0]);\n\t\t\t\t}\n\n\t\t\t\tlet getMatch = (value) =>\n\t\t\t\t\tAwesomplete.FILTER_CONTAINS(value, input.match(/[^,]*$/)[0]);\n\n\t\t\t\t// match typed input with label or value or description\n\t\t\t\tlet v = getMatch(d.label);\n\t\t\t\tif (!v && d.value) {\n\t\t\t\t\tv = getMatch(d.value);\n\t\t\t\t}\n\t\t\t\tif (!v && d.description) {\n\t\t\t\t\tv = getMatch(d.description);\n\t\t\t\t}\n\n\t\t\t\treturn v;\n\t\t\t},\n\t\t});\n\t}\n\n\tget_value() {\n\t\treturn this.rows;\n\t}\n\n\tget_values() {\n\t\treturn this.rows;\n\t}\n\n\tget_data() {\n\t\tlet data;\n\t\tif (this.df.get_data) {\n\t\t\tlet txt = this.$input.val();\n\t\t\tdata = this.df.get_data(txt);\n\t\t\tif (data && data.then) {\n\t\t\t\tdata.then((r) => {\n\t\t\t\t\tthis.set_data(r);\n\t\t\t\t});\n\t\t\t\tdata = this.get_value();\n\t\t\t} else {\n\t\t\t\tthis.set_data(data);\n\t\t\t}\n\t\t} else {\n\t\t\tdata = super.get_data();\n\t\t}\n\t\tconst values = this.get_values() || [];\n\n\t\t// return values which are not already selected\n\t\tif (data) data.filter((d) => !values.includes(d));\n\t\treturn data;\n\t}\n};\n", "frappe.ui.form.ControlMultiSelectList = class ControlMultiSelectList extends (\n\tfrappe.ui.form.ControlData\n) {\n\tstatic trigger_change_on_input_event = false;\n\tmake_input() {\n\t\tlet template = `\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
      \n\t\t\t\t\t
    • \n\t\t\t\t\t\t\n\t\t\t\t\t
    • \n\t\t\t\t\t
      \n\t\t\t\t\t
      \n\t\t\t\t\t
    • \n\t\t\t\t\t\t\n\t\t\t\t\t
    • \n\t\t\t\t
    \n\t\t\t
    \n\t\t`;\n\n\t\tthis.$list_wrapper = $(template);\n\t\tthis.$input = $(\"\");\n\t\tthis.input = this.$input.get(0);\n\t\tthis.has_input = true;\n\t\tthis.$list_wrapper.prependTo(this.input_area);\n\t\tthis.$filter_input = this.$list_wrapper.find(\"input\");\n\t\tthis.values = [];\n\t\tthis._options = [];\n\t\tthis._selected_values = [];\n\t\tthis.highlighted = -1;\n\t\tthis.$list_wrapper.on(\"click\", \".dropdown-menu\", (e) => {\n\t\t\te.stopPropagation();\n\t\t});\n\t\tthis.$list_wrapper.on(\"click\", \".clear-selections\", (e) => {\n\t\t\tthis.clear_all_selections();\n\t\t});\n\t\tthis.$list_wrapper.on(\"click\", \".selectable-item\", (e) => {\n\t\t\tlet $target = $(e.currentTarget);\n\t\t\tthis.toggle_select_item($target);\n\t\t});\n\t\tthis.$list_wrapper.on(\n\t\t\t\"input\",\n\t\t\t\"input\",\n\t\t\tfrappe.utils.debounce((e) => {\n\t\t\t\tthis.set_options().then(() => {\n\t\t\t\t\tlet txt = e.target.value;\n\t\t\t\t\tlet filtered_options = this._options.filter((opt) => {\n\t\t\t\t\t\tlet match = false;\n\t\t\t\t\t\tif (this.values.includes(opt.value)) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch =\n\t\t\t\t\t\t\tAwesomplete.FILTER_CONTAINS(opt.label, txt) ||\n\t\t\t\t\t\t\tAwesomplete.FILTER_CONTAINS(opt.value, txt) ||\n\t\t\t\t\t\t\tAwesomplete.FILTER_CONTAINS(opt.description, txt);\n\n\t\t\t\t\t\treturn match;\n\t\t\t\t\t});\n\t\t\t\t\tlet options = this._selected_values\n\t\t\t\t\t\t.concat(filtered_options)\n\t\t\t\t\t\t.uniqBy((opt) => opt.value);\n\t\t\t\t\tthis.set_selectable_items(options);\n\t\t\t\t});\n\t\t\t}, 300)\n\t\t);\n\t\tthis.$list_wrapper.on(\"keydown\", \"input\", (e) => {\n\t\t\tif (e.key === \"ArrowDown\") {\n\t\t\t\tthis.highlight_item(1);\n\t\t\t} else if (e.key === \"ArrowUp\") {\n\t\t\t\tthis.highlight_item(-1);\n\t\t\t} else if (e.key === \"Enter\") {\n\t\t\t\tif (this._$last_highlighted) {\n\t\t\t\t\tthis.toggle_select_item(this._$last_highlighted);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis.$list_wrapper.on(\"keydown\", (e) => {\n\t\t\tif ($(e.target).is(\"input\")) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.key === \"Backspace\") {\n\t\t\t\tthis.set_value([]);\n\t\t\t}\n\t\t});\n\n\t\tthis.$list_wrapper.on(\"show.bs.dropdown\", () => {\n\t\t\tthis.set_options().then(() => {\n\t\t\t\tif (!this._selected_values || !this._selected_values.length) {\n\t\t\t\t\tthis._selected_values = this.process_options(this.values);\n\t\t\t\t}\n\t\t\t\tthis._options = this._selected_values\n\t\t\t\t\t.concat(this._options)\n\t\t\t\t\t.uniqBy((opt) => opt.value);\n\t\t\t\tthis.set_selectable_items(this._options);\n\t\t\t});\n\t\t});\n\n\t\tthis.set_input_attributes();\n\t}\n\n\tset_input_attributes() {\n\t\tthis.$list_wrapper\n\t\t\t.attr(\"data-fieldtype\", this.df.fieldtype)\n\t\t\t.attr(\"data-fieldname\", this.df.fieldname);\n\n\t\tthis.set_status(this.get_placeholder_text());\n\n\t\tif (this.doctype) {\n\t\t\tthis.$list_wrapper.attr(\"data-doctype\", this.doctype);\n\t\t}\n\t\tif (this.df.input_css) {\n\t\t\tthis.$list_wrapper.css(this.df.input_css);\n\t\t}\n\t\tif (this.df.input_class) {\n\t\t\tthis.$list_wrapper.addClass(this.df.input_class);\n\t\t}\n\t}\n\n\tclear_all_selections() {\n\t\tthis.values = [];\n\t\tthis._selected_values = [];\n\t\tthis.update_status();\n\t\tthis.set_selectable_items(this._options);\n\t\tthis.parse_validate_and_set_in_model(\"\");\n\t}\n\n\ttoggle_select_item($selectable_item) {\n\t\t$selectable_item.toggleClass(\"selected\");\n\t\tlet value = decodeURIComponent($selectable_item.data().value);\n\n\t\tif ($selectable_item.hasClass(\"selected\")) {\n\t\t\tthis.values = this.values.slice();\n\t\t\tthis.values.push(value);\n\t\t} else {\n\t\t\tthis.values = this.values.filter((val) => val !== value);\n\t\t}\n\t\tthis.update_selected_values(value);\n\t\tthis.parse_validate_and_set_in_model(\"\");\n\t\tthis.update_status();\n\t}\n\n\tset_value(value) {\n\t\tif (!value) return Promise.resolve();\n\t\tthis._selected_values = [];\n\t\tif (typeof value === \"string\") {\n\t\t\tvalue = [value];\n\t\t}\n\t\t//Unselect old values\n\t\tthis.values.forEach((value) => {\n\t\t\tthis.$list_wrapper\n\t\t\t\t.find(`.selectable-item[data-value=${CSS.escape(value)}]`)\n\t\t\t\t.toggleClass(\"selected\");\n\t\t});\n\t\tthis.values = value;\n\t\tthis.values.forEach((value) => {\n\t\t\tthis.update_selected_values(value);\n\t\t\t//Select new values\n\t\t\tthis.$list_wrapper\n\t\t\t\t.find(`.selectable-item[data-value=${CSS.escape(value)}]`)\n\t\t\t\t.toggleClass(\"selected\");\n\t\t});\n\t\tthis.parse_validate_and_set_in_model(\"\");\n\t\tthis.update_status();\n\t\treturn Promise.resolve();\n\t}\n\n\tupdate_selected_values(value) {\n\t\tthis._selected_values = this._selected_values || [];\n\t\tlet option = this._options\n\t\t\t.concat(this._selected_values)\n\t\t\t.uniqBy((opt) => opt.value)\n\t\t\t.find((opt) => opt.value === value);\n\t\tif (option) {\n\t\t\tif (this.values.includes(value)) {\n\t\t\t\tthis._selected_values.push(option);\n\t\t\t} else {\n\t\t\t\tthis._selected_values = this._selected_values.filter((opt) => opt.value !== value);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate_status() {\n\t\tlet text;\n\t\tif (this.values.length === 0) {\n\t\t\ttext = this.get_placeholder_text();\n\t\t} else if (this.values.length === 1) {\n\t\t\tlet val = this.values[0];\n\t\t\tlet option = this._options.find((opt) => opt.value === val);\n\t\t\ttext = option ? option.label : val;\n\t\t} else {\n\t\t\ttext = __(\"{0} values selected\", [this.values.length]);\n\t\t}\n\t\tthis.set_status(text);\n\t}\n\n\tget_placeholder_text() {\n\t\treturn `${this.df.placeholder || \"\"}`;\n\t}\n\n\tset_status(text) {\n\t\tthis.$list_wrapper.find(\".status-text\").html(text);\n\t}\n\n\tprocess_options(options) {\n\t\treturn options.map((option) => {\n\t\t\tif (typeof option === \"string\") {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: option,\n\t\t\t\t\tvalue: option,\n\t\t\t\t\tdescription: \"\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!option.label) {\n\t\t\t\toption.label = option.value;\n\t\t\t}\n\t\t\treturn option;\n\t\t});\n\t}\n\n\tset_options() {\n\t\tlet promise = Promise.resolve();\n\t\tif (this.df.get_data) {\n\t\t\tlet txt = this.$filter_input.val();\n\t\t\tlet value = this.df.get_data(txt);\n\t\t\tif (!value) {\n\t\t\t\tthis._options = [];\n\t\t\t} else if (value.then) {\n\t\t\t\tpromise = value.then((options) => {\n\t\t\t\t\tthis._options = this.process_options(options);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis._options = this.process_options(value);\n\t\t\t}\n\t\t} else {\n\t\t\tthis._options = this.process_options(this.df.options);\n\t\t}\n\t\treturn promise;\n\t}\n\n\tset_selectable_items(options) {\n\t\tlet html = options\n\t\t\t.map((option) => {\n\t\t\t\tlet encoded_value = encodeURIComponent(option.value);\n\t\t\t\tlet selected = this.values.includes(option.value) ? \"selected\" : \"\";\n\t\t\t\treturn `
  • \n\t\t\t\t
    \n\t\t\t\t\t${option.label}\n\t\t\t\t\t
    ${option.description}
    \n\t\t\t\t
    \n\t\t\t\t
    ${frappe.utils.icon(\"tick\", \"xs\")}
    \n\t\t\t
  • `;\n\t\t\t})\n\t\t\t.join(\"\");\n\t\tif (!html) {\n\t\t\thtml = `
  • ${__(\"No values to show\")}
  • `;\n\t\t}\n\t\tthis.$list_wrapper.find(\".selectable-items\").html(html);\n\n\t\tthis.highlighted = -1;\n\t}\n\n\tget_value() {\n\t\treturn this.values;\n\t}\n\n\thighlight_item(value) {\n\t\tthis.highlighted += value;\n\n\t\tif (this.highlighted < 0) {\n\t\t\tthis.highlighted = 0;\n\t\t}\n\t\tlet $items = this.$list_wrapper.find(\".selectable-item\");\n\t\tif (this.highlighted > $items.length - 1) {\n\t\t\tthis.highlighted = $items.length - 1;\n\t\t}\n\n\t\tlet $item = $items[this.highlighted];\n\n\t\tif (this._$last_highlighted) {\n\t\t\tthis._$last_highlighted.removeClass(\"highlighted\");\n\t\t}\n\t\tthis._$last_highlighted = $($item).addClass(\"highlighted\");\n\t\tthis.scroll_dropdown_if_needed($item);\n\t}\n\n\tscroll_dropdown_if_needed($item) {\n\t\tif ($item.scrollIntoView) {\n\t\t\t$item.scrollIntoView({ behavior: \"smooth\", block: \"nearest\", inline: \"start\" });\n\t\t} else {\n\t\t\t$item.parentNode.scrollTop = $item.offsetTop - $item.parentNode.offsetTop;\n\t\t}\n\t}\n};\n", "frappe.ui.form.ControlRating = class ControlRating extends frappe.ui.form.ControlFloat {\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tlet stars = \"\";\n\t\tlet number_of_stars = this.df.options || 5;\n\t\tArray.from({ length: cint(number_of_stars) }, (_, i) => i + 1).forEach((i) => {\n\t\t\tstars += `\n\t\t\t\t\n\t\t\t\t\n\t\t\t`;\n\t\t});\n\n\t\tconst star_template = `\n\t\t\t
    \n\t\t\t\t${stars}\n\t\t\t
    \n\t\t`;\n\n\t\t$(this.input_area).html(star_template);\n\n\t\tif (this.disabled) return;\n\n\t\tlet me = this;\n\t\t$(this.input_area)\n\t\t\t.find(\"svg\")\n\t\t\t.on(\"mousemove\", function (ev) {\n\t\t\t\tme.update_rating(ev);\n\t\t\t})\n\t\t\t.on(\"mouseout\", function (ev) {\n\t\t\t\tconst el = $(ev.currentTarget);\n\t\t\t\tel.parent()\n\t\t\t\t\t.children(\"svg\")\n\t\t\t\t\t.each(function () {\n\t\t\t\t\t\t$(this).find(\".left-half, .right-half\").removeClass(\"star-hover\");\n\t\t\t\t\t});\n\t\t\t});\n\n\t\t$(this.input_area)\n\t\t\t.find(\"svg\")\n\t\t\t.click((ev) => {\n\t\t\t\tthis.update_rating(ev, true);\n\t\t\t});\n\t}\n\n\tupdate_rating(ev, click) {\n\t\tconst el = $(ev.currentTarget);\n\t\tlet star_value = el.data(\"rating\");\n\t\tlet left_half = false;\n\t\tlet cls = \"star-click\";\n\t\tlet out_of_ratings = this.df.options || 5;\n\t\tif (!click) cls = \"star-hover\";\n\n\t\tif (ev.pageX - el.offset().left < el.width() / 2) {\n\t\t\tleft_half = true;\n\t\t\tstar_value--;\n\t\t}\n\n\t\tif (click && !this.df.reqd) {\n\t\t\tlet fractional_star_value = star_value;\n\t\t\tif (left_half) {\n\t\t\t\tfractional_star_value += 0.5;\n\t\t\t}\n\t\t\tif (this.get_value() == fractional_star_value / out_of_ratings) {\n\t\t\t\tstar_value = 0;\n\t\t\t\tleft_half = false;\n\t\t\t}\n\t\t}\n\n\t\tel.parent()\n\t\t\t.children(\"svg\")\n\t\t\t.each(function (e) {\n\t\t\t\tif (e < star_value) {\n\t\t\t\t\t$(this).find(\".left-half, .right-half\").addClass(cls);\n\t\t\t\t} else if (e == star_value && left_half) {\n\t\t\t\t\t$(this).find(\".left-half\").addClass(cls);\n\t\t\t\t\t$(this).find(\".right-half\").removeClass(cls);\n\t\t\t\t\tif (click) star_value += 0.5;\n\t\t\t\t} else {\n\t\t\t\t\t$(this).find(\".left-half, .right-half\").removeClass(cls);\n\t\t\t\t}\n\t\t\t});\n\t\tif (click) {\n\t\t\tstar_value = star_value / out_of_ratings;\n\n\t\t\tthis.validate_and_set_in_model(star_value, ev);\n\t\t\tif (this.doctype && this.docname) {\n\t\t\t\tthis.set_input(star_value);\n\t\t\t}\n\t\t}\n\t}\n\n\tget_value() {\n\t\treturn this.value;\n\t}\n\tset_formatted_input(value) {\n\t\tlet out_of_ratings = this.df.options || 5;\n\t\tvalue = value * out_of_ratings;\n\t\tvalue = Math.round(value * 2) / 2; // roundoff number to nearest 0.5\n\t\tlet el = $(this.input_area).find(\"svg\");\n\t\tel.children(\"svg\").prevObject.each(function (e) {\n\t\t\tif (e < value) {\n\t\t\t\t$(this).find(\".left-half, .right-half\").addClass(\"star-click\");\n\n\t\t\t\tlet is_half = e == Math.floor(value) && value % 1 == 0.5;\n\t\t\t\tis_half && $(this).find(\".right-half\").removeClass(\"star-click\");\n\t\t\t} else {\n\t\t\t\t$(this).find(\".left-half, .right-half\").removeClass(\"star-click\");\n\t\t\t}\n\t\t});\n\t}\n\tvalidate(fraction) {\n\t\treturn parseFloat(fraction);\n\t}\n};\n", "frappe.ui.form.ControlDuration = class ControlDuration extends frappe.ui.form.ControlData {\n\tmake_input() {\n\t\tsuper.make_input();\n\t\tthis.make_picker();\n\t}\n\n\tvalidate(value) {\n\t\tif (!value) {\n\t\t\treturn null;\n\t\t}\n\t\treturn super.validate(value);\n\t}\n\n\tmake_picker() {\n\t\tthis.inputs = [];\n\t\tthis.set_duration_options();\n\t\tthis.$picker = $(\n\t\t\t`
    \n\t\t\t\t
    \n\t\t\t
    `\n\t\t);\n\t\tthis.$wrapper.append(this.$picker);\n\t\tthis.build_numeric_input(\"days\", this.duration_options.hide_days);\n\t\tthis.build_numeric_input(\"hours\", false);\n\t\tthis.build_numeric_input(\"minutes\", false);\n\t\tthis.build_numeric_input(\"seconds\", this.duration_options.hide_seconds);\n\t\tthis.set_duration_picker_value(this.value);\n\t\tthis.$picker.hide();\n\t\tthis.bind_events();\n\t\tthis.refresh();\n\t}\n\n\tbuild_numeric_input(label, hidden, max) {\n\t\tlet $duration_input = $(`\n\t\t\t\n\t\t`);\n\n\t\tlet $input = $(`
    `).prepend($duration_input);\n\n\t\tif (max) {\n\t\t\t$duration_input.attr(\"max\", max);\n\t\t}\n\n\t\tthis.inputs[label] = $duration_input;\n\n\t\tlet $control = $(`\n\t\t\t
    \n\t\t\t\t
    ${__(label)}
    \n\t\t\t
    `);\n\n\t\tif (hidden) {\n\t\t\t$control.addClass(\"hidden\");\n\t\t}\n\t\t$control.prepend($input);\n\t\t$control.appendTo(this.$picker.find(\".picker-row\"));\n\t}\n\n\tset_duration_options() {\n\t\tthis.duration_options = frappe.utils.get_duration_options(this.df);\n\t}\n\n\tset_duration_picker_value(value) {\n\t\tlet total_duration = frappe.utils.seconds_to_duration(value || 0, this.duration_options);\n\n\t\tif (this.$picker) {\n\t\t\tObject.keys(total_duration).forEach((duration) => {\n\t\t\t\tthis.inputs[duration].prop(\"value\", total_duration[duration]);\n\t\t\t});\n\t\t}\n\t}\n\n\tbind_events() {\n\t\t// flag to handle the display property of the picker\n\t\tlet clicked = false;\n\n\t\tthis.$wrapper.find(\".duration-input\").mousedown(() => {\n\t\t\t// input in individual duration boxes\n\t\t\tclicked = true;\n\t\t});\n\n\t\tthis.$picker.on(\"change\", \".duration-input\", () => {\n\t\t\t// duration changed in individual boxes\n\t\t\tclicked = false;\n\t\t\tlet duration = this.get_duration();\n\t\t\tlet value = frappe.utils.duration_to_seconds(\n\t\t\t\tduration.days,\n\t\t\t\tduration.hours,\n\t\t\t\tduration.minutes,\n\t\t\t\tduration.seconds\n\t\t\t);\n\t\t\tthis.set_value(value);\n\t\t\tthis.set_focus();\n\t\t});\n\n\t\tthis.$input.on(\"focus\", () => {\n\t\t\tthis.$picker.show();\n\t\t\tlet is_picker_set = this.is_duration_picker_set(this.inputs);\n\t\t\tif (!is_picker_set) {\n\t\t\t\tthis.set_duration_picker_value(this.value);\n\t\t\t}\n\t\t});\n\n\t\tthis.$input.on(\"blur\", () => {\n\t\t\t// input in duration boxes, don't close the picker\n\t\t\tif (clicked) {\n\t\t\t\tclicked = false;\n\t\t\t} else {\n\t\t\t\t// blur event was not due to duration inputs\n\t\t\t\tthis.$picker.hide();\n\t\t\t}\n\t\t\tthis.set_formatted_input(this.value);\n\t\t});\n\t}\n\n\tget_value() {\n\t\treturn cint(this.value);\n\t}\n\n\tparse(value) {\n\t\tif (!value) {\n\t\t\treturn \"\";\n\t\t} else if (/^\\s*\\d+\\s*$/.test(value)) {\n\t\t\treturn parseInt(value);\n\t\t}\n\n\t\tthis.DURATION_PARSE_REGEX ??= makeDurationParseRegex();\n\t\tconst match = String(value).trim().match(this.DURATION_PARSE_REGEX);\n\n\t\tif (!match?.groups || !Object.values(match.groups).some((g) => !!g)) {\n\t\t\treturn null; // At least one group is required\n\t\t}\n\n\t\tlet duration_in_seconds = 0;\n\t\tfor (const [key, multiplier] of Object.entries(DURATION_MULTIPLIERS)) {\n\t\t\tduration_in_seconds += parseInt(match.groups?.[key] || 0) * multiplier;\n\t\t}\n\t\treturn duration_in_seconds;\n\t}\n\n\tset_formatted_input(value) {\n\t\tsuper.set_formatted_input(value);\n\t\tthis.set_duration_picker_value(value);\n\t}\n\n\trefresh_input() {\n\t\tsuper.refresh_input();\n\t\tthis.set_duration_options();\n\t\tthis.set_duration_picker_value(this.value);\n\t}\n\n\tformat_for_input(value) {\n\t\treturn frappe.utils.get_formatted_duration(value, this.duration_options);\n\t}\n\n\tget_duration() {\n\t\t// returns an object of days, hours, minutes and seconds from the inputs array\n\t\tlet total_duration = {\n\t\t\tminutes: 0,\n\t\t\thours: 0,\n\t\t\tdays: 0,\n\t\t\tseconds: 0,\n\t\t};\n\t\tif (this.inputs) {\n\t\t\ttotal_duration.minutes = parseInt(this.inputs.minutes.val());\n\t\t\ttotal_duration.hours = parseInt(this.inputs.hours.val());\n\t\t\tif (!this.duration_options.hide_days) {\n\t\t\t\ttotal_duration.days = parseInt(this.inputs.days.val());\n\t\t\t}\n\t\t\tif (!this.duration_options.hide_seconds) {\n\t\t\t\ttotal_duration.seconds = parseInt(this.inputs.seconds.val());\n\t\t\t}\n\t\t}\n\t\treturn total_duration;\n\t}\n\n\tis_duration_picker_set(inputs) {\n\t\tlet is_set = false;\n\t\tObject.values(inputs).forEach((duration) => {\n\t\t\tif (duration.prop(\"value\") != 0) {\n\t\t\t\tis_set = true;\n\t\t\t}\n\t\t});\n\t\treturn is_set;\n\t}\n};\n\nconst DURATION_MULTIPLIERS = {\n\tweeks: 7 * 24 * 60 * 60,\n\tdays: 24 * 60 * 60,\n\thours: 60 * 60,\n\tminutes: 60,\n\tseconds: 1,\n};\n\nfunction makeDurationParseRegex() {\n\t// Wrap in a function for translations to work\n\t// Matches strings like: 1d 2h 3m 4s, with optional parts\n\n\tconst _part = (key, seps) => {\n\t\t// Use named capture group for the key, then match the separator (h, m, s)\n\t\tconst rCapture = `(?<${key}>\\\\d+)`;\n\t\tconst rSep = \"(?:\" + seps.join(\"|\") + \")\";\n\t\treturn \"\\\\s*(?:\" + rCapture + \"\\\\s*\" + rSep + \")?\\\\s*\";\n\t};\n\n\treturn new RegExp(\n\t\t[\n\t\t\t_part(\"days\", [__(\"d\", null, \"Days (Field: Duration)\")]),\n\t\t\t_part(\"hours\", [__(\"h\", null, \"Hours (Field: Duration)\")]),\n\t\t\t_part(\"minutes\", [__(\"m\", null, \"Minutes (Field: Duration)\")]),\n\t\t\t_part(\"seconds\", [__(\"s\", null, \"Seconds (Field: Duration)\")]),\n\t\t\t\".*\", // Fallback to ignore unknown parts\n\t\t].join(\"\"),\n\t\t\"i\"\n\t);\n}\n", "class Picker {\n\tconstructor(opts) {\n\t\tthis.parent = opts.parent;\n\t\tthis.width = opts.width;\n\t\tthis.height = opts.height;\n\t\tthis.set_icon(opts.icon);\n\t\tthis.icons = opts.icons;\n\t\tthis.setup_picker();\n\t}\n\n\trefresh() {\n\t\tthis.update_icon_selected(true);\n\t}\n\n\tsetup_picker() {\n\t\tthis.icon_picker_wrapper = $(`\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t${frappe.utils.icon(\"search\", \"sm\")}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t`);\n\t\tthis.parent.append(this.icon_picker_wrapper);\n\t\tthis.icon_wrapper = this.icon_picker_wrapper.find(\".icons\");\n\t\tthis.search_input = this.icon_picker_wrapper.find(\".search-icons > input\");\n\t\tthis.refresh();\n\t\tthis.setup_icons();\n\t}\n\n\tsetup_icons() {\n\t\tthis.icons.forEach((icon) => {\n\t\t\tlet $icon = $(\n\t\t\t\t`
    ${frappe.utils.icon(icon, \"md\")}
    `\n\t\t\t);\n\t\t\tthis.icon_wrapper.append($icon);\n\t\t\tconst set_values = () => {\n\t\t\t\tthis.set_icon(icon);\n\t\t\t\tthis.update_icon_selected();\n\t\t\t};\n\t\t\t$icon.on(\"click\", () => {\n\t\t\t\tset_values();\n\t\t\t});\n\t\t\t$icon.keydown((e) => {\n\t\t\t\tconst key_code = e.keyCode;\n\t\t\t\tif ([13, 32].includes(key_code)) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tset_values();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis.search_input.keyup((e) => {\n\t\t\te.preventDefault();\n\t\t\tthis.filter_icons();\n\t\t});\n\n\t\tthis.search_input.on(\"search\", () => {\n\t\t\tthis.filter_icons();\n\t\t});\n\t}\n\n\tfilter_icons() {\n\t\tlet value = this.search_input.val();\n\t\tif (!value) {\n\t\t\tthis.icon_wrapper.find(\".icon-wrapper\").removeClass(\"hidden\");\n\t\t} else {\n\t\t\tthis.icon_wrapper.find(\".icon-wrapper\").addClass(\"hidden\");\n\t\t\tthis.icon_wrapper.find(`.icon-wrapper[id*='${value}']`).removeClass(\"hidden\");\n\t\t}\n\t}\n\n\tupdate_icon_selected(silent) {\n\t\t!silent && this.on_change && this.on_change(this.get_icon());\n\t}\n\n\tset_icon(icon) {\n\t\tthis.icon = icon || \"\";\n\t}\n\n\tget_icon() {\n\t\treturn this.icon || \"\";\n\t}\n}\n\nexport default Picker;\n", "import Picker from \"../../icon_picker/icon_picker\";\n\nfrappe.ui.form.ControlIcon = class ControlIcon extends frappe.ui.form.ControlData {\n\tmake_input() {\n\t\tthis.df.placeholder = this.df.placeholder || __(\"Choose an icon\");\n\t\tsuper.make_input();\n\t\tthis.get_all_icons();\n\t\tthis.make_icon_input();\n\t}\n\n\tget_all_icons() {\n\t\tfrappe.symbols = [];\n\t\t$(\"#all-symbols > svg > symbol[id]\").each(function () {\n\t\t\tthis.id.includes(\"icon-\") && frappe.symbols.push(this.id.replace(\"icon-\", \"\"));\n\t\t});\n\t}\n\n\tmake_icon_input() {\n\t\tlet picker_wrapper = $(\"
    \");\n\t\tthis.picker = new Picker({\n\t\t\tparent: picker_wrapper,\n\t\t\ticon: this.get_icon(),\n\t\t\ticons: frappe.symbols,\n\t\t});\n\n\t\tthis.$wrapper\n\t\t\t.popover({\n\t\t\t\ttrigger: \"manual\",\n\t\t\t\toffset: `${-this.$wrapper.width() / 4.5}, 5`,\n\t\t\t\tboundary: \"viewport\",\n\t\t\t\tplacement: \"bottom\",\n\t\t\t\ttemplate: `\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t`,\n\t\t\t\tcontent: () => picker_wrapper,\n\t\t\t\thtml: true,\n\t\t\t})\n\t\t\t.on(\"show.bs.popover\", () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.picker.refresh();\n\t\t\t\t}, 10);\n\t\t\t})\n\t\t\t.on(\"hidden.bs.popover\", () => {\n\t\t\t\t$(\"body\").off(\"click.icon-popover\");\n\t\t\t\t$(window).off(\"hashchange.icon-popover\");\n\t\t\t});\n\n\t\tthis.picker.on_change = (icon) => {\n\t\t\tthis.set_value(icon);\n\t\t};\n\n\t\tif (!this.selected_icon) {\n\t\t\tthis.selected_icon = $(\n\t\t\t\t`
    ${frappe.utils.icon(\"folder-normal\", \"md\")}
    `\n\t\t\t);\n\t\t\tthis.selected_icon.insertAfter(this.$input);\n\t\t}\n\n\t\tthis.$wrapper\n\t\t\t.find(\".selected-icon\")\n\t\t\t.parent()\n\t\t\t.on(\"click\", (e) => {\n\t\t\t\tthis.$wrapper.popover(\"toggle\");\n\t\t\t\tif (!this.get_icon()) {\n\t\t\t\t\tthis.$input.val(\"\");\n\t\t\t\t}\n\t\t\t\te.stopPropagation();\n\t\t\t\t$(\"body\").on(\"click.icon-popover\", (ev) => {\n\t\t\t\t\tif (!$(ev.target).parents().is(\".popover\")) {\n\t\t\t\t\t\tthis.$wrapper.popover(\"hide\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t$(window).on(\"hashchange.icon-popover\", () => {\n\t\t\t\t\tthis.$wrapper.popover(\"hide\");\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\trefresh() {\n\t\tsuper.refresh();\n\t\tlet icon = this.get_icon();\n\t\tif (this.picker && this.picker.icon !== icon) {\n\t\t\tthis.picker.icon = icon;\n\t\t\tthis.picker.refresh();\n\t\t}\n\t}\n\n\tset_formatted_input(value) {\n\t\tsuper.set_formatted_input(value);\n\t\tthis.$input.val(value);\n\t\tthis.selected_icon.find(\"use\").attr(\"href\", \"#icon-\" + (value || \"folder-normal\"));\n\t\tthis.selected_icon.toggleClass(\"no-value\", !value);\n\t}\n\n\tget_icon() {\n\t\treturn this.get_value() || \"folder-normal\";\n\t}\n};\n", "import localforage from \"localforage\";\nimport PhonePicker from \"../../phone_picker/phone_picker\";\n\nfrappe.ui.form.ControlPhone = class ControlPhone extends frappe.ui.form.ControlData {\n\tasync make_input() {\n\t\tawait this.setup_country_codes();\n\t\tsuper.make_input();\n\t\tthis.setup_country_code_picker();\n\t\tthis.input_events();\n\t}\n\n\tasync setup_country_codes() {\n\t\tconst key = \"country_code_info\";\n\t\tlet data = await localforage.getItem(key);\n\t\tif (data) {\n\t\t\tthis.country_codes = data;\n\t\t} else {\n\t\t\tconst data = await frappe.xcall(\"frappe.geo.country_info.get_country_timezone_info\");\n\t\t\tthis.country_codes = data?.country_info;\n\t\t\tlocalforage.setItem(key, this.country_codes);\n\t\t}\n\t}\n\n\tinput_events() {\n\t\tthis.$input.keydown((e) => {\n\t\t\tconst key_code = e.keyCode;\n\t\t\tif ([frappe.ui.keyCode.BACKSPACE].includes(key_code)) {\n\t\t\t\tif (this.$input.val().length == 0) {\n\t\t\t\t\tthis.country_code_picker.reset();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// Replaces code when selected and removes previously selected.\n\t\tthis.country_code_picker.on_change = (country) => {\n\t\t\tif (!country) {\n\t\t\t\treturn this.reset_input();\n\t\t\t}\n\t\t\tconst country_code = this.country_codes[country].code;\n\t\t\tconst country_isd = this.country_codes[country].isd;\n\t\t\tthis.set_flag(country_code);\n\t\t\tthis.$icon = this.selected_icon.find(\"svg\");\n\t\t\tthis.$flag = this.selected_icon.find(\"img\");\n\n\t\t\tif (!this.$icon.hasClass(\"hide\")) {\n\t\t\t\tthis.$icon.toggleClass(\"hide\");\n\t\t\t}\n\t\t\tif (!this.$flag.length) {\n\t\t\t\tthis.selected_icon.prepend(this.get_country_flag(country));\n\t\t\t}\n\t\t\tif (!this.$isd.length) {\n\t\t\t\tthis.selected_icon.append($(` ${country_isd}`));\n\t\t\t} else {\n\t\t\t\tthis.$isd.text(country_isd);\n\t\t\t}\n\t\t\tif (this.$input.val()) {\n\t\t\t\tthis.set_value(this.get_country(country) + \"-\" + this.$input.val());\n\t\t\t}\n\t\t\tthis.update_padding();\n\t\t\t// hide popover and focus input\n\t\t\tthis.$wrapper.popover(\"hide\");\n\t\t\tthis.$input.focus();\n\t\t};\n\n\t\tthis.$wrapper.find(\".selected-phone\").on(\"click\", (e) => {\n\t\t\tthis.$wrapper.popover(\"toggle\");\n\t\t\te.stopPropagation();\n\n\t\t\t$(\"body\").on(\"click.phone-popover\", (ev) => {\n\t\t\t\tif (!$(ev.target).parents().is(\".popover\")) {\n\t\t\t\t\tthis.$wrapper.popover(\"hide\");\n\t\t\t\t}\n\t\t\t});\n\t\t\t$(window).on(\"hashchange.phone-popover\", () => {\n\t\t\t\tthis.$wrapper.popover(\"hide\");\n\t\t\t});\n\t\t});\n\t}\n\n\tsetup_country_code_picker() {\n\t\tlet picker_wrapper = $(\"
    \");\n\t\tthis.country_code_picker = new PhonePicker({\n\t\t\tparent: picker_wrapper,\n\t\t\tcountries: this.country_codes,\n\t\t});\n\n\t\tthis.$wrapper\n\t\t\t.popover({\n\t\t\t\ttrigger: \"manual\",\n\t\t\t\toffset: `${-this.$wrapper.width() / 4.5}, 5`,\n\t\t\t\tboundary: \"viewport\",\n\t\t\t\tplacement: \"bottom\",\n\t\t\t\ttemplate: `\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t`,\n\t\t\t\tcontent: () => picker_wrapper,\n\t\t\t\thtml: true,\n\t\t\t})\n\t\t\t.on(\"show.bs.popover\", () => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.country_code_picker.refresh();\n\t\t\t\t\tthis.country_code_picker.search_input.focus();\n\t\t\t\t}, 10);\n\t\t\t})\n\t\t\t.on(\"hidden.bs.popover\", () => {\n\t\t\t\t$(\"body\").off(\"click.phone-popover\");\n\t\t\t\t$(window).off(\"hashchange.phone-popover\");\n\t\t\t});\n\n\t\t// Default icon when nothing is selected.\n\t\tthis.selected_icon = this.$wrapper.find(\".selected-phone\");\n\t\tlet input_value = this.get_input_value();\n\t\tif (!this.selected_icon.length) {\n\t\t\tthis.selected_icon = $(\n\t\t\t\t`
    ${frappe.utils.icon(\"down\", \"sm\")}
    `\n\t\t\t);\n\t\t\tthis.selected_icon.insertAfter(this.$input);\n\t\t\tthis.selected_icon.append($(``));\n\t\t\tthis.$isd = this.selected_icon.find(\".country\");\n\t\t\tif (input_value && input_value.split(\"-\").length == 2) {\n\t\t\t\tthis.$isd.text(this.value.split(\"-\")[0]);\n\t\t\t}\n\t\t}\n\t}\n\n\trefresh() {\n\t\tsuper.refresh();\n\t\t// Previously opened doc values showing up on a new doc\n\t\t// Previously opened doc values showing up on other docs where phone fields is empty\n\n\t\tif (!this.get_value()) {\n\t\t\tthis.reset_input();\n\t\t}\n\t}\n\n\treset_input() {\n\t\tif (!this.$input) return;\n\t\tthis.$input.val(\"\");\n\t\tthis.$wrapper.find(\".country\").text(\"\");\n\t\tif (this.selected_icon.find(\"svg\").hasClass(\"hide\")) {\n\t\t\tthis.selected_icon.find(\"svg\").toggleClass(\"hide\");\n\t\t\tthis.selected_icon.find(\"img\").addClass(\"hide\");\n\t\t}\n\t\tthis.$input.css(\"padding-left\", 30);\n\t}\n\n\tasync set_formatted_input(value) {\n\t\tif (!this.country_codes) {\n\t\t\tawait this.setup_country_codes();\n\t\t}\n\t\tif (value && value.includes(\"-\") && value.split(\"-\").length == 2) {\n\t\t\tif (!this.selected_icon.find(\"svg\").hasClass(\"hide\")) {\n\t\t\t\tthis.selected_icon.find(\"svg\").toggleClass(\"hide\");\n\t\t\t}\n\t\t\tlet isd = this.value.split(\"-\")[0];\n\t\t\tthis.get_country_code_and_change_flag(isd);\n\t\t\tthis.country_code_picker.set_country(isd);\n\t\t\tthis.country_code_picker.refresh();\n\t\t\tif (\n\t\t\t\tthis.country_code_picker.country &&\n\t\t\t\tthis.country_code_picker.country !== this.$isd.text()\n\t\t\t) {\n\t\t\t\tthis.$isd.length && this.$isd.text(isd);\n\t\t\t}\n\t\t\tthis.update_padding();\n\t\t\tthis.$input.val(value.split(\"-\").pop());\n\t\t} else if (this.$isd.text().trim() && this.value) {\n\t\t\tlet code_number = this.$isd.text() + \"-\" + value;\n\t\t\tthis.set_value(code_number);\n\t\t}\n\t}\n\n\tget_value() {\n\t\treturn this.value;\n\t}\n\n\tset_flag(country_code) {\n\t\tthis.selected_icon.find(\"img\").attr(\"src\", `https://flagcdn.com/${country_code}.svg`);\n\t\tthis.$icon = this.selected_icon.find(\"img\");\n\t\tthis.$icon.hasClass(\"hide\") && this.$icon.toggleClass(\"hide\");\n\t}\n\n\t// country_code for India is 'in'\n\tget_country_code_and_change_flag(isd) {\n\t\tlet country_data = this.country_codes;\n\t\tlet flag = this.selected_icon.find(\"img\");\n\t\tfor (const country in country_data) {\n\t\t\tif (Object.values(country_data[country]).includes(isd)) {\n\t\t\t\tlet code = country_data[country].code;\n\t\t\t\tflag = this.selected_icon.find(\"img\");\n\t\t\t\tif (!flag.length) {\n\t\t\t\t\tthis.selected_icon.prepend(this.get_country_flag(country));\n\t\t\t\t\tthis.selected_icon.find(\"svg\").addClass(\"hide\");\n\t\t\t\t} else {\n\t\t\t\t\tthis.set_flag(code);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget_country(country) {\n\t\tconst country_codes = this.country_codes;\n\t\treturn country_codes[country].isd;\n\t}\n\n\tget_country_flag(country) {\n\t\tconst country_codes = this.country_codes;\n\t\tlet code = country_codes[country].code;\n\t\treturn frappe.utils.flag(code);\n\t}\n\n\tupdate_padding() {\n\t\tlet len = this.$isd.text().length;\n\t\tlet diff = len - 2;\n\t\tif (len > 2) {\n\t\t\tthis.$input.css(\"padding-left\", 60 + diff * 7);\n\t\t} else {\n\t\t\tthis.$input.css(\"padding-left\", 60);\n\t\t}\n\t}\n};\n", "class PhonePicker {\n\tconstructor(opts) {\n\t\tthis.parent = opts.parent;\n\t\tthis.width = opts.width;\n\t\tthis.height = opts.height;\n\t\tthis.country = opts.country;\n\t\topts.country && this.set_country(opts.country);\n\t\tthis.countries = opts.countries;\n\t\tthis.setup_picker();\n\t}\n\n\trefresh() {\n\t\tthis.update_icon_selected(true);\n\t}\n\n\tsetup_picker() {\n\t\tthis.phone_picker_wrapper = $(`\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t${frappe.utils.icon(\"search\", \"sm\")}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t`);\n\t\tthis.parent.append(this.phone_picker_wrapper);\n\t\tthis.phone_wrapper = this.phone_picker_wrapper.find(\".phones\");\n\t\tthis.search_input = this.phone_picker_wrapper.find(\".search-phones > input\");\n\t\tthis.refresh();\n\t\tthis.setup_countries();\n\t}\n\n\tsetup_countries() {\n\t\tObject.entries(this.countries).forEach(([country, info]) => {\n\t\t\tif (!info.isd) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet $country = $(`\n\t\t\t\t
    \n\t\t\t\t\t${frappe.utils.flag(info.code)}\n\t\t\t\t\t${country} (${info.isd})\n\t\t\t\t
    \n\t\t\t`);\n\t\t\tthis.phone_wrapper.append($country);\n\t\t\tconst set_values = () => {\n\t\t\t\tthis.set_country(country);\n\t\t\t\tthis.update_icon_selected();\n\t\t\t};\n\t\t\t$country.on(\"click\", () => {\n\t\t\t\tset_values();\n\t\t\t});\n\t\t\t$country.hover(() => {\n\t\t\t\t$country.toggleClass(\"bg-gray-100\");\n\t\t\t});\n\t\t\tthis.search_input.keydown((e) => {\n\t\t\t\tconst key_code = e.keyCode;\n\t\t\t\tif ([13].includes(key_code)) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tset_values();\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.search_input.keyup((e) => {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.filter_icons(country, info.isd);\n\t\t\t});\n\n\t\t\tthis.search_input.on(\"search\", () => {\n\t\t\t\tthis.filter_icons(country, info.isd);\n\t\t\t});\n\t\t});\n\t}\n\n\tfilter_icons(country, isd) {\n\t\tlet value = this.search_input.val();\n\t\tif (!value) {\n\t\t\tthis.phone_wrapper.find(\".phone-wrapper\").removeClass(\"hidden\");\n\t\t} else {\n\t\t\tif (!isd.includes(value) && !country.toLowerCase().includes(value.toLowerCase())) {\n\t\t\t\tthis.phone_wrapper\n\t\t\t\t\t.find(`.phone-wrapper[id='${country.toLowerCase()}']`)\n\t\t\t\t\t.addClass(\"hidden\");\n\t\t\t} else {\n\t\t\t\tthis.phone_wrapper\n\t\t\t\t\t.find(`.phone-wrapper[id='${country.toLowerCase()}']`)\n\t\t\t\t\t.removeClass(\"hidden\");\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate_icon_selected(silent) {\n\t\t!silent && this.on_change && this.on_change(this.get_country());\n\t}\n\n\tset_country(country) {\n\t\tthis.country = country || \"\";\n\t}\n\n\tget_country() {\n\t\treturn this.country;\n\t}\n\n\treset() {\n\t\tthis.set_country();\n\t\tthis.update_icon_selected();\n\t}\n}\n\nexport default PhonePicker;\n", "frappe.ui.form.ControlJSON = class ControlCode extends frappe.ui.form.ControlCode {\n\tset_language() {\n\t\tthis.editor.session.setMode(\"ace/mode/json\");\n\t\tthis.editor.setKeyboardHandler(\"ace/keyboard/vscode\");\n\t}\n};\n", "// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors\n// MIT License. See license.txt\n\n// add a new dom element\nfrappe.provide(\"frappe.dom\");\n\nfrappe.dom = {\n\tid_count: 0,\n\tfreeze_count: 0,\n\tby_id: function (id) {\n\t\treturn document.getElementById(id);\n\t},\n\tget_unique_id: function () {\n\t\tconst id = \"unique-\" + frappe.dom.id_count;\n\t\tfrappe.dom.id_count++;\n\t\treturn id;\n\t},\n\tset_unique_id: function (ele) {\n\t\tvar $ele = $(ele);\n\t\tif ($ele.attr(\"id\")) {\n\t\t\treturn $ele.attr(\"id\");\n\t\t}\n\t\tvar id = \"unique-\" + frappe.dom.id_count;\n\t\t$ele.attr(\"id\", id);\n\t\tfrappe.dom.id_count++;\n\t\treturn id;\n\t},\n\teval: function (txt) {\n\t\tif (!txt) return;\n\t\tvar el = document.createElement(\"script\");\n\t\tel.appendChild(document.createTextNode(txt));\n\t\t// execute the script globally\n\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(el);\n\t},\n\n\tremove_script_and_style: function (txt) {\n\t\tconst evil_tags = [\"script\", \"style\", \"noscript\", \"title\", \"meta\", \"base\", \"head\"];\n\t\tconst unsafe_tags = [\"link\"];\n\n\t\tif (!this.unsafe_tags_regex) {\n\t\t\tconst evil_and_unsafe_tags = evil_tags.concat(unsafe_tags);\n\t\t\tconst regex_str = evil_and_unsafe_tags.map((t) => `<([\\\\s]*)${t}`).join(\"|\");\n\t\t\tthis.unsafe_tags_regex = new RegExp(regex_str, \"im\");\n\t\t}\n\n\t\t// if no unsafe tags are present return as is to prevent unncessary expensive parsing\n\t\tif (!txt || !this.unsafe_tags_regex.test(txt)) {\n\t\t\treturn txt;\n\t\t}\n\n\t\tconst parser = new DOMParser();\n\t\tconst doc = parser.parseFromString(txt, \"text/html\");\n\t\tconst body = doc.body;\n\t\tlet found = !!doc.head.innerHTML;\n\n\t\tfor (const tag of evil_tags) {\n\t\t\tfor (const element of body.getElementsByTagName(tag)) {\n\t\t\t\tfound = true;\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t}\n\t\t}\n\n\t\tfor (const element of body.getElementsByTagName(\"link\")) {\n\t\t\tconst relation = element.getAttribute(\"rel\");\n\t\t\tif (relation && relation.toLowerCase().trim() === \"stylesheet\") {\n\t\t\t\tfound = true;\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t}\n\t\t}\n\n\t\tif (found) {\n\t\t\treturn body.innerHTML;\n\t\t} else {\n\t\t\t// don't disturb\n\t\t\treturn txt;\n\t\t}\n\t},\n\tis_element_in_viewport: function (el, tolerance = 0) {\n\t\t//special bonus for those using jQuery\n\t\tif (typeof jQuery === \"function\" && el instanceof jQuery) {\n\t\t\tel = el[0];\n\t\t}\n\n\t\tvar rect = el.getBoundingClientRect();\n\n\t\treturn (\n\t\t\trect.top + tolerance >= 0 &&\n\t\t\trect.left + tolerance >= 0 &&\n\t\t\trect.bottom - tolerance <= $(window).height() &&\n\t\t\trect.right - tolerance <= $(window).width()\n\t\t);\n\t},\n\n\tis_element_in_modal(element) {\n\t\treturn Boolean($(element).parents(\".modal\").length);\n\t},\n\n\tset_style: function (txt, id) {\n\t\tif (!txt) return;\n\n\t\tvar se = document.createElement(\"style\");\n\t\tse.type = \"text/css\";\n\n\t\tif (id) {\n\t\t\tvar element = document.getElementById(id);\n\t\t\tif (element) {\n\t\t\t\telement.parentNode.removeChild(element);\n\t\t\t}\n\t\t\tse.id = id;\n\t\t}\n\n\t\tif (se.styleSheet) {\n\t\t\tse.styleSheet.cssText = txt;\n\t\t} else {\n\t\t\tse.appendChild(document.createTextNode(txt));\n\t\t}\n\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(se);\n\t\treturn se;\n\t},\n\tadd: function (parent, newtag, className, cs, innerHTML, onclick) {\n\t\tif (parent && parent.substr) parent = frappe.dom.by_id(parent);\n\t\tvar c = document.createElement(newtag);\n\t\tif (parent) parent.appendChild(c);\n\n\t\t// if image, 3rd parameter is source\n\t\tif (className) {\n\t\t\tif (newtag.toLowerCase() == \"img\") c.src = className;\n\t\t\telse c.className = className;\n\t\t}\n\t\tif (cs) frappe.dom.css(c, cs);\n\t\tif (innerHTML) c.innerHTML = innerHTML;\n\t\tif (onclick) c.onclick = onclick;\n\t\treturn c;\n\t},\n\tcss: function (ele, s) {\n\t\tif (ele && s) {\n\t\t\t$.extend(ele.style, s);\n\t\t}\n\t\treturn ele;\n\t},\n\tactivate: function ($parent, $child, common_class, active_class = \"active\") {\n\t\t$parent.find(`.${common_class}.${active_class}`).removeClass(active_class);\n\t\t$child.addClass(active_class);\n\t},\n\tfreeze: function (msg, css_class) {\n\t\t// blur\n\t\tif (!$(\"#freeze\").length) {\n\t\t\tvar freeze = $('
    ')\n\t\t\t\t.on(\"click\", function () {\n\t\t\t\t\tif (cur_frm && cur_frm.cur_grid) {\n\t\t\t\t\t\tcur_frm.cur_grid.toggle_view();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.appendTo(\"#body\");\n\n\t\t\tfreeze.html(\n\t\t\t\trepl(\n\t\t\t\t\t'

    %(msg)s

    ',\n\t\t\t\t\t{ msg: msg || \"\" }\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tsetTimeout(function () {\n\t\t\t\tfreeze.addClass(\"in\");\n\t\t\t}, 1);\n\t\t} else {\n\t\t\t$(\"#freeze\").addClass(\"in\");\n\t\t}\n\n\t\tif (css_class) {\n\t\t\t$(\"#freeze\").addClass(css_class);\n\t\t}\n\n\t\tfrappe.dom.freeze_count++;\n\t},\n\tunfreeze: function () {\n\t\tif (!frappe.dom.freeze_count) return; // anything open?\n\t\tfrappe.dom.freeze_count--;\n\t\tif (!frappe.dom.freeze_count) {\n\t\t\tvar freeze = $(\"#freeze\").removeClass(\"in\").remove();\n\t\t}\n\t},\n\tsave_selection: function () {\n\t\t// via http://stackoverflow.com/questions/5605401/insert-link-in-contenteditable-element\n\t\tif (window.getSelection) {\n\t\t\tvar sel = window.getSelection();\n\t\t\tif (sel.getRangeAt && sel.rangeCount) {\n\t\t\t\tvar ranges = [];\n\t\t\t\tfor (var i = 0, len = sel.rangeCount; i < len; ++i) {\n\t\t\t\t\tranges.push(sel.getRangeAt(i));\n\t\t\t\t}\n\t\t\t\treturn ranges;\n\t\t\t}\n\t\t} else if (document.selection && document.selection.createRange) {\n\t\t\treturn document.selection.createRange();\n\t\t}\n\t\treturn null;\n\t},\n\trestore_selection: function (savedSel) {\n\t\tif (savedSel) {\n\t\t\tif (window.getSelection) {\n\t\t\t\tvar sel = window.getSelection();\n\t\t\t\tsel.removeAllRanges();\n\t\t\t\tfor (var i = 0, len = savedSel.length; i < len; ++i) {\n\t\t\t\t\tsel.addRange(savedSel[i]);\n\t\t\t\t}\n\t\t\t} else if (document.selection && savedSel.select) {\n\t\t\t\tsavedSel.select();\n\t\t\t}\n\t\t}\n\t},\n\tis_touchscreen: function () {\n\t\treturn \"ontouchstart\" in window;\n\t},\n\thandle_broken_images(container) {\n\t\t$(container)\n\t\t\t.find(\"img\")\n\t\t\t.on(\"error\", (e) => {\n\t\t\t\tconst $img = $(e.currentTarget);\n\t\t\t\t$img.addClass(\"no-image\");\n\t\t\t});\n\t},\n\tscroll_to_bottom(container) {\n\t\tconst $container = $(container);\n\t\t$container.scrollTop($container[0].scrollHeight);\n\t},\n\tfile_to_base64(file_obj) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst reader = new FileReader();\n\t\t\treader.onload = function () {\n\t\t\t\tresolve(reader.result);\n\t\t\t};\n\t\t\treader.readAsDataURL(file_obj);\n\t\t});\n\t},\n\tscroll_to_section(section_name) {\n\t\tsetTimeout(() => {\n\t\t\tconst section = $(`a:contains(\"${section_name}\")`);\n\t\t\tif (section.length) {\n\t\t\t\tif (section.parent().hasClass(\"collapsed\")) {\n\t\t\t\t\t// opens the section\n\t\t\t\t\tsection.click();\n\t\t\t\t}\n\t\t\t\tfrappe.ui.scroll(section.parent().parent());\n\t\t\t}\n\t\t}, 200);\n\t},\n\tpixel_to_inches(pixels) {\n\t\tconst div = $(\n\t\t\t'
    '\n\t\t);\n\t\tdiv.appendTo(document.body);\n\n\t\tconst dpi_x = document.getElementById(\"dpi\").offsetWidth;\n\t\tconst inches = pixels / dpi_x;\n\t\tdiv.remove();\n\n\t\treturn inches;\n\t},\n};\n\nfrappe.ellipsis = function (text, max) {\n\tif (!max) max = 20;\n\ttext = cstr(text);\n\tif (text.length > max) {\n\t\ttext = text.substr(0, max) + \"...\";\n\t}\n\treturn text;\n};\n\nfrappe.run_serially = function (tasks) {\n\tvar result = Promise.resolve();\n\ttasks.forEach((task) => {\n\t\tif (task) {\n\t\t\tresult = result.then ? result.then(task) : Promise.resolve();\n\t\t}\n\t});\n\treturn result;\n};\n\nfrappe.load_image = (src, onload, onerror, preprocess = () => {}) => {\n\tvar tester = new Image();\n\ttester.onload = function () {\n\t\tonload(this);\n\t};\n\ttester.onerror = onerror;\n\n\tpreprocess(tester);\n\ttester.src = src;\n};\n\nfrappe.timeout = (seconds) => {\n\treturn new Promise((resolve) => {\n\t\tsetTimeout(() => resolve(), seconds * 1000);\n\t});\n};\n\nfrappe.scrub = frappe.slug = function (text, spacer = \"_\") {\n\treturn text.replace(/ /g, spacer).toLowerCase();\n};\n\nfrappe.unscrub = function (txt) {\n\treturn frappe.model.unscrub(txt);\n};\n\nfrappe.get_data_pill = (\n\tlabel,\n\ttarget_id = null,\n\tremove_action = null,\n\timage = null,\n\tcolored = false\n) => {\n\tlet color = \"\",\n\t\tstyle = \"\";\n\tif (colored) {\n\t\tcolor = frappe.get_palette(label);\n\t}\n\tstyle = `background-color: var(${color[0]}); color: var(${color[1]})`;\n\tlet data_pill_wrapper = $(`\n\t\t\n\t`);\n\tif (remove_action) {\n\t\tlet remove_btn = $(`\n\t\t\t\n\t\t\t\t${frappe.utils.icon(\"close\", \"sm\", \"es-icon\")}\n\t\t\t\n\t\t`);\n\t\tif (typeof remove_action === \"function\") {\n\t\t\tremove_btn.click(() => {\n\t\t\t\tremove_action(target_id || label, data_pill_wrapper);\n\t\t\t});\n\t\t}\n\t\tdata_pill_wrapper.append(remove_btn);\n\t}\n\treturn data_pill_wrapper;\n};\n\nfrappe.get_modal = function (title, content) {\n\treturn $(`
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t

    ${title}

    \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    ${content}
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t
    `);\n};\n\nfrappe.is_online = function () {\n\tif (frappe.boot.developer_mode == 1) {\n\t\t// always online in developer_mode\n\t\treturn true;\n\t}\n\tif (\"onLine\" in navigator) {\n\t\treturn navigator.onLine;\n\t}\n\treturn true;\n};\n\nfrappe.create_shadow_element = function (wrapper, html, css, js) {\n\tlet random_id = \"custom-block-\" + frappe.utils.get_random(5).toLowerCase();\n\n\tclass CustomBlock extends HTMLElement {\n\t\tconstructor() {\n\t\t\tsuper();\n\n\t\t\t// html\n\t\t\tlet div = document.createElement(\"div\");\n\t\t\tdiv.innerHTML = frappe.dom.remove_script_and_style(html);\n\n\t\t\t// link global desk css\n\t\t\tlet link = document.createElement(\"link\");\n\t\t\tlink.rel = \"stylesheet\";\n\t\t\tlink.href = frappe.assets.bundled_asset(\"desk.bundle.css\");\n\n\t\t\t// css\n\t\t\tlet style = document.createElement(\"style\");\n\t\t\tstyle.textContent = css;\n\n\t\t\t// javascript\n\t\t\tlet script = document.createElement(\"script\");\n\t\t\tscript.textContent = `\n\t\t\t\t(function() {\n\t\t\t\t\tlet cname = ${JSON.stringify(random_id)};\n\t\t\t\t\tlet root_element = document.querySelector(cname).shadowRoot;\n\t\t\t\t\t${js}\n\t\t\t\t})();\n\t\t\t`;\n\n\t\t\tthis.attachShadow({ mode: \"open\" });\n\t\t\tthis.shadowRoot?.appendChild(link);\n\t\t\tthis.shadowRoot?.appendChild(div);\n\t\t\tthis.shadowRoot?.appendChild(style);\n\t\t\tthis.shadowRoot?.appendChild(script);\n\t\t}\n\t}\n\n\tif (!customElements.get(random_id)) {\n\t\tcustomElements.define(random_id, CustomBlock);\n\t}\n\twrapper.innerHTML = `<${random_id}>`;\n};\n\n// bind online/offline events\n$(window).on(\"online\", function () {\n\tif (document.hidden) return;\n\tfrappe.show_alert({\n\t\tindicator: \"green\",\n\t\tmessage: __(\"You are connected to internet.\"),\n\t});\n});\n\n$(window).on(\"offline\", function () {\n\tif (document.hidden) return;\n\tfrappe.show_alert({\n\t\tindicator: \"orange\",\n\t\tmessage: __(\"Connection lost. Some features might not work.\"),\n\t});\n});\n", "// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors\n// MIT License. See license.txt\n\n// for license information please see license.txt\n\nfrappe.provide(\"frappe.form.formatters\");\n\nfrappe.form.link_formatters = {};\n\nfrappe.form.formatters = {\n\t_right: function (value, options) {\n\t\tif (options && (options.inline || options.only_value)) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn \"
    \" + value + \"
    \";\n\t\t}\n\t},\n\t_apply_custom_formatter: function (value, df) {\n\t\t/* you can add a custom formatter in df.formatter\n\t\texample:\n\t\t\tfrappe.meta.docfield_map[df.parent][df.fieldname].formatter = (value) => {\n\t\t\t\tif (value==='Test') return '\uD83D\uDE1C';\n\t\t\t}\n\t\t*/\n\n\t\tif (df) {\n\t\t\tconst std_df =\n\t\t\t\tfrappe.meta.docfield_map[df.parent] &&\n\t\t\t\tfrappe.meta.docfield_map[df.parent][df.fieldname];\n\t\t\tif (std_df && std_df.formatter && typeof std_df.formatter === \"function\") {\n\t\t\t\tvalue = std_df.formatter(value, df);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t},\n\tData: function (value, df) {\n\t\tif (df && df.options == \"URL\") {\n\t\t\tif (!value) return;\n\t\t\treturn `${value}`;\n\t\t}\n\t\tvalue = value == null ? \"\" : value;\n\n\t\treturn frappe.form.formatters._apply_custom_formatter(value, df);\n\t},\n\tAutocomplete: function (value, df) {\n\t\treturn __(frappe.form.formatters[\"Data\"](value, df));\n\t},\n\tSelect: function (value, df) {\n\t\treturn __(frappe.form.formatters[\"Data\"](value, df));\n\t},\n\tFloat: function (value, docfield, options, doc) {\n\t\tif (value === null) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\t// don't allow 0 precision for Floats, hence or'ing with null\n\t\tvar precision =\n\t\t\tdocfield.precision ||\n\t\t\tcint(frappe.boot.sysdefaults && frappe.boot.sysdefaults.float_precision) ||\n\t\t\tnull;\n\t\tif (docfield.options && docfield.options.trim()) {\n\t\t\t// options points to a currency field, but expects precision of float!\n\t\t\tdocfield.precision = precision;\n\t\t\treturn frappe.form.formatters.Currency(value, docfield, options, doc);\n\t\t} else {\n\t\t\t// show 1.000000 as 1\n\t\t\tif (!(options || {}).always_show_decimals && !is_null(value)) {\n\t\t\t\tvar temp = cstr(value).split(\".\");\n\t\t\t\tif (temp[1] == undefined || cint(temp[1]) === 0) {\n\t\t\t\t\tprecision = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvalue = value == null || value === \"\" ? \"\" : value;\n\n\t\t\treturn frappe.form.formatters._right(format_number(value, null, precision), options);\n\t\t}\n\t},\n\tInt: function (value, docfield, options) {\n\t\tif (value === null) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tif (cstr(docfield.options).trim() === \"File Size\") {\n\t\t\treturn frappe.form.formatters.FileSize(value);\n\t\t}\n\t\treturn frappe.form.formatters._right(value == null ? \"\" : cint(value), options);\n\t},\n\tPercent: function (value, docfield, options) {\n\t\tif (value === null) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst precision =\n\t\t\tdocfield.precision ||\n\t\t\tcint(frappe.boot.sysdefaults && frappe.boot.sysdefaults.float_precision) ||\n\t\t\t2;\n\t\treturn frappe.form.formatters._right(flt(value, precision) + \"%\", options);\n\t},\n\tRating: function (value, docfield) {\n\t\tlet rating_html = \"\";\n\t\tlet number_of_stars = docfield.options || 5;\n\t\tvalue = value * number_of_stars;\n\t\tvalue = Math.round(value * 2) / 2; // roundoff number to nearest 0.5\n\t\tArray.from({ length: cint(number_of_stars) }, (_, i) => i + 1).forEach((i) => {\n\t\t\trating_html += `\n\t\t\t\t\n\t\t\t\t\n\t\t\t`;\n\t\t});\n\t\treturn `
    \n\t\t\t${rating_html}\n\t\t
    `;\n\t},\n\tCurrency: function (value, docfield, options, doc) {\n\t\tif (value === null) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tvar currency = frappe.meta.get_field_currency(docfield, doc);\n\n\t\tlet precision;\n\t\tif (typeof docfield.precision == \"number\") {\n\t\t\tprecision = docfield.precision;\n\t\t} else {\n\t\t\tprecision = cint(\n\t\t\t\tdocfield.precision || frappe.boot.sysdefaults.currency_precision || 2\n\t\t\t);\n\t\t}\n\n\t\t// If you change anything below, it's going to hurt a company in UAE, a bit.\n\t\tif (precision > 2) {\n\t\t\tvar parts = cstr(value).split(\".\"); // should be minimum 2, comes from the DB\n\t\t\tvar decimals = parts.length > 1 ? parts[1] : \"\"; // parts.length == 2 ???\n\n\t\t\tif (decimals.length < 3 || decimals.length < precision) {\n\t\t\t\tconst fraction =\n\t\t\t\t\tfrappe.model.get_value(\":Currency\", currency, \"fraction_units\") || 100; // if not set, minimum 2.\n\n\t\t\t\tif (decimals.length < cstr(fraction).length) {\n\t\t\t\t\tprecision = cstr(fraction).length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvalue = value == null || value === \"\" ? \"\" : value;\n\t\tvalue = format_currency(value, currency, precision);\n\n\t\tif (options && options.only_value) {\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn frappe.form.formatters._right(value, options);\n\t\t}\n\t},\n\tCheck: function (value) {\n\t\treturn ``;\n\t},\n\tLink: function (value, docfield, options, doc) {\n\t\tvar doctype = docfield._options || docfield.options;\n\t\tvar original_value = value;\n\t\tlet link_title = frappe.utils.get_link_title(doctype, value);\n\n\t\tif (link_title === value) {\n\t\t\tlink_title = null;\n\t\t}\n\n\t\tif (value && value.match && value.match(/^['\"].*['\"]$/)) {\n\t\t\tvalue.replace(/^.(.*).$/, \"$1\");\n\t\t}\n\n\t\tif (options && (options.for_print || options.only_value)) {\n\t\t\treturn link_title || value;\n\t\t}\n\n\t\tif (frappe.form.link_formatters[doctype]) {\n\t\t\t// don't apply formatters in case of composite (parent field of same type)\n\t\t\tif (doc && doctype !== doc.doctype) {\n\t\t\t\tvalue = frappe.form.link_formatters[doctype](value, doc, docfield);\n\t\t\t}\n\t\t}\n\n\t\tif (!value) {\n\t\t\treturn \"\";\n\t\t}\n\t\tif (value[0] == \"'\" && value[value.length - 1] == \"'\") {\n\t\t\treturn value.substring(1, value.length - 1);\n\t\t}\n\t\tif (docfield && docfield.link_onclick) {\n\t\t\treturn repl('%(value)s', {\n\t\t\t\tonclick: docfield.link_onclick.replace(/\"/g, \""\") + \"; return false;\",\n\t\t\t\tvalue: value,\n\t\t\t});\n\t\t} else if (docfield && doctype) {\n\t\t\tif (frappe.model.can_read(doctype)) {\n\t\t\t\tconst a = document.createElement(\"a\");\n\t\t\t\ta.href = `/app/${encodeURIComponent(\n\t\t\t\t\tfrappe.router.slug(doctype)\n\t\t\t\t)}/${encodeURIComponent(original_value)}`;\n\t\t\t\ta.dataset.doctype = doctype;\n\t\t\t\ta.dataset.name = original_value;\n\t\t\t\ta.dataset.value = original_value;\n\t\t\t\ta.innerText = __((options && options.label) || link_title || value);\n\t\t\t\treturn a.outerHTML;\n\t\t\t} else {\n\t\t\t\treturn link_title || value;\n\t\t\t}\n\t\t} else {\n\t\t\treturn link_title || value;\n\t\t}\n\t},\n\tDate: function (value) {\n\t\tif (!frappe.datetime.str_to_user) {\n\t\t\treturn value;\n\t\t}\n\t\tif (value) {\n\t\t\tvalue = frappe.datetime.str_to_user(value, false, true);\n\t\t\t// handle invalid date\n\t\t\tif (value === \"Invalid date\") {\n\t\t\t\tvalue = null;\n\t\t\t}\n\t\t}\n\n\t\treturn value || \"\";\n\t},\n\tDateRange: function (value) {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn __(\"{0} to {1}\", [\n\t\t\t\tfrappe.datetime.str_to_user(value[0]),\n\t\t\t\tfrappe.datetime.str_to_user(value[1]),\n\t\t\t]);\n\t\t} else {\n\t\t\treturn value || \"\";\n\t\t}\n\t},\n\tDatetime: function (value) {\n\t\tif (value) {\n\t\t\treturn moment(frappe.datetime.convert_to_user_tz(value)).format(\n\t\t\t\tfrappe.boot.sysdefaults.date_format.toUpperCase() +\n\t\t\t\t\t\" \" +\n\t\t\t\t\t(frappe.boot.sysdefaults.time_format || \"HH:mm:ss\")\n\t\t\t);\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t},\n\tText: function (value, df) {\n\t\tif (value) {\n\t\t\tvar tags = [\"\n\t\t\t\t\t${v}\n\t\t\t\t`;\n\t\t});\n\t\treturn html;\n\t},\n\tComment: function (value) {\n\t\treturn value;\n\t},\n\tAssign: function (value) {\n\t\tvar html = \"\";\n\t\t$.each(JSON.parse(value || \"[]\"), function (i, v) {\n\t\t\tif (v)\n\t\t\t\thtml +=\n\t\t\t\t\t'' +\n\t\t\t\t\tv +\n\t\t\t\t\t\"\";\n\t\t});\n\t\treturn html;\n\t},\n\tSmallText: function (value) {\n\t\treturn frappe.form.formatters.Text(value);\n\t},\n\tTextEditor: function (value) {\n\t\tlet formatted_value = frappe.form.formatters.Text(value);\n\t\t// to use ql-editor styles\n\t\ttry {\n\t\t\tif (\n\t\t\t\t!$(formatted_value).find(\".ql-editor\").length &&\n\t\t\t\t!$(formatted_value).hasClass(\"ql-editor\")\n\t\t\t) {\n\t\t\t\tformatted_value = `
    ${formatted_value}
    `;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tformatted_value = `
    ${formatted_value}
    `;\n\t\t}\n\n\t\treturn formatted_value;\n\t},\n\tCode: function (value) {\n\t\treturn \"
    \" + (value == null ? \"\" : $(\"
    \").text(value).html()) + \"
    \";\n\t},\n\tWorkflowState: function (value) {\n\t\tvar workflow_state = frappe.get_doc(\"Workflow State\", value);\n\t\tif (workflow_state) {\n\t\t\treturn repl(\n\t\t\t\t\"\\\n\t\t\t\t %(value)s\",\n\t\t\t\t{\n\t\t\t\t\tvalue: value,\n\t\t\t\t\tstyle: workflow_state.style.toLowerCase(),\n\t\t\t\t\ticon: workflow_state.icon,\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\treturn \"\" + value + \"\";\n\t\t}\n\t},\n\tEmail: function (value) {\n\t\treturn $(\"
    \").text(value).html();\n\t},\n\tFileSize: function (value) {\n\t\tvalue = cint(value);\n\t\tif (value > 1048576) {\n\t\t\treturn (value / 1048576).toFixed(2) + \"M\";\n\t\t} else if (value > 1024) {\n\t\t\treturn (value / 1024).toFixed(2) + \"K\";\n\t\t}\n\t\treturn value;\n\t},\n\tTableMultiSelect: function (rows, df, options) {\n\t\trows = rows || [];\n\t\tconst meta = frappe.get_meta(df.options);\n\t\tconst link_field = meta.fields.find((df) => df.fieldtype === \"Link\");\n\t\tconst formatted_values = rows.map((row) => {\n\t\t\tconst value = row[link_field.fieldname];\n\t\t\treturn `\n\t\t\t\t${frappe.format(value, link_field, options, row)}\n\t\t\t`;\n\t\t});\n\t\treturn formatted_values.join(\", \");\n\t},\n\tColor: (value) => {\n\t\treturn value\n\t\t\t? `
    \n\t\t\t
    \n\t\t\t${value}\n\t\t
    `\n\t\t\t: \"\";\n\t},\n\tIcon: (value) => {\n\t\treturn value\n\t\t\t? `
    \n\t\t\t
    ${frappe.utils.icon(value, \"md\")}
    \n\t\t\t${value}\n\t\t
    `\n\t\t\t: \"\";\n\t},\n\tAttach: format_attachment_url,\n\tAttachImage: format_attachment_url,\n};\n\nfunction format_attachment_url(url) {\n\treturn url ? `${url}` : \"\";\n}\n\nfrappe.form.get_formatter = function (fieldtype) {\n\tif (!fieldtype) fieldtype = \"Data\";\n\treturn frappe.form.formatters[fieldtype.replace(/ /g, \"\")] || frappe.form.formatters.Data;\n};\n\nfrappe.format = function (value, df, options, doc) {\n\tif (!df) df = { fieldtype: \"Data\" };\n\tif (df.fieldname == \"_user_tags\") df = { ...df, fieldtype: \"Tag\" };\n\tvar fieldtype = df.fieldtype || \"Data\";\n\n\t// format Dynamic Link as a Link\n\tif (fieldtype === \"Dynamic Link\") {\n\t\tfieldtype = \"Link\";\n\t\tdf._options = doc ? doc[df.options] : null;\n\t}\n\n\tvar formatter = df.formatter || frappe.form.get_formatter(fieldtype);\n\n\tvar formatted = formatter(value, df, options, doc);\n\n\tif (typeof formatted == \"string\") formatted = frappe.dom.remove_script_and_style(formatted);\n\n\treturn formatted;\n};\n\nfrappe.get_format_helper = function (doc) {\n\tvar helper = {\n\t\tget_formatted: function (fieldname) {\n\t\t\tvar df = frappe.meta.get_docfield(doc.doctype, fieldname);\n\t\t\tif (!df) {\n\t\t\t\tconsole.log(\"fieldname not found: \" + fieldname);\n\t\t\t}\n\t\t\treturn frappe.format(doc[fieldname], df, { inline: 1 }, doc);\n\t\t},\n\t};\n\t$.extend(helper, doc);\n\treturn helper;\n};\n\nfrappe.form.link_formatters[\"User\"] = function (value, doc, docfield) {\n\tlet full_name = doc && (doc.full_name || (docfield && doc[`${docfield.fieldname}_full_name`]));\n\treturn full_name || value;\n};\n", "export default class Section {\n\tconstructor(parent, df, card_layout, layout) {\n\t\tthis.layout = layout;\n\t\tthis.card_layout = card_layout;\n\t\tthis.parent = parent;\n\t\tthis.df = df || {};\n\t\tthis.columns = [];\n\t\tthis.fields_list = [];\n\t\tthis.fields_dict = {};\n\n\t\tthis.make();\n\n\t\tif (\n\t\t\tthis.df.label &&\n\t\t\tthis.df.collapsible &&\n\t\t\tlocalStorage.getItem(df.css_class + \"-closed\")\n\t\t) {\n\t\t\tthis.collapse();\n\t\t}\n\n\t\tthis.row = {\n\t\t\twrapper: this.wrapper,\n\t\t};\n\n\t\tthis.refresh();\n\t}\n\n\tmake() {\n\t\tlet make_card = this.card_layout;\n\t\tthis.wrapper = $(`
    \n\t\t\t`).appendTo(this.parent);\n\n\t\tif (this.df) {\n\t\t\tif (this.df.label && !this.df.hide_label) {\n\t\t\t\tthis.make_head();\n\t\t\t}\n\t\t\tif (this.df.description) {\n\t\t\t\tthis.description_wrapper = $(\n\t\t\t\t\t`
    \n\t\t\t\t\t\t${__(this.df.description)}\n\t\t\t\t\t
    `\n\t\t\t\t);\n\n\t\t\t\tthis.wrapper.append(this.description_wrapper);\n\t\t\t}\n\t\t\tif (this.df.css_class) {\n\t\t\t\tthis.wrapper.addClass(this.df.css_class);\n\t\t\t}\n\t\t\tif (this.df.hide_border) {\n\t\t\t\tthis.wrapper.toggleClass(\"hide-border\", true);\n\t\t\t}\n\t\t}\n\n\t\tthis.body = $('
    ').appendTo(this.wrapper);\n\n\t\tif (this.df.body_html) {\n\t\t\tthis.body.append(this.df.body_html);\n\t\t}\n\t}\n\n\tmake_head() {\n\t\tthis.head = $(`\n\t\t\t
    \n\t\t\t\t${__(this.df.label, null, this.df.parent)}\n\t\t\t\t\n\t\t\t
    \n\t\t`);\n\n\t\tthis.head.appendTo(this.wrapper);\n\t\tthis.indicator = this.head.find(\".collapse-indicator\");\n\t\tthis.indicator.hide();\n\n\t\tif (this.df.collapsible) {\n\t\t\tthis.head.addClass(\"collapsible\");\n\t\t\t// show / hide based on status\n\t\t\tthis.collapse_link = this.head.on(\"click\", () => {\n\t\t\t\tthis.collapse();\n\t\t\t});\n\t\t\tthis.set_icon();\n\t\t\tthis.indicator.show();\n\t\t}\n\t}\n\n\treplace_field(fieldname, fieldobj) {\n\t\tif (this.fields_dict[fieldname]?.df) {\n\t\t\tconst olfldobj = this.fields_dict[fieldname];\n\t\t\tconst idx = this.fields_list.findIndex((e) => e == olfldobj);\n\t\t\tthis.fields_list.splice(idx, 1, fieldobj);\n\t\t\tthis.fields_dict[fieldname] = fieldobj;\n\t\t\tfieldobj.section = this;\n\t\t}\n\t}\n\n\tadd_field(fieldobj) {\n\t\tthis.fields_list.push(fieldobj);\n\t\tthis.fields_dict[fieldobj.df.fieldname] = fieldobj;\n\t\tfieldobj.section = this;\n\t}\n\n\trefresh(hide) {\n\t\tif (!this.df) return;\n\t\t// hide if explicitly hidden\n\t\thide = hide || this.df.hidden || this.df.hidden_due_to_dependency;\n\t\tthis.wrapper.toggleClass(\"hide-control\", !!hide);\n\t}\n\n\tcollapse(hide) {\n\t\t// unknown edge case\n\t\tif (!(this.head && this.body)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (hide === undefined) {\n\t\t\thide = !this.body.hasClass(\"hide\");\n\t\t}\n\n\t\tthis.body.toggleClass(\"hide\", hide);\n\t\tthis.head && this.head.toggleClass(\"collapsed\", hide);\n\n\t\tthis.set_icon(hide);\n\n\t\tthis.fields_list.forEach((f) => f.on_section_collapse && f.on_section_collapse(hide));\n\n\t\t// save state for next reload ('' is falsy)\n\t\tif (this.df.css_class)\n\t\t\tlocalStorage.setItem(this.df.css_class + \"-closed\", hide ? \"1\" : \"\");\n\t}\n\n\tset_icon(hide) {\n\t\tlet indicator_icon = hide ? \"es-line-down\" : \"es-line-up\";\n\t\tthis.indicator && this.indicator.html(frappe.utils.icon(indicator_icon, \"sm\", \"mb-1\"));\n\t}\n\n\tis_collapsed() {\n\t\treturn this.body.hasClass(\"hide\");\n\t}\n\n\thas_missing_mandatory() {\n\t\tlet missing_mandatory = false;\n\t\tfor (let j = 0, l = this.fields_list.length; j < l; j++) {\n\t\t\tconst section_df = this.fields_list[j].df;\n\t\t\tif (section_df.reqd && this.layout.doc[section_df.fieldname] == null) {\n\t\t\t\tmissing_mandatory = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn missing_mandatory;\n\t}\n\n\thide() {\n\t\tthis.on_section_toggle(false);\n\t}\n\n\tshow() {\n\t\tthis.on_section_toggle(true);\n\t}\n\n\ton_section_toggle(show) {\n\t\tthis.wrapper.toggleClass(\"hide-control\", !show);\n\t\t// this.on_section_toggle && this.on_section_toggle(show);\n\t}\n}\n", "export default class Tab {\n\tconstructor(layout, df, frm, tab_link_container, tabs_content) {\n\t\tthis.layout = layout;\n\t\tthis.df = df || {};\n\t\tthis.frm = frm;\n\t\tthis.doctype = this.frm?.doctype ?? this.df.parent;\n\t\tthis.label = this.df && this.df.label;\n\t\tthis.tab_link_container = tab_link_container;\n\t\tthis.tabs_content = tabs_content;\n\t\tthis.make();\n\t\tthis.setup_listeners();\n\t\tthis.refresh();\n\t}\n\n\tmake() {\n\t\tconst id = `${frappe.scrub(this.doctype, \"-\")}-${this.df.fieldname}`;\n\t\tthis.tab_link = $(`\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t\t\t${__(this.label, null, this.doctype)}\n\t\t\t\t\n\t\t\t
  • \n\t\t`).appendTo(this.tab_link_container);\n\n\t\tthis.wrapper = $(`
    `).appendTo(this.tabs_content);\n\t}\n\n\trefresh() {\n\t\tif (!this.df) return;\n\n\t\t// hide if explicitly hidden\n\t\tlet hide = this.df.hidden || this.df.hidden_due_to_dependency;\n\n\t\t// hide if no read permission\n\t\tif (!hide && this.frm && !this.frm.get_perm(this.df.permlevel || 0, \"read\")) {\n\t\t\thide = true;\n\t\t}\n\n\t\tif (!hide) {\n\t\t\t// show only if there is at least one visible section or control\n\t\t\thide = true;\n\t\t\tif (\n\t\t\t\tthis.wrapper.find(\n\t\t\t\t\t\".form-section:not(.hide-control, .empty-section), .form-dashboard-section:not(.hide-control, .empty-section)\"\n\t\t\t\t).length\n\t\t\t) {\n\t\t\t\thide = false;\n\t\t\t}\n\t\t}\n\n\t\tthis.toggle(!hide);\n\t}\n\n\ttoggle(show) {\n\t\tthis.tab_link.toggleClass(\"hide\", !show);\n\t\tthis.wrapper.toggleClass(\"hide\", !show);\n\t\tthis.tab_link.toggleClass(\"show\", show);\n\t\tthis.wrapper.toggleClass(\"show\", show);\n\t\tthis.hidden = !show;\n\t}\n\n\tshow() {\n\t\tthis.tab_link.show();\n\t}\n\n\thide() {\n\t\tthis.tab_link.hide();\n\t}\n\n\tadd_field(fieldobj) {\n\t\tfieldobj.tab = this;\n\t}\n\n\treplace_field(fieldobj) {\n\t\tfieldobj.tab = this;\n\t}\n\n\tset_active() {\n\t\tthis.tab_link.find(\".nav-link\").tab(\"show\");\n\t\tthis.wrapper.addClass(\"show\");\n\t\tthis.frm?.set_active_tab?.(this);\n\t}\n\n\tis_active() {\n\t\treturn this.wrapper.hasClass(\"active\");\n\t}\n\n\tis_hidden() {\n\t\treturn this.wrapper.hasClass(\"hide\") && this.tab_link.hasClass(\"hide\");\n\t}\n\n\tsetup_listeners() {\n\t\tthis.tab_link.find(\".nav-link\").on(\"shown.bs.tab\", () => {\n\t\t\tthis.frm?.set_active_tab?.(this);\n\t\t});\n\t}\n}\n", "export default class Column {\n\tconstructor(section, df) {\n\t\tif (!df) df = {};\n\n\t\tthis.df = df;\n\t\tthis.section = section;\n\t\tthis.section.columns.push(this);\n\t\tthis.make();\n\t\tthis.resize_all_columns();\n\t}\n\n\tmake() {\n\t\tthis.wrapper = $(`\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t`).appendTo(this.section.body);\n\n\t\tthis.form = this.wrapper.find(\"form\").on(\"submit\", () => false);\n\n\t\tif (this.df.description) {\n\t\t\t$(`\n\t\t\t\t

    \n\t\t\t\t\t${__(this.df.description)}\n\t\t\t\t

    \n\t\t\t`).prependTo(this.wrapper);\n\t\t}\n\n\t\tif (this.df.label) {\n\t\t\t$(`\n\t\t\t\t\n\t\t\t`).prependTo(this.wrapper);\n\t\t}\n\t}\n\n\tresize_all_columns() {\n\t\t// distribute all columns equally\n\t\tlet columns = this.section.wrapper.find(\".form-column\").length;\n\t\tlet colspan = cint(12 / columns);\n\n\t\tif (columns == 5) {\n\t\t\tcolspan = 20;\n\t\t}\n\n\t\tthis.section.wrapper\n\t\t\t.find(\".form-column\")\n\t\t\t.removeClass()\n\t\t\t.addClass(\"form-column\")\n\t\t\t.addClass(\"col-sm-\" + colspan);\n\t}\n\n\tadd_field() {}\n\n\trefresh() {\n\t\tthis.section.refresh();\n\t}\n}\n", "import Section from \"./section.js\";\nimport Tab from \"./tab.js\";\nimport Column from \"./column.js\";\n\nfrappe.ui.form.Layout = class Layout {\n\tconstructor(opts) {\n\t\tthis.views = {};\n\t\tthis.pages = [];\n\t\tthis.tabs = [];\n\t\tthis.sections = [];\n\t\tthis.page_breaks = [];\n\t\tthis.sections_dict = {};\n\t\tthis.fields_list = [];\n\t\tthis.fields_dict = {};\n\t\tthis.section_count = 0;\n\t\tthis.column_count = 0;\n\n\t\t$.extend(this, opts);\n\t}\n\n\tmake() {\n\t\tif (!this.parent && this.body) {\n\t\t\tthis.parent = this.body;\n\t\t}\n\t\tthis.wrapper = $('
    ').appendTo(this.parent);\n\t\tthis.message = $('
    ').appendTo(\n\t\t\tthis.wrapper\n\t\t);\n\t\tthis.page = $('
    ').appendTo(this.wrapper);\n\n\t\tif (!this.fields) {\n\t\t\tthis.fields = this.get_doctype_fields();\n\t\t}\n\n\t\tif (this.is_tabbed_layout()) {\n\t\t\tthis.setup_tabbed_layout();\n\t\t}\n\n\t\tthis.setup_tab_events();\n\t\tthis.frm && this.setup_tooltip_events();\n\t\tthis.render();\n\t}\n\n\tsetup_tabbed_layout() {\n\t\t$(`\n\t\t\t
    \n\t\t\t\t
      \n\t\t\t
      \n\t\t`).appendTo(this.page);\n\t\tthis.tab_link_container = this.page.find(\".form-tabs\");\n\t\tthis.tabs_content = $(`
      `).appendTo(\n\t\t\tthis.page\n\t\t);\n\t\tthis.setup_events();\n\t}\n\n\tget_doctype_fields() {\n\t\tlet fields = [this.get_new_name_field()];\n\t\tif (this.doctype_layout) {\n\t\t\tfields = fields.concat(this.get_fields_from_layout());\n\t\t} else {\n\t\t\tfields = fields.concat(\n\t\t\t\tfrappe.meta.sort_docfields(frappe.meta.docfield_map[this.doctype])\n\t\t\t);\n\t\t}\n\n\t\treturn fields;\n\t}\n\n\tget_new_name_field() {\n\t\treturn {\n\t\t\tparent: this.frm.doctype,\n\t\t\tfieldtype: \"Data\",\n\t\t\tfieldname: \"__newname\",\n\t\t\treqd: 1,\n\t\t\thidden: 1,\n\t\t\tlabel: __(\"Name\"),\n\t\t\tget_status: function (field) {\n\t\t\t\tif (\n\t\t\t\t\tfield.frm &&\n\t\t\t\t\tfield.frm.is_new() &&\n\t\t\t\t\tfield.frm.meta.autoname &&\n\t\t\t\t\t[\"prompt\", \"name\"].includes(field.frm.meta.autoname.toLowerCase())\n\t\t\t\t) {\n\t\t\t\t\treturn \"Write\";\n\t\t\t\t}\n\t\t\t\treturn \"None\";\n\t\t\t},\n\t\t};\n\t}\n\n\tget_fields_from_layout() {\n\t\tconst fields = [];\n\t\tfor (let f of this.doctype_layout.fields) {\n\t\t\tconst docfield = copy_dict(frappe.meta.docfield_map[this.doctype][f.fieldname]);\n\t\t\tdocfield.label = f.label;\n\t\t\tfields.push(docfield);\n\t\t}\n\t\treturn fields;\n\t}\n\n\t/**Render a message block with its own color and close button\n\t * @param {String} html - message or HTML to be displayed\n\t * @param {String} color - color of the block. One of \"yellow\", \"blue\", \"red\", \"green\" or \"orange\". Defaults to \"blue\".\n\t * @param {Boolean} permanent - if true, the block will not have a close button\n\t */\n\tshow_message(html, color, permanent = false) {\n\t\tif (!html) {\n\t\t\tthis.message.empty().addClass(\"hidden\");\n\t\t\treturn;\n\t\t}\n\n\t\t// Prepare Block\n\t\tlet $html;\n\t\tif (!frappe.utils.is_html(html)) {\n\t\t\t// wrap in a block if `html` does not contain html tags\n\t\t\t$html = $(\"
      \").text(html);\n\t\t} else {\n\t\t\t$html = $(html);\n\t\t\t$html.addClass(\"form-message border-bottom\");\n\t\t}\n\n\t\t// Add close button to block if not permanent\n\t\tconst close_message = $(`
      ${frappe.utils.icon(\"close\")}
      `);\n\t\tif (!permanent) {\n\t\t\tclose_message.appendTo($html);\n\t\t\tclose_message.on(\"click\", () => $html.remove());\n\t\t}\n\n\t\t// Add block color and append to parent container `form-message-container`\n\t\tconst block_color =\n\t\t\tcolor && [\"yellow\", \"blue\", \"red\", \"green\", \"orange\"].includes(color) ? color : \"blue\";\n\t\t$html.addClass(block_color).appendTo(this.message);\n\n\t\t// Show parent container if hidden\n\t\tthis.message.removeClass(\"hidden\");\n\t}\n\n\trender(new_fields) {\n\t\tlet fields = new_fields || this.fields;\n\n\t\tthis.section = null;\n\t\tthis.column = null;\n\n\t\tif (this.no_opening_section() && !this.is_tabbed_layout()) {\n\t\t\tthis.fields.unshift({ fieldtype: \"Section Break\" });\n\t\t}\n\n\t\tif (this.is_tabbed_layout()) {\n\t\t\t// add a tab without `fieldname` to avoid conflicts\n\t\t\tlet default_tab = {\n\t\t\t\tlabel: __(\"Details\"),\n\t\t\t\tfieldtype: \"Tab Break\",\n\t\t\t\tfieldname: \"__details\",\n\t\t\t};\n\n\t\t\tlet first_field_visible = this.fields.find((element) => element.hidden == false);\n\t\t\tlet first_tab =\n\t\t\t\tfirst_field_visible?.fieldtype === \"Tab Break\" ? first_field_visible : null;\n\n\t\t\tif (!first_tab) {\n\t\t\t\tthis.fields.splice(0, 0, default_tab);\n\t\t\t} else {\n\t\t\t\t// reshuffle __newname field to accomodate under 1st Tab Break\n\t\t\t\tlet newname_field = this.fields.find((df) => df.fieldname === \"__newname\");\n\t\t\t\tif (newname_field && newname_field.get_status(this) === \"Write\") {\n\t\t\t\t\tthis.fields.splice(0, 1);\n\t\t\t\t\tthis.fields.splice(1, 0, newname_field);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfields.forEach((df) => {\n\t\t\tswitch (df.fieldtype) {\n\t\t\t\tcase \"Fold\":\n\t\t\t\t\tthis.make_page(df);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Page Break\":\n\t\t\t\t\tthis.make_page_break();\n\t\t\t\t\tthis.make_section(df);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Section Break\":\n\t\t\t\t\tthis.make_section(df);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Column Break\":\n\t\t\t\t\tthis.make_column(df);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"Tab Break\":\n\t\t\t\t\tthis.make_tab(df);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.make_field(df);\n\t\t\t}\n\t\t});\n\t}\n\n\tno_opening_section() {\n\t\treturn (\n\t\t\t(this.fields[0] && this.fields[0].fieldtype != \"Section Break\") || !this.fields.length\n\t\t);\n\t}\n\n\tno_opening_tab() {\n\t\treturn (this.fields[1] && this.fields[1].fieldtype != \"Tab Break\") || !this.fields.length;\n\t}\n\n\tis_tabbed_layout() {\n\t\treturn this.fields.find((f) => f.fieldtype === \"Tab Break\");\n\t}\n\n\treplace_field(fieldname, df, render) {\n\t\tdf.fieldname = fieldname; // change of fieldname is avoided\n\t\tif (this.fields_dict[fieldname] && this.fields_dict[fieldname].df) {\n\t\t\tconst prev_fieldobj = this.fields_dict[fieldname];\n\t\t\tconst fieldobj = this.init_field(df, prev_fieldobj.parent, render);\n\t\t\tprev_fieldobj.$wrapper.replaceWith(fieldobj.$wrapper);\n\t\t\tconst idx = this.fields_list.findIndex((e) => e == prev_fieldobj);\n\t\t\tthis.fields_list.splice(idx, 1, fieldobj);\n\t\t\tthis.fields_dict[fieldname] = fieldobj;\n\t\t\tthis.sections.forEach((section) => section.replace_field(fieldname, fieldobj));\n\t\t\tprev_fieldobj.tab?.replace_field(fieldobj);\n\t\t\tthis.refresh_fields([df]);\n\t\t}\n\t}\n\n\tmake_field(df, colspan, render) {\n\t\t!this.section && this.make_section();\n\t\t!this.column && this.make_column();\n\n\t\tconst parent = this.column.form.get(0);\n\t\tconst fieldobj = this.init_field(df, parent, render);\n\n\t\t// An invalid control name will return in a null fieldobj\n\t\tif (!fieldobj) return;\n\n\t\tthis.fields_list.push(fieldobj);\n\t\tthis.fields_dict[df.fieldname] = fieldobj;\n\n\t\tthis.section.add_field(fieldobj);\n\t\tthis.column.add_field(fieldobj);\n\n\t\tif (this.current_tab) {\n\t\t\tthis.current_tab.add_field(fieldobj);\n\t\t}\n\t}\n\n\tinit_field(df, parent, render = false) {\n\t\tconst fieldobj = frappe.ui.form.make_control({\n\t\t\tdf: df,\n\t\t\tdoctype: this.doctype,\n\t\t\tparent: parent,\n\t\t\tfrm: this.frm,\n\t\t\trender_input: render,\n\t\t\tdoc: this.doc,\n\t\t\tlayout: this,\n\t\t});\n\n\t\t// make_control can return null for invalid control names\n\t\tif (fieldobj) {\n\t\t\tfieldobj.layout = this;\n\t\t}\n\n\t\treturn fieldobj;\n\t}\n\n\tmake_page_break() {\n\t\tthis.page = $('
      ').appendTo(this.wrapper);\n\t}\n\n\tmake_page(df) {\n\t\tlet me = this;\n\t\tlet head = $(`\n\t\t\t\n\t\t`).appendTo(this.wrapper);\n\n\t\tthis.page = $('
      ').appendTo(this.wrapper);\n\n\t\tthis.fold_btn = head.find(\".btn-fold\").on(\"click\", function () {\n\t\t\tlet page = $(this).parent().next();\n\t\t\tif (page.hasClass(\"hide\")) {\n\t\t\t\t$(this).removeClass(\"btn-fold\").html(__(\"Hide details\"));\n\t\t\t\tpage.removeClass(\"hide\");\n\t\t\t\tfrappe.utils.scroll_to($(this), true, 30);\n\t\t\t\tme.folded = false;\n\t\t\t} else {\n\t\t\t\t$(this).addClass(\"btn-fold\").html(__(\"Show more details\"));\n\t\t\t\tpage.addClass(\"hide\");\n\t\t\t\tme.folded = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.section = null;\n\t\tthis.folded = true;\n\t}\n\n\tunfold() {\n\t\tthis.fold_btn.trigger(\"click\");\n\t}\n\n\tmake_section(df = {}) {\n\t\tthis.section_count++;\n\t\tif (!df.fieldname) {\n\t\t\tdf.fieldname = `__section_${this.section_count}`;\n\t\t\tdf.fieldtype = \"Section Break\";\n\t\t}\n\n\t\tthis.section = new Section(\n\t\t\tthis.current_tab ? this.current_tab.wrapper : this.page,\n\t\t\tdf,\n\t\t\tthis.card_layout,\n\t\t\tthis\n\t\t);\n\t\tthis.sections.push(this.section);\n\t\tthis.sections_dict[df.fieldname] = this.section;\n\n\t\t// append to layout fields\n\t\tif (df) {\n\t\t\tthis.fields_dict[df.fieldname] = this.section;\n\t\t\tthis.fields_list.push(this.section);\n\t\t}\n\n\t\tthis.column = null;\n\t}\n\n\tmake_column(df = {}) {\n\t\tthis.column_count++;\n\t\tif (!df.fieldname) {\n\t\t\tdf.fieldname = `__column_${this.section_count}`;\n\t\t\tdf.fieldtype = \"Column Break\";\n\t\t}\n\n\t\tthis.column = new Column(this.section, df);\n\t\tif (df && df.fieldname) {\n\t\t\tthis.fields_list.push(this.column);\n\t\t}\n\t}\n\n\tmake_tab(df) {\n\t\tthis.section = null;\n\t\tlet tab = new Tab(this, df, this.frm, this.tab_link_container, this.tabs_content);\n\t\tthis.current_tab = tab;\n\t\tthis.make_section({ fieldtype: \"Section Break\" });\n\t\tthis.tabs.push(tab);\n\t\treturn tab;\n\t}\n\n\trefresh(doc) {\n\t\tif (doc) this.doc = doc;\n\n\t\tif (this.frm) {\n\t\t\tthis.wrapper.find(\".empty-form-alert\").remove();\n\t\t}\n\n\t\t// NOTE this might seem redundant at first, but it needs to be executed when frm.refresh_fields is called\n\t\tthis.attach_doc_and_docfields(true);\n\n\t\tif (this.frm && this.frm.wrapper) {\n\t\t\t$(this.frm.wrapper).trigger(\"refresh-fields\");\n\t\t}\n\n\t\t// dependent fields\n\t\tthis.refresh_dependency();\n\n\t\t// refresh sections\n\t\tthis.refresh_sections();\n\n\t\tif (this.frm) {\n\t\t\t// collapse sections\n\t\t\tthis.refresh_section_collapse();\n\t\t}\n\n\t\tif (document.activeElement) {\n\t\t\tif (document.activeElement.tagName == \"INPUT\" && this.is_numeric_field_active()) {\n\t\t\t\tdocument.activeElement.select();\n\t\t\t}\n\t\t}\n\t}\n\n\tis_numeric_field_active() {\n\t\tconst control = $(document.activeElement).closest(\".frappe-control\");\n\t\tconst fieldtype = (control.data() || {}).fieldtype;\n\t\treturn frappe.model.numeric_fieldtypes.includes(fieldtype);\n\t}\n\n\trefresh_sections() {\n\t\t// hide invisible sections\n\t\tthis.wrapper.find(\".form-section:not(.hide-control)\").each(function () {\n\t\t\tconst section = $(this).removeClass(\"empty-section visible-section\");\n\t\t\tif (section.find(\".frappe-control:not(.hide-control)\").length) {\n\t\t\t\tsection.addClass(\"visible-section\");\n\t\t\t} else if (\n\t\t\t\tsection.parent().hasClass(\"tab-pane\") ||\n\t\t\t\tsection.parent().hasClass(\"form-page\")\n\t\t\t) {\n\t\t\t\t// nothing visible, hide the section\n\t\t\t\tsection.addClass(\"empty-section\");\n\t\t\t}\n\t\t});\n\n\t\t// refresh tabs\n\t\tthis.is_tabbed_layout() && this.refresh_tabs();\n\t}\n\n\trefresh_tabs() {\n\t\tfor (let tab of this.tabs) {\n\t\t\ttab.refresh();\n\t\t}\n\n\t\tconst visible_tabs = this.tabs.filter((tab) => !tab.hidden);\n\t\tif (visible_tabs && visible_tabs.length == 1) {\n\t\t\tvisible_tabs[0].tab_link.toggleClass(\"hide show\");\n\t\t}\n\t\tthis.set_tab_as_active();\n\t}\n\n\tselect_tab(label_or_fieldname) {\n\t\tfor (let tab of this.tabs) {\n\t\t\tif (\n\t\t\t\ttab.label.toLowerCase() === label_or_fieldname.toLowerCase() ||\n\t\t\t\ttab.df.fieldname?.toLowerCase() === label_or_fieldname.toLowerCase()\n\t\t\t) {\n\t\t\t\ttab.set_active();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tset_tab_as_active() {\n\t\t// Set active tab based on hash\n\t\tconst tab_from_hash = window.location.hash.replace(\"#\", \"\");\n\t\tconst tab = this.tabs.find((tab) => tab.df.fieldname === tab_from_hash);\n\t\tif (tab) {\n\t\t\ttab.set_active();\n\t\t\treturn;\n\t\t}\n\n\t\tlet frm_active_tab = this.frm?.get_active_tab?.();\n\t\tif (frm_active_tab) {\n\t\t\tfrm_active_tab.set_active();\n\t\t} else if (this.tabs.length) {\n\t\t\t// set first tab as active when opening for first time, or new doc\n\t\t\tlet first_visible_tab = this.tabs.find((tab) => !tab.is_hidden());\n\t\t\tfirst_visible_tab && first_visible_tab.set_active();\n\t\t}\n\t}\n\n\trefresh_fields(fields) {\n\t\tlet fieldnames = fields.map((field) => {\n\t\t\tif (field.fieldname) return field.fieldname;\n\t\t});\n\n\t\tthis.fields_list.map((fieldobj) => {\n\t\t\tif (fieldnames.includes(fieldobj.df.fieldname)) {\n\t\t\t\tfieldobj.refresh();\n\t\t\t\tif (fieldobj.df[\"default\"]) {\n\t\t\t\t\tfieldobj.set_input(fieldobj.df[\"default\"]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tadd_fields(fields) {\n\t\tthis.render(fields);\n\t\tthis.refresh_fields(fields);\n\t}\n\n\trefresh_section_collapse() {\n\t\tif (!(this.sections && this.sections.length)) return;\n\n\t\tfor (let i = 0; i < this.sections.length; i++) {\n\t\t\tlet section = this.sections[i];\n\t\t\tlet df = section.df;\n\t\t\tif (df && df.collapsible) {\n\t\t\t\tlet collapse = true;\n\n\t\t\t\tif (df.collapsible_depends_on) {\n\t\t\t\t\tcollapse = !this.evaluate_depends_on_value(df.collapsible_depends_on);\n\t\t\t\t}\n\n\t\t\t\tif (collapse && section.has_missing_mandatory()) {\n\t\t\t\t\tcollapse = false;\n\t\t\t\t}\n\n\t\t\t\tsection.collapse(collapse);\n\t\t\t}\n\t\t}\n\t}\n\n\tattach_doc_and_docfields(refresh) {\n\t\tlet me = this;\n\t\tfor (let i = 0, l = this.fields_list.length; i < l; i++) {\n\t\t\tlet fieldobj = this.fields_list[i];\n\t\t\tif (me.doc) {\n\t\t\t\tfieldobj.doc = me.doc;\n\t\t\t\tfieldobj.doctype = me.doc.doctype;\n\t\t\t\tfieldobj.docname = me.doc.name;\n\t\t\t\tfieldobj.df =\n\t\t\t\t\tfrappe.meta.get_docfield(me.doc.doctype, fieldobj.df.fieldname, me.doc.name) ||\n\t\t\t\t\tfieldobj.df;\n\t\t\t}\n\t\t\trefresh && fieldobj.df && fieldobj.refresh && fieldobj.refresh();\n\t\t}\n\t}\n\n\trefresh_section_count() {\n\t\tthis.wrapper.find(\".section-count-label:visible\").each(function (i) {\n\t\t\t$(this).html(i + 1);\n\t\t});\n\t}\n\n\tsetup_events() {\n\t\tlet last_scroll = 0;\n\t\tlet tabs_list = $(\".form-tabs-list\");\n\t\tlet tabs_content = this.tabs_content[0];\n\t\tif (!tabs_list.length) return;\n\n\t\t$(\".main-section\").scroll(\n\t\t\tfrappe.utils.throttle(() => {\n\t\t\t\tlet current_scroll = document.documentElement.scrollTop;\n\t\t\t\tif (current_scroll > 0 && last_scroll <= current_scroll) {\n\t\t\t\t\ttabs_list.removeClass(\"form-tabs-sticky-down\");\n\t\t\t\t\ttabs_list.addClass(\"form-tabs-sticky-up\");\n\t\t\t\t} else {\n\t\t\t\t\ttabs_list.removeClass(\"form-tabs-sticky-up\");\n\t\t\t\t\ttabs_list.addClass(\"form-tabs-sticky-down\");\n\t\t\t\t}\n\t\t\t\tlast_scroll = current_scroll;\n\t\t\t}, 500)\n\t\t);\n\n\t\tthis.tab_link_container.off(\"click\").on(\"click\", \".nav-link\", (e) => {\n\t\t\te.preventDefault();\n\t\t\te.stopImmediatePropagation();\n\t\t\t$(e.currentTarget).tab(\"show\");\n\t\t\tif (tabs_content.getBoundingClientRect().top < 100) {\n\t\t\t\ttabs_content.scrollIntoView();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t$(\".page-head\").css(\"top\", \"-15px\");\n\t\t\t\t\t$(\".form-tabs-list\").removeClass(\"form-tabs-sticky-down\");\n\t\t\t\t\t$(\".form-tabs-list\").addClass(\"form-tabs-sticky-up\");\n\t\t\t\t}, 3);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetup_tab_events() {\n\t\tthis.wrapper.on(\"keydown\", (ev) => {\n\t\t\tif (ev.which == 9) {\n\t\t\t\tlet current = $(ev.target);\n\t\t\t\tlet doctype = current.attr(\"data-doctype\");\n\t\t\t\tlet fieldname = current.attr(\"data-fieldname\");\n\t\t\t\tif (doctype) {\n\t\t\t\t\treturn this.handle_tab(doctype, fieldname, ev.shiftKey);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tsetup_tooltip_events() {\n\t\t$(document).on(\"keydown\", (e) => {\n\t\t\tif (e.altKey) {\n\t\t\t\tthis.wrapper.addClass(\"show-tooltip\");\n\t\t\t}\n\t\t});\n\t\t$(document).on(\"keyup\", (e) => {\n\t\t\tif (!e.altKey) {\n\t\t\t\tthis.wrapper.removeClass(\"show-tooltip\");\n\t\t\t}\n\t\t});\n\t\tthis.frm.page &&\n\t\t\tfrappe.ui.keys.add_shortcut({\n\t\t\t\tshortcut: \"alt+hover\",\n\t\t\t\tpage: this.frm.page,\n\t\t\t\tdescription: __(\"Show Fieldname (click to copy on clipboard)\"),\n\t\t\t});\n\t}\n\n\thandle_tab(doctype, fieldname, shift) {\n\t\tlet grid_row = null,\n\t\t\tprev = null,\n\t\t\tfields = this.fields_list,\n\t\t\tfocused = false;\n\n\t\t// in grid\n\t\tif (doctype != this.doctype) {\n\t\t\tgrid_row = this.get_open_grid_row();\n\t\t\tif (!grid_row || !grid_row.layout) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfields = grid_row.layout.fields_list;\n\t\t}\n\n\t\tfor (let i = 0, len = fields.length; i < len; i++) {\n\t\t\tif (fields[i].df.fieldname == fieldname) {\n\t\t\t\tif (shift) {\n\t\t\t\t\tif (prev) {\n\t\t\t\t\t\tthis.set_focus(prev);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$(this.primary_button).focus();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (i < len - 1) {\n\t\t\t\t\tfocused = this.focus_on_next_field(i, fields);\n\t\t\t\t}\n\n\t\t\t\tif (focused) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (this.is_visible(fields[i])) prev = fields[i];\n\t\t}\n\n\t\tif (!focused) {\n\t\t\t// last field in this group\n\t\t\tif (grid_row) {\n\t\t\t\t// in grid\n\t\t\t\tif (grid_row.doc.idx == grid_row.grid.grid_rows.length) {\n\t\t\t\t\t// last row, close it and find next field\n\t\t\t\t\tgrid_row.toggle_view(false, function () {\n\t\t\t\t\t\tgrid_row.grid.frm.layout.handle_tab(\n\t\t\t\t\t\t\tgrid_row.grid.df.parent,\n\t\t\t\t\t\t\tgrid_row.grid.df.fieldname\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t// next row\n\t\t\t\t\tgrid_row.grid.grid_rows[grid_row.doc.idx].toggle_view(true);\n\t\t\t\t}\n\t\t\t} else if (!shift) {\n\t\t\t\t// End of tab navigation\n\t\t\t\t$(this.primary_button).focus();\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tfocus_on_next_field(start_idx, fields) {\n\t\t// loop to find next eligible fields\n\t\tfor (let i = start_idx + 1, len = fields.length; i < len; i++) {\n\t\t\tlet field = fields[i];\n\t\t\tif (this.is_visible(field)) {\n\t\t\t\tif (field.df.fieldtype === \"Table\") {\n\t\t\t\t\t// open table grid\n\t\t\t\t\tif (!(field.grid.grid_rows && field.grid.grid_rows.length)) {\n\t\t\t\t\t\t// empty grid, add a new row\n\t\t\t\t\t\tfield.grid.add_new_row();\n\t\t\t\t\t}\n\t\t\t\t\t// show grid row (if exists)\n\t\t\t\t\tfield.grid.grid_rows[0].show_form();\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (\n\t\t\t\t\tfield.df.fieldtype === \"Table MultiSelect\" ||\n\t\t\t\t\t!frappe.model.no_value_type.includes(field.df.fieldtype)\n\t\t\t\t) {\n\t\t\t\t\tthis.set_focus(field);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tis_visible(field) {\n\t\treturn (\n\t\t\tfield.disp_status === \"Write\" && field.df && \"hidden\" in field.df && !field.df.hidden\n\t\t);\n\t}\n\n\tset_focus(field) {\n\t\tif (field.tab) {\n\t\t\tfield.tab.set_active();\n\t\t}\n\t\t// next is table, show the table\n\t\tif (field.df.fieldtype == \"Table\") {\n\t\t\tif (!field.grid.grid_rows.length) {\n\t\t\t\tfield.grid.add_new_row(1);\n\t\t\t} else {\n\t\t\t\tfield.grid.grid_rows[0].toggle_view(true);\n\t\t\t}\n\t\t} else if (field.editor) {\n\t\t\tfield.editor.set_focus();\n\t\t} else if (field.$input) {\n\t\t\tfield.$input.focus();\n\t\t}\n\t}\n\n\tget_open_grid_row() {\n\t\treturn $(\".grid-row-open\").data(\"grid_row\");\n\t}\n\n\trefresh_dependency() {\n\t\t/**\n\t\t\tResolve \"depends_on\" and show / hide accordingly\n\t\t\tbuild dependants' dictionary\n\t\t*/\n\n\t\tlet has_dep = false;\n\n\t\tconst fields = this.fields_list.concat(this.tabs);\n\n\t\tfor (let fkey in fields) {\n\t\t\tlet f = fields[fkey];\n\t\t\tif (f.df.depends_on || f.df.mandatory_depends_on || f.df.read_only_depends_on) {\n\t\t\t\thas_dep = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (!has_dep) return;\n\n\t\t// show / hide based on values\n\t\tfor (let i = fields.length - 1; i >= 0; i--) {\n\t\t\tlet f = fields[i];\n\t\t\tf.guardian_has_value = true;\n\t\t\tif (f.df.depends_on) {\n\t\t\t\t// evaluate guardian\n\n\t\t\t\tf.guardian_has_value = this.evaluate_depends_on_value(f.df.depends_on);\n\n\t\t\t\t// show / hide\n\t\t\t\tif (f.guardian_has_value) {\n\t\t\t\t\tif (f.df.hidden_due_to_dependency) {\n\t\t\t\t\t\tf.df.hidden_due_to_dependency = false;\n\t\t\t\t\t\tf.refresh();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (!f.df.hidden_due_to_dependency) {\n\t\t\t\t\t\tf.df.hidden_due_to_dependency = true;\n\t\t\t\t\t\tf.refresh();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (f.df.mandatory_depends_on) {\n\t\t\t\tthis.set_dependant_property(f.df.mandatory_depends_on, f.df.fieldname, \"reqd\");\n\t\t\t}\n\n\t\t\tif (f.df.read_only_depends_on) {\n\t\t\t\tthis.set_dependant_property(\n\t\t\t\t\tf.df.read_only_depends_on,\n\t\t\t\t\tf.df.fieldname,\n\t\t\t\t\t\"read_only\"\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tthis.refresh_section_count();\n\t}\n\n\tset_dependant_property(condition, fieldname, property) {\n\t\tlet set_property = this.evaluate_depends_on_value(condition);\n\t\tlet value = set_property ? 1 : 0;\n\t\tlet form_obj;\n\n\t\tif (this.frm) {\n\t\t\tform_obj = this.frm;\n\t\t} else if (this.is_dialog || this.doctype === \"Web Form\") {\n\t\t\tform_obj = this;\n\t\t}\n\t\tif (form_obj) {\n\t\t\tif (this.doc && this.doc.parent && this.doc.parentfield) {\n\t\t\t\tform_obj.setting_dependency = true;\n\t\t\t\tform_obj.set_df_property(\n\t\t\t\t\tthis.doc.parentfield,\n\t\t\t\t\tproperty,\n\t\t\t\t\tvalue,\n\t\t\t\t\tthis.doc.parent,\n\t\t\t\t\tfieldname,\n\t\t\t\t\tthis.doc.name\n\t\t\t\t);\n\t\t\t\tform_obj.setting_dependency = false;\n\t\t\t\t// refresh child fields\n\t\t\t\tthis.fields_dict[fieldname] && this.fields_dict[fieldname].refresh();\n\t\t\t} else {\n\t\t\t\tform_obj.set_df_property(fieldname, property, value);\n\t\t\t}\n\t\t}\n\t}\n\n\tevaluate_depends_on_value(expression) {\n\t\tlet out = null;\n\t\tlet doc = this.doc;\n\n\t\tif (!doc && this.get_values) {\n\t\t\tdoc = this.get_values(true);\n\t\t}\n\n\t\tif (!doc) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet parent = this.frm ? this.frm.doc : this.doc || null;\n\n\t\tif (typeof expression === \"boolean\") {\n\t\t\tout = expression;\n\t\t} else if (typeof expression === \"function\") {\n\t\t\tout = expression(doc);\n\t\t} else if (expression.substr(0, 5) == \"eval:\") {\n\t\t\ttry {\n\t\t\t\tout = frappe.utils.eval(expression.substr(5), { doc, parent });\n\t\t\t\tif (parent && parent.istable && expression.includes(\"is_submittable\")) {\n\t\t\t\t\tout = true;\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tfrappe.throw(__('Invalid \"depends_on\" expression'));\n\t\t\t}\n\t\t} else if (expression.substr(0, 3) == \"fn:\" && this.frm) {\n\t\t\tout = this.frm.script_manager.trigger(\n\t\t\t\texpression.substr(3),\n\t\t\t\tthis.doctype,\n\t\t\t\tthis.docname\n\t\t\t);\n\t\t} else {\n\t\t\tvar value = doc[expression];\n\t\t\tif ($.isArray(value)) {\n\t\t\t\tout = !!value.length;\n\t\t\t} else {\n\t\t\t\tout = !!value;\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n};\n", "import \"../form/layout\";\n\nfrappe.provide(\"frappe.ui\");\n\nfrappe.ui.FieldGroup = class FieldGroup extends frappe.ui.form.Layout {\n\tconstructor(opts) {\n\t\tsuper(opts);\n\t\tthis.dirty = false;\n\t\tthis.fetch_dict = {};\n\n\t\t$.each(this.fields || [], function (i, f) {\n\t\t\tif (!f.fieldname && f.label) {\n\t\t\t\tf.fieldname = f.label.replace(/ /g, \"_\").toLowerCase();\n\t\t\t}\n\t\t});\n\t\tif (this.values) {\n\t\t\tthis.set_values(this.values);\n\t\t}\n\t}\n\n\tmake() {\n\t\tlet me = this;\n\t\tif (this.fields) {\n\t\t\tsuper.make();\n\t\t\tthis.refresh();\n\t\t\t// set default\n\t\t\t$.each(this.fields_list, function (i, field) {\n\t\t\t\tif (field.df[\"default\"]) {\n\t\t\t\t\tlet def_value = field.df[\"default\"];\n\n\t\t\t\t\tif (def_value == \"Today\" && field.df[\"fieldtype\"] == \"Date\") {\n\t\t\t\t\t\tdef_value = frappe.datetime.get_today();\n\t\t\t\t\t}\n\n\t\t\t\t\tfield.set_input(def_value);\n\t\t\t\t\t// if default and has depends_on, render its fields.\n\t\t\t\t\tme.refresh_dependency();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (!this.no_submit_on_enter) {\n\t\t\t\tthis.catch_enter_as_submit();\n\t\t\t}\n\n\t\t\t$(this.wrapper)\n\t\t\t\t.find(\"input, select\")\n\t\t\t\t.on(\"change awesomplete-selectcomplete\", () => {\n\t\t\t\t\tthis.dirty = true;\n\t\t\t\t\tfrappe.run_serially([\n\t\t\t\t\t\t() => frappe.timeout(0.1),\n\t\t\t\t\t\t() => me.refresh_dependency(),\n\t\t\t\t\t]);\n\t\t\t\t});\n\t\t}\n\t}\n\n\tfocus_on_first_input() {\n\t\tif (this.no_focus) return;\n\t\t$.each(this.fields_list, function (i, f) {\n\t\t\tif (![\"Date\", \"Datetime\", \"Time\", \"Check\"].includes(f.df.fieldtype) && f.set_focus) {\n\t\t\t\tf.set_focus();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t}\n\n\tcatch_enter_as_submit() {\n\t\tlet me = this;\n\t\t$(this.body)\n\t\t\t.find('input[type=\"text\"], input[type=\"password\"], select')\n\t\t\t.keypress(function (e) {\n\t\t\t\tif (e.which == 13) {\n\t\t\t\t\tif (me.has_primary_action) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tme.get_primary_btn().trigger(\"click\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tget_input(fieldname) {\n\t\tlet field = this.fields_dict[fieldname];\n\t\tif (!field) return \"\";\n\t\treturn $(field.txt ? field.txt : field.input);\n\t}\n\n\tget_field(fieldname) {\n\t\treturn this.fields_dict[fieldname];\n\t}\n\n\tget_values(ignore_errors, check_invalid) {\n\t\tlet ret = {};\n\t\tlet errors = [];\n\t\tlet invalid = [];\n\n\t\tfor (let key in this.fields_dict) {\n\t\t\tlet f = this.fields_dict[key];\n\t\t\tif (f.get_value) {\n\t\t\t\tlet v = f.get_value();\n\t\t\t\tif (f.df.reqd && is_null(typeof v === \"string\" ? strip_html(v) : v))\n\t\t\t\t\terrors.push(__(f.df.label));\n\n\t\t\t\tif (f.df.reqd && f.df.fieldtype === \"Text Editor\" && is_null(strip_html(cstr(v))))\n\t\t\t\t\terrors.push(__(f.df.label));\n\n\t\t\t\tif (!is_null(v)) ret[f.df.fieldname] = v;\n\t\t\t}\n\n\t\t\tif (this.is_dialog && f.df.reqd && !f.value) {\n\t\t\t\tf.refresh_input();\n\t\t\t}\n\n\t\t\tif (f.df.invalid) {\n\t\t\t\tinvalid.push(__(f.df.label));\n\t\t\t}\n\t\t}\n\n\t\tif (errors.length && !ignore_errors) {\n\t\t\tfrappe.msgprint({\n\t\t\t\ttitle: __(\"Missing Values Required\"),\n\t\t\t\tmessage:\n\t\t\t\t\t__(\"Following fields have missing values:\") +\n\t\t\t\t\t\"

      • \" +\n\t\t\t\t\terrors.join(\"
      • \") +\n\t\t\t\t\t\"
      \",\n\t\t\t\tindicator: \"orange\",\n\t\t\t});\n\t\t\treturn null;\n\t\t}\n\n\t\tif (invalid.length && check_invalid) {\n\t\t\tfrappe.msgprint({\n\t\t\t\ttitle: __(\"Invalid Values\"),\n\t\t\t\tmessage:\n\t\t\t\t\t__(\"Following fields have invalid values:\") +\n\t\t\t\t\t\"

      • \" +\n\t\t\t\t\tinvalid.join(\"
      • \") +\n\t\t\t\t\t\"
      \",\n\t\t\t\tindicator: \"orange\",\n\t\t\t});\n\t\t\treturn null;\n\t\t}\n\t\treturn ret;\n\t}\n\n\tget_value(key) {\n\t\tlet f = this.fields_dict[key];\n\t\treturn f && (f.get_value ? f.get_value() : null);\n\t}\n\n\tset_value(key, val) {\n\t\treturn new Promise((resolve) => {\n\t\t\tlet f = this.fields_dict[key];\n\t\t\tif (f) {\n\t\t\t\tf.set_value(val).then(() => {\n\t\t\t\t\tf.set_input?.(val);\n\t\t\t\t\tthis.refresh_dependency();\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t}\n\n\thas_field(fieldname) {\n\t\treturn !!this.fields_dict[fieldname];\n\t}\n\n\tset_input(key, val) {\n\t\treturn this.set_value(key, val);\n\t}\n\n\tset_values(dict) {\n\t\tlet promises = [];\n\t\tfor (let key in dict) {\n\t\t\tif (this.fields_dict[key]) {\n\t\t\t\tpromises.push(this.set_value(key, dict[key]));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(promises);\n\t}\n\n\tclear() {\n\t\tfor (let key in this.fields_dict) {\n\t\t\tlet f = this.fields_dict[key];\n\t\t\tif (f && f.set_input) {\n\t\t\t\tf.set_input(f.df[\"default\"] || \"\");\n\t\t\t}\n\t\t}\n\t}\n\n\tset_df_property(fieldname, prop, value) {\n\t\tif (!fieldname) {\n\t\t\treturn;\n\t\t}\n\t\tconst field = this.get_field(fieldname);\n\t\tfield.df[prop] = value;\n\t\tfield.refresh();\n\t}\n\n\tset_query(fieldname, opt1, opt2) {\n\t\tif (opt2) {\n\t\t\t// on child table\n\t\t\t// set_query(fieldname, parent fieldname, query)\n\t\t\tif (this.fields_dict[opt1])\n\t\t\t\tthis.fields_dict[opt1].grid.get_field(fieldname).get_query = opt2;\n\t\t} else {\n\t\t\t// on parent table\n\t\t\t// set_query(fieldname, query)\n\t\t\tif (this.fields_dict[fieldname]) {\n\t\t\t\tthis.fields_dict[fieldname].get_query = opt1;\n\t\t\t}\n\t\t}\n\t}\n\n\t// UTILITIES\n\tadd_fetch(link_field, source_field, target_field, target_doctype) {\n\t\t/*\n\t\tExample fetch dict to get sender_email from email_id field in sender:\n\t\t\t{\n\t\t\t\t\"Notification\": {\n\t\t\t\t\t\"sender\": {\n\t\t\t\t\t\t\"sender_email\": \"email_id\"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t*/\n\n\t\tif (!target_doctype) target_doctype = \"*\";\n\n\t\t// Target field kept as key because source field could be non-unique\n\t\tthis.fetch_dict.setDefault(target_doctype, {}).setDefault(link_field, {})[target_field] =\n\t\t\tsource_field;\n\t}\n\n\tis_new() {\n\t\treturn this.doc.__islocal;\n\t}\n};\n", "// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors\n// MIT License. See license.txt\n\nfrappe.ui.form.LinkSelector = class LinkSelector {\n\tconstructor(opts) {\n\t\t/* help: Options: doctype, get_query, target */\n\t\t$.extend(this, opts);\n\n\t\tvar me = this;\n\t\tif (this.doctype != \"[Select]\") {\n\t\t\tfrappe.model.with_doctype(this.doctype, function (r) {\n\t\t\t\tme.make();\n\t\t\t});\n\t\t} else {\n\t\t\tthis.make();\n\t\t}\n\t}\n\tmake() {\n\t\tvar me = this;\n\n\t\tthis.start = 0;\n\t\tthis.page_length = 10;\n\t\tthis.dialog = new frappe.ui.Dialog({\n\t\t\ttitle: __(\"Select {0}\", [this.doctype == \"[Select]\" ? __(\"value\") : __(this.doctype)]),\n\t\t\tfields: [\n\t\t\t\t{\n\t\t\t\t\tfieldtype: \"Data\",\n\t\t\t\t\tfieldname: \"txt\",\n\t\t\t\t\tlabel: __(\"Beginning with\"),\n\t\t\t\t\tdescription: __(\"You can use wildcard %\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldtype: \"HTML\",\n\t\t\t\t\tfieldname: \"results\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tfieldtype: \"Button\",\n\t\t\t\t\tfieldname: \"more\",\n\t\t\t\t\tlabel: __(\"More\"),\n\t\t\t\t\tclick: () => {\n\t\t\t\t\t\tme.start += me.page_length;\n\t\t\t\t\t\tme.search();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tprimary_action_label: __(\"Search\"),\n\t\t\tprimary_action: function () {\n\t\t\t\tme.start = 0;\n\t\t\t\tme.search();\n\t\t\t},\n\t\t});\n\n\t\tif (this.txt) this.dialog.fields_dict.txt.set_input(this.txt);\n\n\t\tthis.dialog.get_input(\"txt\").on(\"keypress\", function (e) {\n\t\t\tif (e.which === 13) {\n\t\t\t\tme.start = 0;\n\t\t\t\tme.search();\n\t\t\t}\n\t\t});\n\t\tthis.dialog.show();\n\t\tthis.search();\n\t}\n\tsearch() {\n\t\tvar args = {\n\t\t\ttxt: this.dialog.fields_dict.txt.get_value(),\n\t\t\tsearchfield: \"name\",\n\t\t\tstart: this.start,\n\t\t\tpage_length: this.page_length,\n\t\t};\n\t\tvar me = this;\n\n\t\tif (this.target.set_custom_query) {\n\t\t\tthis.target.set_custom_query(args);\n\t\t}\n\n\t\t// load custom query from grid\n\t\tif (\n\t\t\tthis.target.is_grid &&\n\t\t\tthis.target.fieldinfo[this.fieldname] &&\n\t\t\tthis.target.fieldinfo[this.fieldname].get_query\n\t\t) {\n\t\t\t$.extend(args, this.target.fieldinfo[this.fieldname].get_query(cur_frm.doc));\n\t\t}\n\n\t\tfrappe.link_search(\n\t\t\tthis.doctype,\n\t\t\targs,\n\t\t\tfunction (results) {\n\t\t\t\tvar parent = me.dialog.fields_dict.results.$wrapper;\n\t\t\t\tif (args.start === 0) {\n\t\t\t\t\tparent.empty();\n\t\t\t\t}\n\n\t\t\t\tif (results.length) {\n\t\t\t\t\tfor (const v of results) {\n\t\t\t\t\t\tvar row = $(\n\t\t\t\t\t\t\trepl(\n\t\t\t\t\t\t\t\t'
      \\\n\t\t\t\t\t\t
      \\\n\t\t\t\t\t\t\t%(name)s
      \\\n\t\t\t\t\t\t
      \\\n\t\t\t\t\t\t\t%(values)s
      \\\n\t\t\t\t\t\t
      ',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tname: v[0],\n\t\t\t\t\t\t\t\t\tvalues: v.splice(1).join(\", \"),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t).appendTo(parent);\n\n\t\t\t\t\t\trow.find(\"a\")\n\t\t\t\t\t\t\t.attr(\"data-value\", v[0])\n\t\t\t\t\t\t\t.click(function () {\n\t\t\t\t\t\t\t\tvar value = $(this).attr(\"data-value\");\n\t\t\t\t\t\t\t\tif (me.target.is_grid) {\n\t\t\t\t\t\t\t\t\t// set in grid\n\t\t\t\t\t\t\t\t\t// call search after value is set to get latest filtered results\n\t\t\t\t\t\t\t\t\tme.set_in_grid(value).then(() => me.search());\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (me.target.doctype)\n\t\t\t\t\t\t\t\t\t\tme.target.parse_validate_and_set_in_model(value);\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tme.target.set_input(value);\n\t\t\t\t\t\t\t\t\t\tme.target.$input.trigger(\"change\");\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tme.dialog.hide();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$(\n\t\t\t\t\t\t'


      ' +\n\t\t\t\t\t\t\t__(\"No Results\") +\n\t\t\t\t\t\t\t\"\" +\n\t\t\t\t\t\t\t(frappe.model.can_create(me.doctype)\n\t\t\t\t\t\t\t\t? '

      ' +\n\t\t\t\t\t\t\t\t __(\"Create a new {0}\", [__(me.doctype)]) +\n\t\t\t\t\t\t\t\t \"\"\n\t\t\t\t\t\t\t\t: \"\") +\n\t\t\t\t\t\t\t\"

      \"\n\t\t\t\t\t)\n\t\t\t\t\t\t.appendTo(parent)\n\t\t\t\t\t\t.find(\".new-doc\")\n\t\t\t\t\t\t.click(function () {\n\t\t\t\t\t\t\tfrappe.new_doc(me.doctype);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tvar more_btn = me.dialog.fields_dict.more.$wrapper;\n\t\t\t\tif (results.length < me.page_length) {\n\t\t\t\t\tmore_btn.hide();\n\t\t\t\t} else {\n\t\t\t\t\tmore_btn.show();\n\t\t\t\t}\n\t\t\t},\n\t\t\tthis.dialog.get_primary_btn()\n\t\t);\n\t}\n\tset_in_grid(value) {\n\t\treturn new Promise((resolve) => {\n\t\t\tif (this.qty_fieldname) {\n\t\t\t\tfrappe.prompt(\n\t\t\t\t\t{\n\t\t\t\t\t\tfieldname: \"qty\",\n\t\t\t\t\t\tfieldtype: \"Float\",\n\t\t\t\t\t\tlabel: \"Qty\",\n\t\t\t\t\t\tdefault: 1,\n\t\t\t\t\t\treqd: 1,\n\t\t\t\t\t},\n\t\t\t\t\t(data) => {\n\t\t\t\t\t\tlet updated = (this.target.frm.doc[this.target.df.fieldname] || []).some(\n\t\t\t\t\t\t\t(d) => {\n\t\t\t\t\t\t\t\tif (d[this.fieldname] === value) {\n\t\t\t\t\t\t\t\t\tfrappe.model\n\t\t\t\t\t\t\t\t\t\t.set_value(d.doctype, d.name, this.qty_fieldname, data.qty)\n\t\t\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\t\t\tfrappe.show_alert(\n\t\t\t\t\t\t\t\t\t\t\t\t__(\"Added {0} ({1})\", [\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t\t\t\td[this.qty_fieldname],\n\t\t\t\t\t\t\t\t\t\t\t\t])\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (!updated) {\n\t\t\t\t\t\t\tlet d = null;\n\t\t\t\t\t\t\tfrappe.run_serially([\n\t\t\t\t\t\t\t\t() => (d = this.target.add_new_row()),\n\t\t\t\t\t\t\t\t() => frappe.timeout(0.1),\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tlet args = {};\n\t\t\t\t\t\t\t\t\targs[this.fieldname] = value;\n\t\t\t\t\t\t\t\t\targs[this.qty_fieldname] = data.qty;\n\t\t\t\t\t\t\t\t\treturn frappe.model.set_value(d.doctype, d.name, args);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t() => frappe.show_alert(__(\"Added {0} ({1})\", [value, data.qty])),\n\t\t\t\t\t\t\t\t() => resolve(),\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t__(\"Set Quantity\"),\n\t\t\t\t\t__(\"Set Quantity\")\n\t\t\t\t);\n\t\t\t} else if (this.dynamic_link_field) {\n\t\t\t\tlet d = this.target.add_new_row();\n\t\t\t\tfrappe.model.set_value(\n\t\t\t\t\td.doctype,\n\t\t\t\t\td.name,\n\t\t\t\t\tthis.dynamic_link_field,\n\t\t\t\t\tthis.dynamic_link_reference\n\t\t\t\t);\n\t\t\t\tfrappe.model.set_value(d.doctype, d.name, this.fieldname, value).then(() => {\n\t\t\t\t\tfrappe.show_alert(__(\"{0} {1} added\", [this.dynamic_link_reference, value]));\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlet d = this.target.add_new_row();\n\t\t\t\tfrappe.model.set_value(d.doctype, d.name, this.fieldname, value).then(() => {\n\t\t\t\t\tfrappe.show_alert(__(\"{0} added\", [value]));\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\n\nfrappe.link_search = function (doctype, args, callback, btn) {\n\tif (!args) {\n\t\targs = {\n\t\t\ttxt: \"\",\n\t\t};\n\t}\n\targs.doctype = doctype;\n\tif (!args.searchfield) {\n\t\targs.searchfield = \"name\";\n\t}\n\n\tfrappe.call({\n\t\tmethod: \"frappe.desk.search.search_widget\",\n\t\ttype: \"GET\",\n\t\targs: args,\n\t\tcallback: function (r) {\n\t\t\tcallback && callback(r.message);\n\t\t},\n\t\tbtn: btn,\n\t});\n};\n", "frappe.ui.form.MultiSelectDialog = class MultiSelectDialog {\n\tconstructor(opts) {\n\t\t/* Options: doctype, target, setters, get_query, action, add_filters_group, data_fields, primary_action_label, columns */\n\t\tObject.assign(this, opts);\n\t\tthis.for_select = this.doctype == \"[Select]\";\n\t\tif (!this.for_select) {\n\t\t\tfrappe.model.with_doctype(this.doctype, () => this.init());\n\t\t} else {\n\t\t\tthis.init();\n\t\t}\n\t}\n\n\tinit() {\n\t\tthis.page_length = 20;\n\t\tthis.child_page_length = 20;\n\t\tthis.fields = this.get_fields();\n\n\t\tthis.make();\n\n\t\tthis.selected_fields = new Set();\n\t}\n\n\tget_fields() {\n\t\tconst primary_fields = this.get_primary_filters();\n\t\tconst result_fields = this.get_result_fields();\n\t\tconst data_fields = this.get_data_fields();\n\t\tconst child_selection_fields = this.get_child_selection_fields();\n\n\t\treturn [...primary_fields, ...result_fields, ...data_fields, ...child_selection_fields];\n\t}\n\n\tget_result_fields() {\n\t\tconst show_next_page = () => {\n\t\t\tthis.page_length += 20;\n\t\t\tthis.get_results();\n\t\t};\n\t\treturn [\n\t\t\t{\n\t\t\t\tfieldtype: \"HTML\",\n\t\t\t\tfieldname: \"results_area\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tfieldtype: \"Button\",\n\t\t\t\tfieldname: \"more_btn\",\n\t\t\t\tlabel: __(\"More\"),\n\t\t\t\tclick: show_next_page.bind(this),\n\t\t\t},\n\t\t];\n\t}\n\n\tget_data_fields() {\n\t\tif (this.data_fields && this.data_fields.length) {\n\t\t\t// Custom Data Fields\n\t\t\treturn [{ fieldtype: \"Section Break\" }, ...this.data_fields];\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\tget_child_selection_fields() {\n\t\tconst fields = [];\n\t\tif (this.allow_child_item_selection && this.child_fieldname) {\n\t\t\tconst show_more_child_results = () => {\n\t\t\t\tthis.child_page_length += 20;\n\t\t\t\tthis.show_child_results();\n\t\t\t};\n\t\t\tfields.push({ fieldtype: \"HTML\", fieldname: \"child_selection_area\" });\n\t\t\tfields.push({\n\t\t\t\tfieldtype: \"Button\",\n\t\t\t\tfieldname: \"more_child_btn\",\n\t\t\t\thidden: 1,\n\t\t\t\tlabel: __(\"More\"),\n\t\t\t\tclick: show_more_child_results.bind(this),\n\t\t\t});\n\t\t}\n\t\treturn fields;\n\t}\n\n\tmake() {\n\t\tlet title = __(\"Select {0}\", [this.for_select ? __(\"value\") : __(this.doctype)]);\n\n\t\tthis.dialog = new frappe.ui.Dialog({\n\t\t\ttitle: title,\n\t\t\tfields: this.fields,\n\t\t\tsize: this.size,\n\t\t\tprimary_action_label: this.primary_action_label || __(\"Get Items\"),\n\t\t\tsecondary_action_label: __(\"Make {0}\", [__(this.doctype)]),\n\t\t\tprimary_action: () => {\n\t\t\t\tlet filters_data = this.get_custom_filters();\n\t\t\t\tconst data_values = cur_dialog.get_values(); // to pass values of data fields\n\t\t\t\tconst filtered_children = this.get_selected_child_names();\n\t\t\t\tconst selected_documents = [\n\t\t\t\t\t...this.get_checked_values(),\n\t\t\t\t\t...this.get_parent_name_of_selected_children(),\n\t\t\t\t];\n\t\t\t\tthis.action(selected_documents, {\n\t\t\t\t\t...this.args,\n\t\t\t\t\t...data_values,\n\t\t\t\t\t...filters_data,\n\t\t\t\t\tfiltered_children,\n\t\t\t\t});\n\t\t\t},\n\t\t\tsecondary_action: this.make_new_document.bind(this),\n\t\t});\n\n\t\tif (this.add_filters_group) {\n\t\t\tthis.make_filter_area();\n\t\t}\n\n\t\tthis.args = {};\n\n\t\tthis.setup_results();\n\t\tthis.bind_events();\n\t\tthis.get_results();\n\t\tthis.dialog.show();\n\t}\n\n\tmake_new_document(e) {\n\t\t// If user wants to close the modal\n\t\tif (e) {\n\t\t\tthis.set_route_options();\n\t\t\tfrappe.new_doc(this.doctype, true);\n\t\t}\n\t}\n\n\tset_route_options() {\n\t\t// set route options to get pre-filled form fields\n\t\tfrappe.route_options = {};\n\t\tif (Array.isArray(this.setters)) {\n\t\t\tfor (let df of this.setters) {\n\t\t\t\tfrappe.route_options[df.fieldname] =\n\t\t\t\t\tthis.dialog.fields_dict[df.fieldname].get_value() || undefined;\n\t\t\t}\n\t\t} else {\n\t\t\tObject.keys(this.setters).forEach((setter) => {\n\t\t\t\tfrappe.route_options[setter] =\n\t\t\t\t\tthis.dialog.fields_dict[setter].get_value() || undefined;\n\t\t\t});\n\t\t}\n\t}\n\n\tsetup_results() {\n\t\tthis.$parent = $(this.dialog.body);\n\t\tthis.$wrapper = this.dialog.fields_dict.results_area.$wrapper\n\t\t\t.append(`
      `);\n\n\t\tthis.$results = this.$wrapper.find(\".results\");\n\t\tthis.$results.append(this.make_list_row());\n\t}\n\n\tshow_child_results() {\n\t\tthis.get_child_result().then((r) => {\n\t\t\tthis.child_results = r.message || [];\n\t\t\tthis.render_child_datatable();\n\n\t\t\tthis.$wrapper.addClass(\"hidden\");\n\t\t\tthis.$child_wrapper.removeClass(\"hidden\");\n\t\t\tthis.dialog.fields_dict.more_btn.$wrapper.hide();\n\t\t});\n\t}\n\n\tis_child_selection_enabled() {\n\t\treturn this.dialog.fields_dict[\"allow_child_item_selection\"]?.get_value();\n\t}\n\n\ttoggle_child_selection() {\n\t\tif (this.is_child_selection_enabled()) {\n\t\t\tthis.show_child_results();\n\t\t} else {\n\t\t\tthis.child_results = [];\n\t\t\tthis.get_results();\n\t\t\tthis.$wrapper.removeClass(\"hidden\");\n\t\t\tthis.$child_wrapper.addClass(\"hidden\");\n\t\t}\n\t}\n\n\trender_child_datatable() {\n\t\tif (!this.child_datatable) {\n\t\t\tthis.setup_child_datatable();\n\t\t} else {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.child_datatable.rowmanager.checkMap = [];\n\t\t\t\tthis.child_datatable.refresh(this.get_child_datatable_rows());\n\t\t\t\tthis.$child_wrapper.find(\".dt-scrollable\").css(\"height\", \"300px\");\n\t\t\t\tthis.$child_wrapper.find(\".dt-scrollable\").css(\"overflow-y\", \"scroll\");\n\t\t\t}, 500);\n\t\t}\n\t}\n\n\tget_child_datatable_columns() {\n\t\tconst parent = this.doctype;\n\t\treturn [parent, ...this.child_columns].map((d) => ({\n\t\t\tname: frappe.unscrub(d),\n\t\t\teditable: false,\n\t\t}));\n\t}\n\n\tget_child_datatable_rows() {\n\t\tif (this.child_results.length > this.child_page_length) {\n\t\t\tthis.dialog.fields_dict.more_child_btn.toggle(true);\n\t\t} else {\n\t\t\tthis.dialog.fields_dict.more_child_btn.toggle(false);\n\t\t}\n\t\treturn this.child_results\n\t\t\t.slice(0, this.child_page_length)\n\t\t\t.map((d) => Object.values(d).slice(1)); // slice name field\n\t}\n\n\tsetup_child_datatable() {\n\t\tconst header_columns = this.get_child_datatable_columns();\n\t\tconst rows = this.get_child_datatable_rows();\n\t\tthis.$child_wrapper = this.dialog.fields_dict.child_selection_area.$wrapper;\n\t\tthis.$child_wrapper.addClass(\"my-3\");\n\n\t\tthis.child_datatable = new frappe.DataTable(this.$child_wrapper.get(0), {\n\t\t\tcolumns: header_columns,\n\t\t\tdata: rows,\n\t\t\tlayout: \"fluid\",\n\t\t\tinlineFilters: true,\n\t\t\tserialNoColumn: false,\n\t\t\tcheckboxColumn: true,\n\t\t\tcellHeight: 35,\n\t\t\tnoDataMessage: __(\"No Data\"),\n\t\t\tdisableReorderColumn: true,\n\t\t});\n\t\tthis.$child_wrapper.find(\".dt-scrollable\").css(\"height\", \"300px\");\n\t}\n\n\tget_primary_filters() {\n\t\tlet fields = [];\n\n\t\tlet columns = new Array(3);\n\n\t\t// Hack for three column layout\n\t\t// To add column break\n\t\tcolumns[0] = [\n\t\t\t{\n\t\t\t\tfieldtype: \"Data\",\n\t\t\t\tlabel: __(\"Name\"),\n\t\t\t\tfieldname: \"search_term\",\n\t\t\t},\n\t\t];\n\t\tcolumns[1] = [];\n\t\tcolumns[2] = [];\n\n\t\tif ($.isArray(this.setters)) {\n\t\t\tthis.setters.forEach((setter, index) => {\n\t\t\t\tcolumns[(index + 1) % 3].push(setter);\n\t\t\t});\n\t\t} else {\n\t\t\tObject.keys(this.setters).forEach((setter, index) => {\n\t\t\t\tlet df_prop = frappe.meta.docfield_map[this.doctype][setter];\n\n\t\t\t\t// Index + 1 to start filling from index 1\n\t\t\t\t// Since Search is a standrd field already pushed\n\t\t\t\tcolumns[(index + 1) % 3].push({\n\t\t\t\t\tfieldtype: df_prop.fieldtype,\n\t\t\t\t\tlabel: df_prop.label,\n\t\t\t\t\tfieldname: setter,\n\t\t\t\t\toptions: df_prop.options,\n\t\t\t\t\tread_only:\n\t\t\t\t\t\t(this?.read_only_setters && this.read_only_setters.includes(setter)) || 0,\n\t\t\t\t\tdefault: this.setters[setter],\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal\n\t\tif (Object.seal) {\n\t\t\tObject.seal(columns);\n\t\t\t// now a is a fixed-size array with mutable entries\n\t\t}\n\n\t\tif (this.allow_child_item_selection) {\n\t\t\tthis.child_doctype = frappe.meta.get_docfield(\n\t\t\t\tthis.doctype,\n\t\t\t\tthis.child_fieldname\n\t\t\t).options;\n\t\t\tcolumns[0].push({\n\t\t\t\tfieldtype: \"Check\",\n\t\t\t\tlabel: __(\"Select {0}\", [__(this.child_doctype)]),\n\t\t\t\tfieldname: \"allow_child_item_selection\",\n\t\t\t\tonchange: this.toggle_child_selection.bind(this),\n\t\t\t});\n\t\t}\n\n\t\tfields = [\n\t\t\t...columns[0],\n\t\t\t{ fieldtype: \"Column Break\" },\n\t\t\t...columns[1],\n\t\t\t{ fieldtype: \"Column Break\" },\n\t\t\t...columns[2],\n\t\t\t{ fieldtype: \"Section Break\", fieldname: \"primary_filters_sb\" },\n\t\t];\n\n\t\tif (this.add_filters_group) {\n\t\t\tfields.push({\n\t\t\t\tfieldtype: \"HTML\",\n\t\t\t\tfieldname: \"filter_area\",\n\t\t\t});\n\t\t}\n\n\t\treturn fields;\n\t}\n\n\tmake_filter_area() {\n\t\tthis.filter_group = new frappe.ui.FilterGroup({\n\t\t\tparent: this.dialog.get_field(\"filter_area\").$wrapper,\n\t\t\tdoctype: this.doctype,\n\t\t\ton_change: () => {\n\t\t\t\tif (this.is_child_selection_enabled()) {\n\t\t\t\t\tthis.show_child_results();\n\t\t\t\t} else {\n\t\t\t\t\tthis.get_results();\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t\t// 'Apply Filter' breaks since the filers are not in a popover\n\t\t// Hence keeping it hidden\n\t\tthis.filter_group.wrapper.find(\".apply-filters\").hide();\n\t}\n\n\tget_custom_filters() {\n\t\tif (this.add_filters_group && this.filter_group) {\n\t\t\treturn this.filter_group.get_filters().reduce((acc, filter) => {\n\t\t\t\treturn Object.assign(acc, {\n\t\t\t\t\t[filter[1]]: [filter[2], filter[3]],\n\t\t\t\t});\n\t\t\t}, {});\n\t\t} else {\n\t\t\treturn {};\n\t\t}\n\t}\n\n\tbind_events() {\n\t\tlet me = this;\n\n\t\tthis.$results.on(\"click\", \".list-item-container\", function (e) {\n\t\t\tif (!$(e.target).is(\":checkbox\") && !$(e.target).is(\"a\")) {\n\t\t\t\t$(this).find(\":checkbox\").trigger(\"click\");\n\t\t\t}\n\t\t\tlet name = $(this).attr(\"data-item-name\").trim();\n\t\t\tif ($(this).find(\":checkbox\").is(\":checked\")) {\n\t\t\t\tme.selected_fields.add(name);\n\t\t\t} else {\n\t\t\t\tme.selected_fields.delete(name);\n\t\t\t}\n\t\t});\n\n\t\tthis.$results.on(\"click\", \".list-item--head :checkbox\", (e) => {\n\t\t\tlet checked = $(e.target).is(\":checked\");\n\t\t\tthis.$results.find(\".list-item-container .list-row-check\").each(function () {\n\t\t\t\t$(this).prop(\"checked\", checked);\n\t\t\t\tconst name = $(this).closest(\".list-item-container\").attr(\"data-item-name\").trim();\n\t\t\t\tif (checked) {\n\t\t\t\t\tme.selected_fields.add(name);\n\t\t\t\t} else {\n\t\t\t\t\tme.selected_fields.delete(name);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.$parent.find(\".input-with-feedback\").on(\"change\", () => {\n\t\t\tfrappe.flags.auto_scroll = false;\n\t\t\tif (this.is_child_selection_enabled()) {\n\t\t\t\tthis.show_child_results();\n\t\t\t} else {\n\t\t\t\tthis.get_results();\n\t\t\t}\n\t\t});\n\n\t\tthis.$parent.find('[data-fieldtype=\"Data\"]').on(\"input\", () => {\n\t\t\tvar $this = $(this);\n\t\t\tclearTimeout($this.data(\"timeout\"));\n\t\t\t$this.data(\n\t\t\t\t\"timeout\",\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tfrappe.flags.auto_scroll = false;\n\t\t\t\t\tif (me.is_child_selection_enabled()) {\n\t\t\t\t\t\tme.show_child_results();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tme.empty_list();\n\t\t\t\t\t\tme.get_results();\n\t\t\t\t\t}\n\t\t\t\t}, 300)\n\t\t\t);\n\t\t});\n\t}\n\n\tget_parent_name_of_selected_children() {\n\t\tif (!this.child_datatable || !this.child_datatable.datamanager.rows.length) return [];\n\n\t\tlet parent_names = this.child_datatable.rowmanager.checkMap.reduce(\n\t\t\t(parent_names, checked, index) => {\n\t\t\t\tif (checked == 1) {\n\t\t\t\t\tconst parent_name = this.child_results[index].parent;\n\t\t\t\t\tif (!parent_names.includes(parent_name)) {\n\t\t\t\t\t\tparent_names.push(parent_name);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn parent_names;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\n\t\treturn parent_names;\n\t}\n\n\tget_selected_child_names() {\n\t\tif (!this.child_datatable || !this.child_datatable.datamanager.rows.length) return [];\n\n\t\tlet checked_names = this.child_datatable.rowmanager.checkMap.reduce(\n\t\t\t(checked_names, checked, index) => {\n\t\t\t\tif (checked == 1) {\n\t\t\t\t\tconst child_row_name = this.child_results[index].name;\n\t\t\t\t\tchecked_names.push(child_row_name);\n\t\t\t\t}\n\t\t\t\treturn checked_names;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\n\t\treturn checked_names;\n\t}\n\n\tget_checked_values() {\n\t\t// Return name of checked value.\n\t\treturn this.$results\n\t\t\t.find(\".list-item-container\")\n\t\t\t.map(function () {\n\t\t\t\tif ($(this).find(\".list-row-check:checkbox:checked\").length > 0) {\n\t\t\t\t\treturn $(this).attr(\"data-item-name\");\n\t\t\t\t}\n\t\t\t})\n\t\t\t.get();\n\t}\n\n\tget_checked_items() {\n\t\t// Return checked items with all the column values.\n\t\tlet checked_values = this.get_checked_values();\n\t\treturn this.results.filter((res) => checked_values.includes(res.name));\n\t}\n\n\tget_datatable_columns() {\n\t\tif (this.get_query && this.get_query().query && this.columns) return this.columns;\n\n\t\tif (Array.isArray(this.setters))\n\t\t\treturn [\"name\", ...this.setters.map((df) => df.fieldname)];\n\n\t\treturn [\"name\", ...Object.keys(this.setters)];\n\t}\n\n\tmake_list_row(result = {}) {\n\t\tvar me = this;\n\t\t// Make a head row by default (if result not passed)\n\t\tlet head = Object.keys(result).length === 0;\n\n\t\tlet contents = ``;\n\t\tthis.get_datatable_columns().forEach(function (column) {\n\t\t\tcontents += `
      \n\t\t\t\t${\n\t\t\t\t\thead\n\t\t\t\t\t\t? `${__(frappe.model.unscrub(column))}`\n\t\t\t\t\t\t: column !== \"name\"\n\t\t\t\t\t\t? `${__(result[column] || \"\")}`\n\t\t\t\t\t\t: `\n\t\t\t\t\t\t\t${__(result[column] || \"\")}`\n\t\t\t\t}\n\t\t\t
      `;\n\t\t});\n\n\t\tlet $row = $(`
      \n\t\t\t
      \n\t\t\t\t\n\t\t\t
      \n\t\t\t${contents}\n\t\t
      `);\n\n\t\thead\n\t\t\t? $row.addClass(\"list-item--head\")\n\t\t\t: ($row = $(\n\t\t\t\t\t`
      `\n\t\t\t ).append($row));\n\n\t\treturn $row;\n\t}\n\n\trender_result_list(results, more = 0, empty = true) {\n\t\tvar me = this;\n\t\tvar more_btn = me.dialog.fields_dict.more_btn.$wrapper;\n\n\t\t// Make empty result set if filter is set\n\t\tif (!frappe.flags.auto_scroll && empty) {\n\t\t\tthis.empty_list();\n\t\t}\n\t\tmore_btn.hide();\n\t\t$(\".modal-dialog .list-item--head\").css(\"z-index\", 1);\n\n\t\tif (results.length === 0) return;\n\t\tif (more) more_btn.show();\n\n\t\tlet checked = this.get_checked_values();\n\n\t\tresults\n\t\t\t.filter((result) => !checked.includes(result.name))\n\t\t\t.forEach((result) => {\n\t\t\t\tme.$results.append(me.make_list_row(result));\n\t\t\t});\n\n\t\tthis.$results.find(\".list-item--head\").css(\"z-index\", 1);\n\n\t\tif (frappe.flags.auto_scroll) {\n\t\t\tthis.$results.animate({ scrollTop: me.$results.prop(\"scrollHeight\") }, 500);\n\t\t}\n\t}\n\n\tempty_list() {\n\t\t// Store all checked items\n\t\tlet checked = this.results\n\t\t\t.filter((result) => this.selected_fields.has(result.name))\n\t\t\t.map((item) => ({\n\t\t\t\t...item,\n\t\t\t\tchecked: true,\n\t\t\t}));\n\n\t\t// Remove **all** items\n\t\tthis.$results.find(\".list-item-container\").remove();\n\n\t\t// Rerender checked items\n\t\tthis.render_result_list(checked, 0, false);\n\t}\n\n\tget_filters_from_setters() {\n\t\tlet me = this;\n\t\tlet filters = (this.get_query ? this.get_query().filters : {}) || {};\n\t\tlet filter_fields = [];\n\n\t\tif ($.isArray(this.setters)) {\n\t\t\tfor (let df of this.setters) {\n\t\t\t\tfilters[df.fieldname] =\n\t\t\t\t\tme.dialog.fields_dict[df.fieldname].get_value() || undefined;\n\t\t\t\tme.args[df.fieldname] = filters[df.fieldname];\n\t\t\t\tfilter_fields.push(df.fieldname);\n\t\t\t}\n\t\t} else {\n\t\t\tObject.keys(this.setters).forEach(function (setter) {\n\t\t\t\tvar value = me.dialog.fields_dict[setter].get_value();\n\t\t\t\tif (me.dialog.fields_dict[setter].df.fieldtype == \"Data\" && value) {\n\t\t\t\t\tfilters[setter] = [\"like\", \"%\" + value + \"%\"];\n\t\t\t\t} else {\n\t\t\t\t\tfilters[setter] = value || undefined;\n\t\t\t\t\tme.args[setter] = filters[setter];\n\t\t\t\t\tfilter_fields.push(setter);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn [filters, filter_fields];\n\t}\n\n\tget_args_for_search() {\n\t\tlet [filters, filter_fields] = this.get_filters_from_setters();\n\n\t\tlet custom_filters = this.get_custom_filters();\n\t\tObject.assign(filters, custom_filters);\n\n\t\treturn {\n\t\t\tdoctype: this.doctype,\n\t\t\ttxt: this.dialog.fields_dict[\"search_term\"].get_value(),\n\t\t\tfilters: filters,\n\t\t\tfilter_fields: filter_fields,\n\t\t\tpage_length: this.page_length + 5,\n\t\t\tquery: this.get_query ? this.get_query().query : \"\",\n\t\t\tas_dict: 1,\n\t\t};\n\t}\n\n\tasync perform_search(args) {\n\t\tconst res = await frappe.call({\n\t\t\ttype: \"GET\",\n\t\t\tmethod: \"frappe.desk.search.search_widget\",\n\t\t\tno_spinner: true,\n\t\t\targs: args,\n\t\t});\n\t\tconst more = res.message.length && res.message.length > this.page_length ? 1 : 0;\n\n\t\treturn [res.message, more];\n\t}\n\n\tasync get_results() {\n\t\tconst args = this.get_args_for_search();\n\t\tlet [results, more] = await this.perform_search(args);\n\n\t\tif (more) {\n\t\t\tresults = results.splice(0, this.page_length);\n\t\t}\n\n\t\tthis.results = [];\n\t\tif (results.length) {\n\t\t\tresults.forEach((result) => {\n\t\t\t\tresult.checked = 0;\n\t\t\t\tthis.results.push(result);\n\t\t\t});\n\t\t}\n\t\tthis.render_result_list(this.results, more);\n\t}\n\n\tasync get_filtered_parents_for_child_search() {\n\t\tconst parent_search_args = this.get_args_for_search();\n\t\tparent_search_args.filter_fields = [\"name\"];\n\t\tconst [results, _] = await this.perform_search(parent_search_args);\n\n\t\tlet parent_names = [];\n\t\tif (results.length) {\n\t\t\tparent_names = results.map((v) => v.name);\n\t\t}\n\t\treturn parent_names;\n\t}\n\n\tasync add_parent_filters(filters) {\n\t\tconst parent_names = await this.get_filtered_parents_for_child_search();\n\t\tif (parent_names.length) {\n\t\t\tfilters.push([\"parent\", \"in\", parent_names]);\n\t\t}\n\t}\n\n\tadd_custom_child_filters(filters) {\n\t\tif (this.add_filters_group && this.filter_group) {\n\t\t\tthis.filter_group.get_filters().forEach((filter) => {\n\t\t\t\tif (filter[0] == this.child_doctype) {\n\t\t\t\t\tfilters.push([filter[1], filter[2], filter[3]]);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tasync get_child_result() {\n\t\tlet filters = [[\"parentfield\", \"=\", this.child_fieldname]];\n\n\t\tawait this.add_parent_filters(filters);\n\t\tthis.add_custom_child_filters(filters);\n\n\t\treturn frappe.call({\n\t\t\tmethod: \"frappe.client.get_list\",\n\t\t\targs: {\n\t\t\t\tdoctype: this.child_doctype,\n\t\t\t\tfilters: filters,\n\t\t\t\tfields: [\"name\", \"parent\", ...this.child_columns],\n\t\t\t\tparent: this.doctype,\n\t\t\t\tlimit_page_length: this.child_page_length + 5,\n\t\t\t\torder_by: \"parent\",\n\t\t\t},\n\t\t});\n\t}\n};\n", "import \"./field_group\";\nimport \"../dom\";\n\nfrappe.provide(\"frappe.ui\");\n\nwindow.cur_dialog = null;\n\nfrappe.ui.open_dialogs = [];\n\nfrappe.ui.Dialog = class Dialog extends frappe.ui.FieldGroup {\n\tconstructor(opts) {\n\t\tsuper();\n\t\tthis.display = false;\n\t\tthis.is_dialog = true;\n\n\t\t$.extend(this, { animate: true, size: null, auto_make: true }, opts);\n\t\tif (this.auto_make) {\n\t\t\tthis.make();\n\t\t}\n\t}\n\n\tmake() {\n\t\tthis.$wrapper = frappe.get_modal(\"\", \"\");\n\n\t\tif (this.static) {\n\t\t\tthis.$wrapper.modal({\n\t\t\t\tbackdrop: \"static\",\n\t\t\t\tkeyboard: false,\n\t\t\t});\n\t\t\tthis.get_close_btn().hide();\n\t\t}\n\n\t\tif (!this.size) this.set_modal_size();\n\n\t\tthis.wrapper = this.$wrapper.find(\".modal-dialog\").get(0);\n\t\tif (this.size == \"small\") $(this.wrapper).addClass(\"modal-sm\");\n\t\telse if (this.size == \"large\") $(this.wrapper).addClass(\"modal-lg\");\n\t\telse if (this.size == \"extra-large\") $(this.wrapper).addClass(\"modal-xl\");\n\n\t\tthis.make_head();\n\t\tthis.modal_body = this.$wrapper.find(\".modal-body\");\n\t\tthis.$body = $(\"
      \").appendTo(this.modal_body);\n\t\tthis.body = this.$body.get(0);\n\t\tthis.$message = $('
      ').appendTo(this.modal_body);\n\t\tthis.header = this.$wrapper.find(\".modal-header\");\n\t\tthis.footer = this.$wrapper.find(\".modal-footer\");\n\t\tthis.standard_actions = this.footer.find(\".standard-actions\");\n\t\tthis.custom_actions = this.footer.find(\".custom-actions\");\n\t\tthis.set_indicator();\n\n\t\t// make fields (if any)\n\t\tsuper.make();\n\n\t\tthis.refresh_section_collapse();\n\n\t\t// show footer\n\t\tthis.action = this.action || { primary: {}, secondary: {} };\n\t\tif (this.primary_action || (this.action.primary && this.action.primary.onsubmit)) {\n\t\t\tthis.set_primary_action(\n\t\t\t\tthis.primary_action_label ||\n\t\t\t\t\tthis.action.primary.label ||\n\t\t\t\t\t__(\"Submit\", null, \"Primary action in dialog\"),\n\t\t\t\tthis.primary_action || this.action.primary.onsubmit\n\t\t\t);\n\t\t}\n\n\t\tif (this.secondary_action) {\n\t\t\tthis.set_secondary_action(this.secondary_action);\n\t\t}\n\n\t\tif (\n\t\t\tthis.secondary_action_label ||\n\t\t\t(this.action.secondary && this.action.secondary.label)\n\t\t) {\n\t\t\tthis.set_secondary_action_label(\n\t\t\t\tthis.secondary_action_label || this.action.secondary.label\n\t\t\t);\n\t\t}\n\n\t\tif (this.minimizable) {\n\t\t\tthis.header\n\t\t\t\t.find(\".title-section\")\n\t\t\t\t.click(() => this.is_minimized && this.toggle_minimize());\n\t\t\tthis.get_minimize_btn()\n\t\t\t\t.removeClass(\"hide\")\n\t\t\t\t.on(\"click\", () => this.toggle_minimize());\n\t\t}\n\n\t\tvar me = this;\n\t\tthis.$wrapper\n\t\t\t.on(\"hide.bs.modal\", function () {\n\t\t\t\tme.display = false;\n\t\t\t\tme.is_minimized = false;\n\t\t\t\tme.hide_scrollbar(false);\n\t\t\t\t// hide any grid row form if open\n\t\t\t\tfrappe.ui.form.get_open_grid_form?.()?.hide_form();\n\n\t\t\t\tif (frappe.ui.open_dialogs[frappe.ui.open_dialogs.length - 1] === me) {\n\t\t\t\t\tfrappe.ui.open_dialogs.pop();\n\t\t\t\t\tif (frappe.ui.open_dialogs.length) {\n\t\t\t\t\t\twindow.cur_dialog =\n\t\t\t\t\t\t\tfrappe.ui.open_dialogs[frappe.ui.open_dialogs.length - 1];\n\t\t\t\t\t} else {\n\t\t\t\t\t\twindow.cur_dialog = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tme.onhide && me.onhide();\n\t\t\t\tme.on_hide && me.on_hide();\n\t\t\t})\n\t\t\t.on(\"shown.bs.modal\", function () {\n\t\t\t\t// focus on first input\n\t\t\t\tme.display = true;\n\t\t\t\twindow.cur_dialog = me;\n\t\t\t\tfrappe.ui.open_dialogs.push(me);\n\t\t\t\tme.focus_on_first_input();\n\t\t\t\tme.hide_scrollbar(true);\n\t\t\t\tme.on_page_show && me.on_page_show();\n\t\t\t\t$(document).trigger(\"frappe.ui.Dialog:shown\");\n\t\t\t\t$(document).off(\"focusin.modal\");\n\t\t\t})\n\t\t\t.on(\"scroll\", function () {\n\t\t\t\tvar $input = $(\"input:focus\");\n\t\t\t\tif (\n\t\t\t\t\t$input.length &&\n\t\t\t\t\t[\"Date\", \"Datetime\", \"Time\"].includes($input.attr(\"data-fieldtype\"))\n\t\t\t\t) {\n\t\t\t\t\t$input.blur();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tset_modal_size() {\n\t\tif (!this.fields) {\n\t\t\tthis.size = \"\";\n\t\t\treturn;\n\t\t}\n\n\t\tlet col_brk = 0;\n\t\tlet cur_col_brk = 0;\n\n\t\t// if fields have more than 2 Column Breaks before encountering Section Break, make it large\n\t\tthis.fields.forEach((field) => {\n\t\t\tif (field.fieldtype == \"Column Break\") {\n\t\t\t\tcur_col_brk++;\n\n\t\t\t\tif (cur_col_brk > col_brk) {\n\t\t\t\t\tcol_brk = cur_col_brk;\n\t\t\t\t}\n\t\t\t} else if (field.fieldtype == \"Section Break\") {\n\t\t\t\tcur_col_brk = 0;\n\t\t\t}\n\t\t});\n\n\t\tthis.size = col_brk >= 4 ? \"extra-large\" : col_brk >= 2 ? \"large\" : \"\";\n\t}\n\n\tget_primary_btn() {\n\t\treturn this.standard_actions.find(\".btn-primary\");\n\t}\n\n\tget_minimize_btn() {\n\t\treturn this.$wrapper.find(\".modal-header .btn-modal-minimize\");\n\t}\n\n\tset_alert(text, alert_class = \"info\") {\n\t\tthis.clear_alert();\n\t\tthis.$alert = $(`
      ${text}
      `).prependTo(\n\t\t\tthis.body\n\t\t);\n\t\tthis.$message.text(text);\n\t}\n\n\tclear_alert() {\n\t\tif (this.$alert) {\n\t\t\tthis.$alert.remove();\n\t\t}\n\t}\n\n\tset_message(text) {\n\t\tthis.$message.removeClass(\"hide\");\n\t\tthis.$body.addClass(\"hide\");\n\t\tthis.$message.text(text);\n\t}\n\n\tclear_message() {\n\t\tthis.$message.addClass(\"hide\");\n\t\tthis.$body.removeClass(\"hide\");\n\t}\n\n\tclear() {\n\t\tsuper.clear();\n\t\tthis.clear_message();\n\t}\n\n\tset_primary_action(label, click) {\n\t\tthis.footer.removeClass(\"hide\");\n\t\tthis.has_primary_action = true;\n\t\tvar me = this;\n\t\tconst primary_btn = this.get_primary_btn().removeClass(\"hide\").html(label);\n\t\tif (typeof click == \"function\") {\n\t\t\tprimary_btn.off(\"click\").on(\"click\", function () {\n\t\t\t\tme.primary_action_fulfilled = true;\n\t\t\t\t// get values and send it\n\t\t\t\t// as first parameter to click callback\n\t\t\t\t// if no values then return\n\t\t\t\tvar values = me.get_values();\n\t\t\t\tif (!values) return;\n\t\t\t\tclick && click.apply(me, [values]);\n\t\t\t});\n\t\t}\n\t\treturn primary_btn;\n\t}\n\n\tset_secondary_action(click) {\n\t\tthis.footer.removeClass(\"hide\");\n\t\treturn this.get_secondary_btn().removeClass(\"hide\").off(\"click\").on(\"click\", click);\n\t}\n\n\tset_secondary_action_label(label) {\n\t\tthis.get_secondary_btn().removeClass(\"hide\").html(label);\n\t}\n\n\tdisable_primary_action() {\n\t\tthis.get_primary_btn().addClass(\"disabled\");\n\t}\n\n\tenable_primary_action() {\n\t\tthis.get_primary_btn().removeClass(\"disabled\");\n\t}\n\n\tmake_head() {\n\t\tthis.set_title(this.title);\n\t}\n\n\tset_title(t) {\n\t\tthis.$wrapper.find(\".modal-title\").html(t);\n\t}\n\n\tset_indicator() {\n\t\tif (this.indicator) {\n\t\t\tthis.header\n\t\t\t\t.find(\".indicator\")\n\t\t\t\t.removeClass()\n\t\t\t\t.addClass(\"indicator \" + this.indicator);\n\t\t}\n\t}\n\n\tshow() {\n\t\t// show it\n\t\tif (this.animate) {\n\t\t\tthis.$wrapper.addClass(\"fade\");\n\t\t} else {\n\t\t\tthis.$wrapper.removeClass(\"fade\");\n\t\t}\n\t\tthis.$wrapper.modal(\"show\");\n\n\t\tthis.$wrapper.removeClass(\"modal-minimize\");\n\n\t\tif (this.minimizable && this.is_minimized) {\n\t\t\t$(\".modal-backdrop\").toggle();\n\t\t\tthis.is_minimized = false;\n\t\t}\n\n\t\t// clear any message\n\t\tthis.clear_message();\n\n\t\tthis.primary_action_fulfilled = false;\n\t\tthis.is_visible = true;\n\t\treturn this;\n\t}\n\n\thide() {\n\t\tthis.$wrapper.modal(\"hide\");\n\t\tthis.is_visible = false;\n\t}\n\n\tget_close_btn() {\n\t\treturn this.$wrapper.find(\".btn-modal-close\");\n\t}\n\n\tget_secondary_btn() {\n\t\treturn this.standard_actions.find(\".btn-modal-secondary\");\n\t}\n\n\tno_cancel() {\n\t\tthis.get_close_btn().toggle(false);\n\t}\n\n\tcancel() {\n\t\tthis.get_close_btn().trigger(\"click\");\n\t}\n\n\ttoggle_minimize() {\n\t\t$(\".modal-backdrop\").toggle();\n\t\tlet modal = this.$wrapper.closest(\".modal\").toggleClass(\"modal-minimize\");\n\t\tmodal.attr(\"tabindex\") ? modal.removeAttr(\"tabindex\") : modal.attr(\"tabindex\", -1);\n\t\tthis.is_minimized = !this.is_minimized;\n\t\tconst icon = this.is_minimized ? \"expand\" : \"collapse\";\n\t\tthis.get_minimize_btn().html(frappe.utils.icon(icon));\n\t\tthis.on_minimize_toggle && this.on_minimize_toggle(this.is_minimized);\n\t\tthis.header.find(\".modal-title\").toggleClass(\"cursor-pointer\");\n\t\tthis.hide_scrollbar(!this.is_minimized);\n\t}\n\n\thide_scrollbar(bool) {\n\t\t$(\"body\").css(\"overflow\", bool ? \"hidden\" : \"auto\");\n\t}\n\n\tadd_custom_action(label, action, css_class = null) {\n\t\tthis.footer.removeClass(\"hide\");\n\t\tlet action_button = $(`\n\t\t\t\n\t\t`);\n\t\tthis.custom_actions.append(action_button);\n\n\t\taction && action_button.click(action);\n\t}\n\n\tadd_custom_button() {}\n};\n\nfrappe.ui.hide_open_dialog = () => {\n\t// hide open dialog\n\tif (window.cur_dialog) {\n\t\tif (!cur_dialog.minimizable) {\n\t\t\tcur_dialog.hide();\n\t\t} else if (!cur_dialog.is_minimized) {\n\t\t\tcur_dialog.toggle_minimize();\n\t\t}\n\t}\n};\n", "// This file is used to make sure that `moment` is bound to the window\n// before the bundle finishes loading, due to imports (datetime.js) in the bundle\n// that depend on `moment`.\nimport momentTimezone from \"moment-timezone/builds/moment-timezone-with-data-10-year-range.min.js\";\nwindow.moment = momentTimezone;\n", "frappe.provide(\"frappe.ui.keys\");\n\nlet shortcut_groups = new WeakMap();\nlet shortcut_group_list = [];\nfrappe.ui.keys.shortcut_groups = shortcut_groups;\n\nfrappe.ui.keys.get_shortcut_group = (parent) => {\n\t// parent must be an object\n\tif (!shortcut_groups.has(parent)) {\n\t\tshortcut_groups.set(parent, new frappe.ui.keys.AltShortcutGroup());\n\t}\n\treturn shortcut_groups.get(parent);\n};\n\nlet listener_added = false;\nlet $current_dropdown = null;\nlet $body = $(document.body);\n\nfrappe.ui.keys.bind_shortcut_group_event = () => {\n\tif (listener_added) return;\n\tlistener_added = true;\n\n\tfunction highlight_alt_shortcuts() {\n\t\tif ($current_dropdown) {\n\t\t\t$current_dropdown.addClass(\"alt-pressed\");\n\t\t\t$body.removeClass(\"alt-pressed\");\n\t\t} else {\n\t\t\t$body.addClass(\"alt-pressed\");\n\t\t\t$current_dropdown && $current_dropdown.removeClass(\"alt-pressed\");\n\t\t}\n\t}\n\n\tfunction unhighlight_alt_shortcuts() {\n\t\t$current_dropdown && $current_dropdown.removeClass(\"alt-pressed\");\n\t\t$body.removeClass(\"alt-pressed\");\n\t}\n\n\t$(document).on(\"keydown\", (e) => {\n\t\tlet key = (frappe.ui.keys.key_map[e.which] || \"\").toLowerCase();\n\n\t\tif (key === \"alt\") {\n\t\t\thighlight_alt_shortcuts();\n\t\t}\n\n\t\tif (e.shiftKey || e.ctrlKey || e.metaKey) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (key && e.altKey) {\n\t\t\tlet shortcut = get_shortcut_for_key(key);\n\t\t\tif (shortcut) {\n\t\t\t\te.preventDefault();\n\t\t\t\tshortcut.$target[0].click();\n\t\t\t}\n\t\t\thighlight_alt_shortcuts();\n\t\t}\n\t});\n\t$(document).on(\"keyup\", (e) => {\n\t\tif (e.key === \"Alt\") {\n\t\t\tunhighlight_alt_shortcuts();\n\t\t}\n\t});\n\t$(document).on(\"mousemove\", () => {\n\t\tunhighlight_alt_shortcuts();\n\t});\n};\n\nfunction get_shortcut_for_key(key) {\n\t// Get the shortcut for combination of alt+key\n\t// Priority 1: Open dropdown\n\t// Priority 2: Current Page\n\n\tlet shortcuts = shortcut_group_list\n\t\t.filter((shortcut_group) => key in shortcut_group.shortcuts_dict)\n\t\t.map((shortcut_group) => shortcut_group.shortcuts_dict[key])\n\t\t.filter((shortcut) => shortcut.$target.is(\":visible\"));\n\n\tlet shortcut = null;\n\n\tif ($current_dropdown && $current_dropdown.is(\".open\")) {\n\t\tshortcut = shortcuts.find((shortcut) =>\n\t\t\t$.contains($current_dropdown[0], shortcut.$target[0])\n\t\t);\n\t}\n\n\tif (shortcut) return shortcut;\n\n\tshortcut = shortcuts.find((shortcut) =>\n\t\t$.contains(window.cur_page.page.page.wrapper[0], shortcut.$target[0])\n\t);\n\n\treturn shortcut;\n}\n\nfrappe.ui.keys.AltShortcutGroup = class AltShortcutGroup {\n\tconstructor() {\n\t\tthis.shortcuts_dict = {};\n\t\t$current_dropdown = null;\n\t\tthis.bind_events();\n\t\tfrappe.ui.keys.bind_shortcut_group_event();\n\t\tshortcut_group_list.push(this);\n\t}\n\n\tbind_events() {\n\t\t$(document).on(\"show.bs.dropdown\", (e) => {\n\t\t\t$current_dropdown && $current_dropdown.removeClass(\"alt-pressed\");\n\t\t\tlet $target = $(e.target);\n\t\t\tif ($target.is(\".dropdown, .btn-group\")) {\n\t\t\t\t$current_dropdown = $target;\n\t\t\t}\n\t\t});\n\t\t$(document).on(\"hide.bs.dropdown\", () => {\n\t\t\t$current_dropdown && $current_dropdown.removeClass(\"alt-pressed\");\n\t\t\t$current_dropdown = null;\n\t\t});\n\t}\n\n\tadd($target, $text_el) {\n\t\tif (!$text_el) {\n\t\t\t$text_el = $target;\n\t\t}\n\t\tlet text_content = $text_el.text().trim();\n\t\tlet letters = text_content.split(\"\");\n\t\t// first unused letter\n\t\tlet shortcut_letter = letters.find((letter) => {\n\t\t\tletter = letter.toLowerCase();\n\t\t\tlet is_valid_char = letter >= \"a\" && letter <= \"z\";\n\t\t\treturn !this.is_taken(letter) && is_valid_char;\n\t\t});\n\t\tif (!shortcut_letter) {\n\t\t\t$text_el.attr(\"data-label\", encodeURIComponent(text_content));\n\t\t\treturn;\n\t\t}\n\t\tfor (let key in this.shortcuts_dict) {\n\t\t\tlet shortcut = this.shortcuts_dict[key];\n\t\t\tif (shortcut.text === text_content) {\n\t\t\t\tshortcut.$target = $target;\n\t\t\t\tshortcut.$text_el = $text_el;\n\t\t\t\tthis.underline_text(shortcut);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tlet shortcut = {\n\t\t\t$target,\n\t\t\t$text_el,\n\t\t\tletter: shortcut_letter,\n\t\t\ttext: text_content,\n\t\t};\n\t\tthis.shortcuts_dict[shortcut_letter.toLowerCase()] = shortcut;\n\t\tthis.underline_text(shortcut);\n\t}\n\n\tunderline_text(shortcut) {\n\t\tif (frappe.boot.lang === \"eo\") {\n\t\t\t// The language code \"eo\" is used to trigger the In-Context Translation feature.\n\t\t\t// In this case we don't want shortcuts to rip apart the ID of the translatable text.\n\t\t\treturn;\n\t\t}\n\t\tshortcut.$text_el.attr(\"data-label\", encodeURIComponent(shortcut.text));\n\t\tlet underline_el_found = false;\n\t\tlet text_html = shortcut.text\n\t\t\t.split(\"\")\n\t\t\t.map((letter) => {\n\t\t\t\tif (letter === shortcut.letter && !underline_el_found) {\n\t\t\t\t\tletter = `${letter}`;\n\t\t\t\t\tunderline_el_found = true;\n\t\t\t\t}\n\t\t\t\treturn letter;\n\t\t\t})\n\t\t\t.join(\"\");\n\t\ttext_html = `${text_html}`;\n\t\tlet original_text_html = shortcut.$text_el.html();\n\t\ttext_html = original_text_html.replace(shortcut.text.trim(), text_html.trim());\n\t\tshortcut.$text_el.html(text_html);\n\t}\n\n\tis_taken(letter) {\n\t\tlet is_in_global_shortcut = frappe.ui.keys.standard_shortcuts\n\t\t\t.filter((s) => !s.page)\n\t\t\t.some((s) => s.shortcut === `alt+${letter}`);\n\t\treturn letter in this.shortcuts_dict || is_in_global_shortcut;\n\t}\n};\n", "import \"./alt_keyboard_shortcuts\";\n\nfrappe.provide(\"frappe.ui.keys.handlers\");\n\nfrappe.ui.keys.setup = function () {\n\t$(window).on(\"keydown\", function (e) {\n\t\tvar key = frappe.ui.keys.get_key(e);\n\t\tif (frappe.ui.keys.handlers[key]) {\n\t\t\tvar out = null;\n\t\t\tfor (var i = 0, l = frappe.ui.keys.handlers[key].length; i < l; i++) {\n\t\t\t\tvar handler = frappe.ui.keys.handlers[key][i];\n\t\t\t\tvar _out = handler.apply(this, [e]);\n\t\t\t\tif (_out === false) {\n\t\t\t\t\tout = _out;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn out;\n\t\t}\n\t});\n};\n\nlet standard_shortcuts = [];\nfrappe.ui.keys.standard_shortcuts = standard_shortcuts;\nfrappe.ui.keys.add_shortcut = ({\n\tshortcut,\n\taction,\n\tdescription,\n\tpage,\n\ttarget,\n\tcondition,\n\tignore_inputs = false,\n} = {}) => {\n\tif (target instanceof jQuery) {\n\t\tlet $target = target;\n\t\taction = () => {\n\t\t\t$target[0].click();\n\t\t};\n\t}\n\tif (!condition) {\n\t\tcondition = () => true;\n\t}\n\tlet handler = (e) => {\n\t\tlet $focused_element = $(document.activeElement);\n\t\tlet is_input_focused = $focused_element.is(\n\t\t\t\"input, select, textarea, [contenteditable=true]\"\n\t\t);\n\t\tif (is_input_focused && !ignore_inputs) return;\n\t\tif (!condition()) return;\n\n\t\tif (action && (!page || page.wrapper.is(\":visible\"))) {\n\t\t\tlet prevent_default = action(e);\n\t\t\t// prevent default if true is explicitly returned\n\t\t\t// or nothing returned (undefined)\n\t\t\tif (prevent_default || prevent_default === undefined) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t};\n\t// monkey patch page to handler\n\thandler.page = page;\n\t// remove handler with the same page attached to it\n\tfrappe.ui.keys.off(shortcut, page);\n\t// attach new handler\n\tfrappe.ui.keys.on(shortcut, handler);\n\n\t// update standard shortcut list\n\tlet existing_shortcut_index = standard_shortcuts.findIndex((s) => s.shortcut === shortcut);\n\tlet new_shortcut = { shortcut, action, description, page, condition };\n\tif (existing_shortcut_index === -1) {\n\t\tstandard_shortcuts.push(new_shortcut);\n\t} else {\n\t\tstandard_shortcuts[existing_shortcut_index] = new_shortcut;\n\t}\n};\n\nfrappe.ui.keys.show_keyboard_shortcut_dialog = () => {\n\tif (frappe.ui.keys.is_dialog_shown) return;\n\n\tlet global_shortcuts = standard_shortcuts.filter((shortcut) => !shortcut.page);\n\tlet current_page_shortcuts = standard_shortcuts.filter(\n\t\t(shortcut) => shortcut.page && shortcut.page === window.cur_page.page.page\n\t);\n\n\tlet grid_shortcuts = standard_shortcuts.filter(\n\t\t(shortcut) => shortcut.page && shortcut.page === window.cur_page.page.frm\n\t);\n\n\tfunction generate_shortcuts_html(shortcuts, heading) {\n\t\tif (!shortcuts.length) {\n\t\t\treturn \"\";\n\t\t}\n\t\tlet html = shortcuts\n\t\t\t.filter((s) => (s.condition ? s.condition() : true))\n\t\t\t.filter((s) => !!s.description)\n\t\t\t.map((shortcut) => {\n\t\t\t\tlet shortcut_label = shortcut.shortcut\n\t\t\t\t\t.split(\"+\")\n\t\t\t\t\t.map(frappe.utils.to_title_case)\n\t\t\t\t\t.join(\"+\");\n\t\t\t\tif (frappe.utils.is_mac()) {\n\t\t\t\t\tshortcut_label = shortcut_label.replace(\"Ctrl\", \"\u2318\").replace(\"Alt\", \"\u2325\");\n\t\t\t\t}\n\n\t\t\t\tshortcut_label = shortcut_label.replace(\"Shift\", \"\u21E7\");\n\n\t\t\t\treturn `\n\t\t\t\t\t${shortcut_label}\n\t\t\t\t\t${shortcut.description || \"\"}\n\t\t\t\t`;\n\t\t\t})\n\t\t\t.join(\"\");\n\t\tif (!html) return \"\";\n\n\t\thtml = `
      ${heading}
      \n\t\t\t\n\t\t\t\t${html}\n\t\t\t
      `;\n\t\treturn html;\n\t}\n\n\tlet global_shortcuts_html = generate_shortcuts_html(global_shortcuts, __(\"Global Shortcuts\"));\n\tlet current_page_shortcuts_html = generate_shortcuts_html(\n\t\tcurrent_page_shortcuts,\n\t\t__(\"Page Shortcuts\")\n\t);\n\tlet grid_shortcuts_html = generate_shortcuts_html(grid_shortcuts, __(\"Grid Shortcuts\"));\n\n\tlet dialog = new frappe.ui.Dialog({\n\t\ttitle: __(\"Keyboard Shortcuts\"),\n\t\ton_hide() {\n\t\t\tfrappe.ui.keys.is_dialog_shown = false;\n\t\t},\n\t});\n\n\tdialog.$body.append(global_shortcuts_html);\n\tdialog.$body.append(current_page_shortcuts_html);\n\tdialog.$body.append(grid_shortcuts_html);\n\tdialog.$body.append(`\n\t\t
      \n\t\t\t${__(\"Press Alt Key to trigger additional shortcuts in Menu and Sidebar\")}\n\t\t
      \n\t`);\n\n\tdialog.show();\n\tfrappe.ui.keys.is_dialog_shown = true;\n};\n\nfrappe.ui.keys.get_key = function (e) {\n\tvar keycode = e.keyCode || e.which;\n\tvar key = frappe.ui.keys.key_map[keycode] || String.fromCharCode(keycode);\n\n\tif (e.ctrlKey || e.metaKey) {\n\t\t// add ctrl+ the key\n\t\tkey = \"ctrl+\" + key;\n\t}\n\tif (e.shiftKey) {\n\t\t// add shift+ the key\n\t\tkey = \"shift+\" + key;\n\t}\n\tif (e.altKey) {\n\t\t// add alt+ the key\n\t\tkey = \"alt+\" + key;\n\t}\n\tif (e.altKey && e.ctrlKey) {\n\t\t// add alt+ctrl+ the key or single key e.g f1,f2,etc..\n\t\treturn key.toLowerCase();\n\t}\n\treturn key.toLowerCase();\n};\n\nfrappe.ui.keys.on = function (key, handler) {\n\tif (!frappe.ui.keys.handlers[key]) {\n\t\tfrappe.ui.keys.handlers[key] = [];\n\t}\n\tfrappe.ui.keys.handlers[key].push(handler);\n};\n\nfrappe.ui.keys.off = function (key, page) {\n\tlet handlers = frappe.ui.keys.handlers[key];\n\tif (!handlers || handlers.length === 0) return;\n\tfrappe.ui.keys.handlers[key] = handlers.filter((h) => {\n\t\tif (!page) return false;\n\t\treturn h.page !== page;\n\t});\n};\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"ctrl+s\",\n\taction: function (e) {\n\t\tdocument.activeElement?.blur();\n\t\tfrappe.app.trigger_primary_action();\n\t\te.preventDefault();\n\t\treturn false;\n\t},\n\tdescription: __(\"Trigger Primary Action\"),\n\tignore_inputs: true,\n});\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"ctrl+g\",\n\taction: function (e) {\n\t\t$(\"#navbar-search\").focus();\n\t\te.preventDefault();\n\t\treturn false;\n\t},\n\tdescription: __(\"Open Awesomebar\"),\n});\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"ctrl+k\",\n\taction: function (e) {\n\t\t$(\"#navbar-search\").focus();\n\t\te.preventDefault();\n\t\treturn false;\n\t},\n\tdescription: __(\"Open Awesomebar\"),\n});\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"alt+s\",\n\taction: function (e) {\n\t\te.preventDefault();\n\t\t$(\".dropdown-navbar-user button\").eq(0).click();\n\t},\n\tdescription: __(\"Open Settings\"),\n});\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"shift+/\",\n\taction: function () {\n\t\tfrappe.ui.keys.show_keyboard_shortcut_dialog();\n\t},\n\tdescription: __(\"Show Keyboard Shortcuts\"),\n});\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"alt+h\",\n\taction: function (e) {\n\t\te.preventDefault();\n\t\t$(\".dropdown-help button\").eq(0).click();\n\t},\n\tdescription: __(\"Open Help\"),\n});\n\nfrappe.ui.keys.on(\"escape\", function (e) {\n\thandle_escape_key();\n});\n\nfrappe.ui.keys.on(\"esc\", function (e) {\n\thandle_escape_key();\n});\n\nfrappe.ui.keys.on(\"enter\", function (e) {\n\tif (window.cur_dialog && cur_dialog.confirm_dialog) {\n\t\tcur_dialog.get_primary_btn().trigger(\"click\");\n\t}\n});\n\nfrappe.ui.keys.on(\"ctrl+down\", function (e) {\n\tconst grid_row = frappe.ui.form.get_open_grid_form();\n\tif (grid_row?.has_next()) {\n\t\tgrid_row.toggle_view(false, function () {\n\t\t\tgrid_row.open_next();\n\t\t});\n\t} else {\n\t\te.preventDefault();\n\t}\n});\n\nfrappe.ui.keys.on(\"ctrl+up\", function (e) {\n\tconst grid_row = frappe.ui.form.get_open_grid_form();\n\tif (grid_row?.has_prev()) {\n\t\tgrid_row.toggle_view(false, function () {\n\t\t\tgrid_row.open_prev();\n\t\t});\n\t} else {\n\t\te.preventDefault();\n\t}\n});\n\nfrappe.ui.keys.add_shortcut({\n\tshortcut: \"shift+ctrl+r\",\n\taction: function () {\n\t\tfrappe.ui.toolbar.clear_cache();\n\t},\n\tdescription: __(\"Clear Cache and Reload\"),\n});\n\nfrappe.ui.keys.key_map = {\n\t8: \"backspace\",\n\t9: \"tab\",\n\t13: \"enter\",\n\t16: \"shift\",\n\t17: \"ctrl\",\n\t91: \"meta\",\n\t18: \"alt\",\n\t27: \"escape\",\n\t37: \"left\",\n\t39: \"right\",\n\t38: \"up\",\n\t40: \"down\",\n\t32: \"space\",\n\t112: \"f1\",\n\t113: \"f2\",\n\t114: \"f3\",\n\t115: \"f4\",\n\t116: \"f5\",\n\t191: \"/\",\n\t188: \"<\",\n\t190: \">\",\n};\n\n\"abcdefghijklmnopqrstuvwxyz\".split(\"\").forEach((letter, i) => {\n\tfrappe.ui.keys.key_map[65 + i] = letter;\n});\n\n// keyCode map\nfrappe.ui.keyCode = {\n\tESCAPE: 27,\n\tLEFT: 37,\n\tRIGHT: 39,\n\tUP: 38,\n\tDOWN: 40,\n\tENTER: 13,\n\tTAB: 9,\n\tSPACE: 32,\n\tBACKSPACE: 8,\n};\n\nfunction handle_escape_key() {\n\tclose_grid_and_dialog();\n\tdocument.activeElement?.blur();\n}\n\nfunction close_grid_and_dialog() {\n\t// close open grid row\n\tvar open_row = $(\".grid-row-open\");\n\tif (open_row.length) {\n\t\tvar grid_row = open_row.data(\"grid_row\");\n\t\tgrid_row.toggle_view(false);\n\t\treturn false;\n\t}\n\n\t// close open dialog\n\tif (cur_dialog && !cur_dialog.no_cancel_flag && !cur_dialog.static) {\n\t\tcur_dialog.cancel();\n\t\treturn false;\n\t}\n}\n", "// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors\n// MIT License. See license.txt\n\nfrappe.provide(\"frappe.datetime\");\n\nfrappe.defaultDateFormat = \"YYYY-MM-DD\";\nfrappe.defaultTimeFormat = \"HH:mm:ss\";\nfrappe.defaultDatetimeFormat = frappe.defaultDateFormat + \" \" + frappe.defaultTimeFormat;\nmoment.defaultFormat = frappe.defaultDateFormat;\n\nfrappe.provide(\"frappe.datetime\");\n\n$.extend(frappe.datetime, {\n\tconvert_to_user_tz: function (date, format) {\n\t\t// format defaults to true\n\t\t// Converts the datetime string to system time zone first since the database only stores datetime in\n\t\t// system time zone and then convert the string to user time zone(from User doctype).\n\t\tlet date_obj = null;\n\t\tif (frappe.boot.time_zone && frappe.boot.time_zone.system && frappe.boot.time_zone.user) {\n\t\t\tdate_obj = moment\n\t\t\t\t.tz(date, frappe.boot.time_zone.system)\n\t\t\t\t.clone()\n\t\t\t\t.tz(frappe.boot.time_zone.user);\n\t\t} else {\n\t\t\tdate_obj = moment(date);\n\t\t}\n\n\t\treturn format === false ? date_obj : date_obj.format(frappe.defaultDatetimeFormat);\n\t},\n\n\tconvert_to_system_tz: function (date, format) {\n\t\t// format defaults to true\n\t\t// Converts the datetime string to user time zone (from User doctype) first since this fn is called in datetime which accepts datetime\n\t\t// in user time zone then convert the string to user time zone.\n\t\t// This is done so that only one timezone is present in database and we do not end up storing local timezone since it changes\n\t\t// as per the location of user.\n\t\tlet date_obj = null;\n\t\tif (frappe.boot.time_zone && frappe.boot.time_zone.system && frappe.boot.time_zone.user) {\n\t\t\tdate_obj = moment\n\t\t\t\t.tz(date, frappe.boot.time_zone.user)\n\t\t\t\t.clone()\n\t\t\t\t.tz(frappe.boot.time_zone.system);\n\t\t} else {\n\t\t\tdate_obj = moment(date);\n\t\t}\n\n\t\treturn format === false ? date_obj : date_obj.format(frappe.defaultDatetimeFormat);\n\t},\n\n\tis_system_time_zone: function () {\n\t\tif (frappe.boot.time_zone && frappe.boot.time_zone.system && frappe.boot.time_zone.user) {\n\t\t\treturn (\n\t\t\t\tmoment().tz(frappe.boot.time_zone.system).utcOffset() ===\n\t\t\t\tmoment().tz(frappe.boot.time_zone.user).utcOffset()\n\t\t\t);\n\t\t}\n\n\t\treturn true;\n\t},\n\n\tis_timezone_same: function () {\n\t\treturn frappe.datetime.is_system_time_zone();\n\t},\n\n\tstr_to_obj: function (d) {\n\t\treturn moment(d, frappe.defaultDatetimeFormat)._d;\n\t},\n\n\tobj_to_str: function (d) {\n\t\treturn moment(d).locale(\"en\").format();\n\t},\n\n\tobj_to_user: function (d) {\n\t\treturn moment(d).format(frappe.datetime.get_user_date_fmt().toUpperCase());\n\t},\n\n\tget_diff: function (d1, d2) {\n\t\treturn moment(d1).diff(d2, \"days\");\n\t},\n\n\tget_hour_diff: function (d1, d2) {\n\t\treturn moment(d1).diff(d2, \"hours\");\n\t},\n\n\tget_minute_diff: function (d1, d2) {\n\t\treturn moment(d1).diff(d2, \"minutes\");\n\t},\n\n\tget_day_diff: function (d1, d2) {\n\t\treturn moment(d1).diff(d2, \"days\");\n\t},\n\n\tadd_days: function (d, days) {\n\t\treturn moment(d).add(days, \"days\").format();\n\t},\n\n\tadd_months: function (d, months) {\n\t\treturn moment(d).add(months, \"months\").format();\n\t},\n\n\tweek_start: function () {\n\t\treturn moment().startOf(\"week\").format();\n\t},\n\n\tweek_end: function () {\n\t\treturn moment().endOf(\"week\").format();\n\t},\n\n\tmonth_start: function () {\n\t\treturn moment().startOf(\"month\").format();\n\t},\n\n\tmonth_end: function () {\n\t\treturn moment().endOf(\"month\").format();\n\t},\n\n\tquarter_start: function () {\n\t\treturn moment().startOf(\"quarter\").format();\n\t},\n\n\tquarter_end: function () {\n\t\treturn moment().endOf(\"quarter\").format();\n\t},\n\n\tyear_start: function () {\n\t\treturn moment().startOf(\"year\").format();\n\t},\n\n\tyear_end: function () {\n\t\treturn moment().endOf(\"year\").format();\n\t},\n\n\tget_user_time_fmt: function () {\n\t\treturn (frappe.sys_defaults && frappe.sys_defaults.time_format) || \"HH:mm:ss\";\n\t},\n\n\tget_user_date_fmt: function () {\n\t\treturn (frappe.sys_defaults && frappe.sys_defaults.date_format) || \"yyyy-mm-dd\";\n\t},\n\n\tget_user_fmt: function () {\n\t\t// For backwards compatibility only\n\t\treturn (frappe.sys_defaults && frappe.sys_defaults.date_format) || \"yyyy-mm-dd\";\n\t},\n\n\t/**\n\t * Converts a datetime string from system format to user format.\n\t *\n\t * If a full datetime string is provided, it is assumed to be in the system\n\t * timezone and converted to the user's timezone.\n\t *\n\t * @param {string} val - The datetime string to convert\n\t * @param {boolean} only_time - If true, parses and returns a time string only\n\t * @param {boolean} only_date - If true, parses and returns a date string only\n\t * @returns {string} The datetime string in user format\n\t */\n\tstr_to_user: function (val, only_time = false, only_date = false) {\n\t\tif (!val) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst user_date_fmt = frappe.datetime.get_user_date_fmt().toUpperCase();\n\t\tconst user_time_fmt = frappe.datetime.get_user_time_fmt();\n\n\t\tif (only_time) {\n\t\t\tlet date_obj = moment(val, frappe.defaultTimeFormat);\n\t\t\treturn date_obj.format(user_time_fmt);\n\t\t} else if (only_date || (typeof val === \"string\" && val.indexOf(\" \") === -1)) {\n\t\t\tlet date_obj = moment(val, frappe.defaultDateFormat);\n\t\t\treturn date_obj.format(user_date_fmt);\n\t\t} else {\n\t\t\tconst system_datetime = moment.tz(\n\t\t\t\tval,\n\t\t\t\tfrappe.defaultDatetimeFormat,\n\t\t\t\tfrappe.boot.time_zone.system\n\t\t\t);\n\t\t\tconst user_datetime = system_datetime.clone().tz(frappe.boot.time_zone.user);\n\n\t\t\treturn user_datetime.format(user_date_fmt + \" \" + user_time_fmt);\n\t\t}\n\t},\n\n\tget_datetime_as_string: function (d) {\n\t\tlet time_format = frappe?.boot?.sysdefaults?.time_format || frappe.defaultTimeFormat;\n\t\tlet datetime_format = frappe.defaultDateFormat + \" \" + time_format;\n\t\treturn moment(d).format(datetime_format);\n\t},\n\n\tuser_to_str: function (val, only_time = false) {\n\t\tvar user_time_fmt = frappe.datetime.get_user_time_fmt();\n\t\tif (only_time) {\n\t\t\treturn moment(val, user_time_fmt).format(frappe.defaultTimeFormat);\n\t\t}\n\n\t\tvar user_fmt = frappe.datetime.get_user_date_fmt().toUpperCase();\n\t\tvar system_fmt = \"YYYY-MM-DD\";\n\n\t\tif (val.indexOf(\" \") !== -1) {\n\t\t\tuser_fmt += \" \" + user_time_fmt;\n\t\t\tsystem_fmt += \" HH:mm:ss\";\n\t\t}\n\n\t\t// user_fmt.replace(\"YYYY\", \"YY\")? user might only input 2 digits of the year, which should also be parsed\n\t\treturn moment(val, [user_fmt.replace(\"YYYY\", \"YY\"), user_fmt])\n\t\t\t.locale(\"en\")\n\t\t\t.format(system_fmt);\n\t},\n\n\tuser_to_obj: function (d) {\n\t\treturn frappe.datetime.str_to_obj(frappe.datetime.user_to_str(d));\n\t},\n\n\tglobal_date_format: function (d) {\n\t\tvar m = moment(d);\n\t\tif (m._f && m._f.indexOf(\"HH\") !== -1) {\n\t\t\treturn m.format(\"Do MMMM YYYY, hh:mm A\");\n\t\t} else {\n\t\t\treturn m.format(\"Do MMMM YYYY\");\n\t\t}\n\t},\n\n\tnow_date: function (as_obj = false) {\n\t\treturn frappe.datetime._date(frappe.defaultDateFormat, as_obj);\n\t},\n\n\tnow_time: function (as_obj = false) {\n\t\treturn frappe.datetime._date(frappe.defaultTimeFormat, as_obj);\n\t},\n\n\tnow_datetime: function (as_obj = false) {\n\t\treturn frappe.datetime._date(frappe.defaultDatetimeFormat, as_obj);\n\t},\n\n\tsystem_datetime: function (as_obj = false) {\n\t\treturn frappe.datetime._date(frappe.defaultDatetimeFormat, as_obj, true);\n\t},\n\n\t_date: function (format, as_obj = false, system_time = false) {\n\t\tlet time_zone = frappe.boot.time_zone?.system || frappe.sys_defaults.time_zone;\n\n\t\t// Whenever we are getting now_date/datetime, always make sure dates are fetched using user time zone.\n\t\t// This is to make sure that time is as per user time zone set in User doctype, If a user had to change the timezone,\n\t\t// we will end up having multiple timezone by not honouring timezone in User doctype.\n\t\t// This will make sure that at any point we know which timezone the user if following and not have random timezone\n\t\t// when the timezone of the local machine changes.\n\t\tif (!system_time) {\n\t\t\ttime_zone = frappe.boot.time_zone?.user || time_zone;\n\t\t}\n\t\tlet date = moment.tz(time_zone);\n\n\t\treturn as_obj ? frappe.datetime.moment_to_date_obj(date) : date.format(format);\n\t},\n\n\tmoment_to_date_obj: function (moment_obj) {\n\t\tconst date_obj = new Date();\n\t\tconst date_array = moment_obj.toArray();\n\t\tdate_obj.setFullYear(date_array[0]);\n\t\tdate_obj.setMonth(date_array[1]);\n\t\tdate_obj.setDate(date_array[2]);\n\t\tdate_obj.setHours(date_array[3]);\n\t\tdate_obj.setMinutes(date_array[4]);\n\t\tdate_obj.setSeconds(date_array[5]);\n\t\tdate_obj.setMilliseconds(date_array[6]);\n\t\treturn date_obj;\n\t},\n\n\tnowdate: function () {\n\t\treturn frappe.datetime.now_date();\n\t},\n\n\tget_today: function () {\n\t\treturn frappe.datetime.now_date();\n\t},\n\n\tget_time: (timestamp) => {\n\t\t// return time with AM/PM\n\t\treturn moment(timestamp).format(\"hh:mm A\");\n\t},\n\n\tvalidate: function (d) {\n\t\treturn moment(\n\t\t\td,\n\t\t\t[frappe.defaultDateFormat, frappe.defaultDatetimeFormat, frappe.defaultTimeFormat],\n\t\t\ttrue\n\t\t).isValid();\n\t},\n\n\tget_first_day_of_the_week_index() {\n\t\tconst first_day_of_the_week = frappe.sys_defaults.first_day_of_the_week || \"Sunday\";\n\t\treturn moment.weekdays().indexOf(first_day_of_the_week);\n\t},\n});\n", "frappe.provide(\"frappe.ui\");\nfrappe.provide(\"frappe.views\");\nfrappe.provide(\"frappe.web_form_list\");\n\nexport default class WebFormList {\n\tconstructor(opts) {\n\t\tObject.assign(this, opts);\n\t\tfrappe.web_form_list = this;\n\t\tthis.wrapper = $(\".web-list-table\");\n\t\tthis.make_actions();\n\t\tthis.make_filters();\n\t}\n\n\trefresh() {\n\t\tthis.rows = [];\n\t\tthis.web_list_start = 0;\n\t\tthis.page_length = 10;\n\n\t\tfrappe.run_serially([\n\t\t\t() => this.get_list_view_fields(),\n\t\t\t() => this.get_data(),\n\t\t\t() => this.remove_more(),\n\t\t\t() => this.make_table(),\n\t\t\t() => this.create_more(),\n\t\t]);\n\t}\n\n\tremove_more() {\n\t\t$(\".more\").remove();\n\t}\n\n\tmake_filters() {\n\t\tthis.filters = {};\n\t\tthis.filter_input = [];\n\t\tlet filter_area = $(\".web-list-filters\");\n\n\t\tfrappe\n\t\t\t.call(\"frappe.website.doctype.web_form.web_form.get_web_form_filters\", {\n\t\t\t\tweb_form_name: this.web_form_name,\n\t\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tlet fields = response.message;\n\t\t\t\tfields.length && filter_area.removeClass(\"hide\");\n\t\t\t\tfields.forEach((field) => {\n\t\t\t\t\tif ([\"Text Editor\", \"Text\", \"Small Text\"].includes(field.fieldtype)) {\n\t\t\t\t\t\tfield.fieldtype = \"Data\";\n\t\t\t\t\t}\n\n\t\t\t\t\tif ([\"Table\", \"Signature\"].includes(field.fieldtype)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet input = frappe.ui.form.make_control({\n\t\t\t\t\t\tdf: {\n\t\t\t\t\t\t\tfieldtype: field.fieldtype,\n\t\t\t\t\t\t\tfieldname: field.fieldname,\n\t\t\t\t\t\t\toptions: field.options,\n\t\t\t\t\t\t\tinput_class: \"input-xs\",\n\t\t\t\t\t\t\tonly_select: true,\n\t\t\t\t\t\t\tlabel: __(field.label, null, field.parent),\n\t\t\t\t\t\t\tonchange: (event) => {\n\t\t\t\t\t\t\t\tthis.add_filter(field.fieldname, input.value, field.fieldtype);\n\t\t\t\t\t\t\t\tthis.refresh();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tparent: filter_area,\n\t\t\t\t\t\trender_input: 1,\n\t\t\t\t\t\tonly_input: field.fieldtype == \"Check\" ? false : true,\n\t\t\t\t\t});\n\n\t\t\t\t\t$(input.wrapper)\n\t\t\t\t\t\t.addClass(\"col-md-2\")\n\t\t\t\t\t\t.attr(\"title\", __(field.label, null, field.parent))\n\t\t\t\t\t\t.tooltip({\n\t\t\t\t\t\t\tdelay: { show: 600, hide: 100 },\n\t\t\t\t\t\t\ttrigger: \"hover\",\n\t\t\t\t\t\t});\n\n\t\t\t\t\tinput.$input.attr(\"placeholder\", __(field.label, null, field.parent));\n\t\t\t\t\tthis.filter_input.push(input);\n\t\t\t\t});\n\t\t\t\tthis.refresh();\n\t\t\t});\n\t}\n\n\tadd_filter(field, value, fieldtype) {\n\t\tif (!value) {\n\t\t\tdelete this.filters[field];\n\t\t} else {\n\t\t\tif ([\"Data\", \"Currency\", \"Float\", \"Int\"].includes(fieldtype)) {\n\t\t\t\tvalue = [\"like\", \"%\" + value + \"%\"];\n\t\t\t}\n\t\t\tObject.assign(this.filters, Object.fromEntries([[field, value]]));\n\t\t}\n\t}\n\n\tget_list_view_fields() {\n\t\tif (this.columns) return this.columns;\n\n\t\tif (this.list_columns) {\n\t\t\tthis.columns = this.list_columns.map((df) => {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: df.label,\n\t\t\t\t\tfieldname: df.fieldname,\n\t\t\t\t\tfieldtype: df.fieldtype,\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n\n\tfetch_data() {\n\t\tif (this.condition_json && JSON.parse(this.condition_json)) {\n\t\t\tlet filter = frappe.utils.get_filter_from_json(this.condition_json, this.doctype);\n\t\t\tfilter = frappe.utils.get_filter_as_json(filter);\n\t\t\tthis.filters = Object.assign(this.filters, JSON.parse(filter));\n\t\t}\n\n\t\tlet args = {\n\t\t\tmethod: \"frappe.www.list.get_list_data\",\n\t\t\targs: {\n\t\t\t\tdoctype: this.doctype,\n\t\t\t\tlimit_start: this.web_list_start,\n\t\t\t\tlimit: this.page_length,\n\t\t\t\tweb_form_name: this.web_form_name,\n\t\t\t\t...this.filters,\n\t\t\t},\n\t\t};\n\n\t\tif (this.no_change(args)) {\n\t\t\t// console.log('throttled');\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\treturn frappe.call(args);\n\t}\n\n\tno_change(args) {\n\t\t// returns true if arguments are same for the last 3 seconds\n\t\t// this helps in throttling if called from various sources\n\t\tif (this.last_args && JSON.stringify(args) === this.last_args) {\n\t\t\treturn true;\n\t\t}\n\t\tthis.last_args = JSON.stringify(args);\n\t\tsetTimeout(() => {\n\t\t\tthis.last_args = null;\n\t\t}, 3000);\n\t\treturn false;\n\t}\n\n\tasync get_data() {\n\t\tlet response = await this.fetch_data();\n\t\tif (response) {\n\t\t\tthis.data = await response.message;\n\t\t}\n\t}\n\n\tmore() {\n\t\tthis.web_list_start += this.page_length;\n\t\tthis.fetch_data().then((res) => {\n\t\t\tif (res.message.length === 0) {\n\t\t\t\tfrappe.msgprint(__(\"No more items to display\"));\n\t\t\t}\n\t\t\tthis.append_rows(res.message);\n\t\t});\n\t}\n\n\tmake_table() {\n\t\tthis.table = $(`
      `);\n\n\t\tthis.make_table_head();\n\t\tthis.make_table_body();\n\t}\n\n\tmake_table_head() {\n\t\tlet $thead = $(`\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${__(\"Sr\")}.\n\t\t\t\t\n\t\t\t\n\t\t`);\n\n\t\tthis.check_all = $thead.find(\"input.select-all\");\n\t\tthis.check_all.on(\"click\", (event) => {\n\t\t\tthis.toggle_select_all(event.target.checked);\n\t\t});\n\n\t\tthis.columns.forEach((col) => {\n\t\t\tlet $tr = $thead.find(\"tr\");\n\t\t\tlet $th = $(`${__(col.label)}`);\n\t\t\t$th.appendTo($tr);\n\t\t});\n\n\t\t$thead.appendTo(this.table);\n\t}\n\n\tmake_table_body() {\n\t\tif (this.data.length) {\n\t\t\tthis.wrapper.empty();\n\n\t\t\tif (this.table) {\n\t\t\t\tthis.table.find(\"tbody\").remove();\n\n\t\t\t\tif (this.check_all.length) {\n\t\t\t\t\tthis.check_all.prop(\"checked\", false);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.append_rows(this.data);\n\t\t\tthis.table.appendTo(this.wrapper);\n\t\t} else {\n\t\t\tif (this.wrapper.find(\".no-result\").length) return;\n\n\t\t\tthis.wrapper.empty();\n\t\t\tfrappe.has_permission(this.doctype, \"\", \"create\", () => {\n\t\t\t\tthis.setup_empty_state();\n\t\t\t});\n\t\t}\n\t}\n\n\tsetup_empty_state() {\n\t\tlet new_button = `\n\t\t\t\n\t\t\t\t${__(\"Create a new {0}\", [__(this.doctype)])}\n\t\t\t\n\t\t`;\n\n\t\tlet empty_state = $(`\n\t\t\t
      \n\t\t\t\t
      \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

      ${__(\"No {0} found\", [__(this.doctype)])}

      \n\t\t\t\t\t${new_button}\n\t\t\t\t
      \n\t\t\t
      \n\t\t`);\n\n\t\tempty_state.appendTo(this.wrapper);\n\t}\n\n\tappend_rows(row_data) {\n\t\tlet $tbody = this.table.find(\"tbody\");\n\n\t\tif (!$tbody.length) {\n\t\t\t$tbody = $(``);\n\t\t\t$tbody.appendTo(this.table);\n\t\t}\n\n\t\trow_data.forEach((data_item) => {\n\t\t\tlet $row_element = $(``);\n\n\t\t\tlet row = new frappe.ui.WebFormListRow({\n\t\t\t\trow: $row_element,\n\t\t\t\tdoc: data_item,\n\t\t\t\tcolumns: this.columns,\n\t\t\t\tserial_number: this.rows.length + 1,\n\t\t\t\tevents: {\n\t\t\t\t\ton_edit: () => this.open_form(data_item.name),\n\t\t\t\t\ton_select: () => {\n\t\t\t\t\t\tthis.toggle_new();\n\t\t\t\t\t\tthis.toggle_delete();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.rows.push(row);\n\t\t\t$row_element.appendTo($tbody);\n\t\t});\n\t}\n\n\tmake_actions() {\n\t\tconst actions = $(\".web-list-actions\");\n\n\t\tfrappe.has_permission(this.doctype, \"\", \"delete\", () => {\n\t\t\tthis.add_button(actions, \"delete-rows\", \"danger\", true, \"Delete\", () =>\n\t\t\t\tthis.delete_rows()\n\t\t\t);\n\t\t});\n\t}\n\n\tadd_button(wrapper, name, type, hidden, text, action) {\n\t\tif ($(`.${name}`).length) return;\n\n\t\thidden = hidden ? \"hide\" : \"\";\n\t\ttype = type == \"danger\" ? \"danger button-delete\" : type;\n\n\t\tlet button = $(`\n\t\t\t\n\t\t`);\n\n\t\tbutton.on(\"click\", () => action());\n\t\tbutton.appendTo(wrapper);\n\t}\n\n\tcreate_more() {\n\t\tif (this.rows.length >= this.page_length) {\n\t\t\tconst footer = $(\".web-list-footer\");\n\t\t\tthis.add_button(footer, \"more\", \"secondary\", false, \"Load More\", () => this.more());\n\t\t}\n\t}\n\n\ttoggle_select_all(checked) {\n\t\tthis.rows.forEach((row) => row.toggle_select(checked));\n\t}\n\n\topen_form(name) {\n\t\tlet path = window.location.pathname;\n\t\tif (path.includes(\"/list\")) {\n\t\t\tpath = path.replace(\"/list\", \"\");\n\t\t}\n\n\t\twindow.location.href = path + \"/\" + name;\n\t}\n\n\tget_selected() {\n\t\treturn this.rows.filter((row) => row.is_selected());\n\t}\n\n\ttoggle_delete() {\n\t\tif (!this.settings.allow_delete) return;\n\t\tlet btn = $(\".delete-rows\");\n\t\t!this.get_selected().length ? btn.addClass(\"hide\") : btn.removeClass(\"hide\");\n\t}\n\n\ttoggle_new() {\n\t\tif (!this.settings.allow_delete) return;\n\t\tlet btn = $(\".button-new\");\n\t\tthis.get_selected().length ? btn.addClass(\"hide\") : btn.removeClass(\"hide\");\n\t}\n\n\tdelete_rows() {\n\t\tif (!this.settings.allow_delete) return;\n\t\tfrappe\n\t\t\t.call({\n\t\t\t\ttype: \"POST\",\n\t\t\t\tmethod: \"frappe.website.doctype.web_form.web_form.delete_multiple\",\n\t\t\t\targs: {\n\t\t\t\t\tweb_form_name: this.web_form_name,\n\t\t\t\t\tdocnames: this.get_selected().map((row) => row.doc.name),\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.refresh();\n\t\t\t\tthis.toggle_delete();\n\t\t\t\tthis.toggle_new();\n\t\t\t});\n\t}\n}\n\nfrappe.ui.WebFormListRow = class WebFormListRow {\n\tconstructor({ row, doc, columns, serial_number, events, options }) {\n\t\tObject.assign(this, { row, doc, columns, serial_number, events });\n\t\tthis.make_row();\n\t}\n\n\tmake_row() {\n\t\t// Add Checkboxes\n\t\tlet $cell = $(``);\n\n\t\tthis.checkbox = $(``);\n\t\tthis.checkbox.on(\"click\", (event) => {\n\t\t\tthis.toggle_select(event.target.checked);\n\t\t\tevent.stopImmediatePropagation();\n\t\t});\n\t\tthis.checkbox.appendTo($cell);\n\t\t$cell.appendTo(this.row);\n\n\t\t// Add Serial Number\n\t\tlet serialNo = $(`${__(this.serial_number)}`);\n\t\tserialNo.appendTo(this.row);\n\n\t\tthis.columns.forEach((field) => {\n\t\t\tlet formatter = frappe.form.get_formatter(field.fieldtype);\n\t\t\tlet value =\n\t\t\t\t(this.doc[field.fieldname] &&\n\t\t\t\t\t__(\n\t\t\t\t\t\tformatter(this.doc[field.fieldname], field, { only_value: 1 }, this.doc)\n\t\t\t\t\t)) ||\n\t\t\t\t\"\";\n\t\t\tlet cell = $(`

      ${value}

      `);\n\t\t\tif (field.fieldtype === \"Text Editor\") {\n\t\t\t\tvalue = $(value).addClass(\"ellipsis\");\n\t\t\t\tcell = $(\"\").append(value);\n\t\t\t}\n\t\t\tcell.appendTo(this.row);\n\t\t});\n\n\t\tthis.row.on(\"click\", () => this.events.on_edit());\n\t}\n\n\ttoggle_select(checked) {\n\t\tthis.checkbox.prop(\"checked\", checked);\n\t\tthis.events.on_select(checked);\n\t}\n\n\tis_selected() {\n\t\treturn this.checkbox.prop(\"checked\");\n\t}\n};\n", "frappe.provide(\"frappe.utils\");\n/**\n * Simple EventEmitterMixin which uses jQuery's event system\n */\nconst EventEmitterMixin = {\n\tinit() {\n\t\tthis.jq = jQuery({});\n\t},\n\n\ttrigger(evt, data) {\n\t\t!this.jq && this.init();\n\t\tthis.jq.trigger(evt, data);\n\t},\n\n\tonce(evt, handler) {\n\t\t!this.jq && this.init();\n\t\tthis.jq.one(evt, (e, data) => handler(data));\n\t},\n\n\ton(evt, handler) {\n\t\t!this.jq && this.init();\n\t\tthis.jq.bind(evt, (e, data) => handler(data));\n\t},\n\n\toff(evt, handler) {\n\t\t!this.jq && this.init();\n\t\tthis.jq.unbind(evt, (e, data) => handler(data));\n\t},\n};\n\nfrappe.utils.make_event_emitter = function (object) {\n\tObject.assign(object, EventEmitterMixin);\n\treturn object;\n};\n\nexport default EventEmitterMixin;\n", "frappe.provide(\"frappe.ui\");\nfrappe.provide(\"frappe.web_form\");\nimport EventEmitterMixin from \"../../frappe/event_emitter\";\n\nexport default class WebForm extends frappe.ui.FieldGroup {\n\tconstructor(opts) {\n\t\tsuper();\n\t\tObject.assign(this, opts);\n\t\tfrappe.web_form = this;\n\t\tfrappe.web_form.events = {};\n\t\tObject.assign(frappe.web_form.events, EventEmitterMixin);\n\t\tthis.current_section = 0;\n\t\tthis.is_multi_step_form = false;\n\t}\n\n\tprepare(web_form_doc, doc) {\n\t\tObject.assign(this, web_form_doc);\n\t\tthis.fields = web_form_doc.web_form_fields;\n\t\tthis.doc = doc;\n\t}\n\n\tmake() {\n\t\tthis.parent.empty();\n\t\tsuper.make();\n\t\tthis.set_page_breaks();\n\t\tthis.set_field_values();\n\n\t\tif (this.is_new || this.in_edit_mode) {\n\t\t\tthis.setup_primary_action();\n\t\t\tthis.setup_discard_action();\n\t\t}\n\n\t\tthis.setup_previous_next_button();\n\t\tthis.toggle_section();\n\n\t\t// webform client script\n\t\tfrappe.init_client_script && frappe.init_client_script();\n\t\tthis.setup_listeners();\n\t\tfrappe.web_form.events.trigger(\"after_load\");\n\t\tthis.after_load && this.after_load();\n\t}\n\n\ton(fieldname, handler) {\n\t\tlet field = this.fields_dict[fieldname];\n\t\tfield.df.change = () => {\n\t\t\thandler(field, field.value);\n\t\t\tthis.refresh_dependency();\n\t\t\tthis.make_form_dirty();\n\t\t};\n\t}\n\n\tsetup_listeners() {\n\t\t// setup change event for all fields if not already set through client script\n\t\tthis.fields.forEach((field) => {\n\t\t\tif (!field.change) {\n\t\t\t\tfield.change = () => {\n\t\t\t\t\tthis.refresh_dependency();\n\t\t\t\t\tthis.make_form_dirty();\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\n\tmake_form_dirty() {\n\t\tfrappe.form_dirty = true;\n\t\t$(\".indicator-pill.orange\").removeClass(\"hide\");\n\t}\n\n\tset_page_breaks() {\n\t\tthis.page_breaks = $(\".page-break\");\n\n\t\tif (this.page_breaks.length) {\n\t\t\tthis.page_breaks.each((i, page_break) => {\n\t\t\t\tif (!$(page_break).find(\"form\").length) {\n\t\t\t\t\t$(page_break).remove();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis.page_breaks = $(\".page-break\");\n\t\tthis.is_multi_step_form = !!this.page_breaks.length;\n\t}\n\n\tsetup_previous_next_button() {\n\t\tlet me = this;\n\n\t\tif (!me.is_multi_step_form) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.$next_button = $(``);\n\n\t\tthis.$previous_button = $(``);\n\n\t\tthis.$next_button.insertAfter(\".web-form-footer .right-area .discard-btn\");\n\t\tthis.in_view_mode && $(\".web-form-footer .right-area\").append(this.$next_button);\n\t\t$(\".web-form-footer .left-area\").prepend(this.$previous_button);\n\n\t\tthis.$previous_button.on(\"click\", () => {\n\t\t\tlet is_validated = me.validate_section();\n\n\t\t\tif (!is_validated) return false;\n\n\t\t\t/**\n\t\t\t\tThe eslint utility cannot figure out if this is an infinite loop in backwards and\n\t\t\t\tthrows an error. Disabling for-direction just for this section.\n\t\t\t\tfor-direction doesnt throw an error if the values are hardcoded in the\n\t\t\t\treverse for-loop, but in this case its a dynamic loop.\n\t\t\t\thttps://eslint.org/docs/rules/for-direction\n\t\t\t*/\n\t\t\t/* eslint-disable for-direction */\n\t\t\tfor (let idx = me.current_section; idx < me.sections.length; idx--) {\n\t\t\t\tlet is_empty = me.is_previous_section_empty(idx);\n\t\t\t\tme.current_section =\n\t\t\t\t\tme.current_section > 0 ? me.current_section - 1 : me.current_section;\n\n\t\t\t\tif (!is_empty) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* eslint-enable for-direction */\n\t\t\tme.toggle_section();\n\t\t\treturn false;\n\t\t});\n\n\t\tthis.$next_button.on(\"click\", () => {\n\t\t\tlet is_validated = me.validate_section();\n\n\t\t\tif (!is_validated) return false;\n\n\t\t\tfor (let idx = me.current_section; idx < me.sections.length; idx++) {\n\t\t\t\tlet is_empty = me.is_next_section_empty(idx);\n\t\t\t\tme.current_section =\n\t\t\t\t\tme.current_section < me.sections.length\n\t\t\t\t\t\t? me.current_section + 1\n\t\t\t\t\t\t: me.current_section;\n\n\t\t\t\tif (!is_empty) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tme.toggle_section();\n\t\t\treturn false;\n\t\t});\n\t}\n\n\tset_field_values() {\n\t\tif (this.doc.name) this.set_values(this.doc);\n\t\telse return;\n\t}\n\n\tset_default_values() {\n\t\tlet defaults = {};\n\t\tfor (let df of this.fields) {\n\t\t\tif (df.default) {\n\t\t\t\tdefaults[df.fieldname] = df.default;\n\t\t\t}\n\t\t}\n\t\tlet values = frappe.utils.get_query_params();\n\t\tdelete values.new;\n\t\tObject.assign(defaults, values);\n\t\tthis.set_values(values);\n\t}\n\n\tsetup_primary_action() {\n\t\t$(\".web-form\").on(\"submit\", () => this.save());\n\t}\n\n\tsetup_discard_action() {\n\t\t$(\".web-form-footer .discard-btn\").on(\"click\", () => this.discard_form());\n\t}\n\n\tdiscard_form() {\n\t\tlet path = window.location.href;\n\t\t// remove new or edit after last / from url\n\t\tpath = path.substring(0, path.lastIndexOf(\"/\"));\n\n\t\tif (frappe.form_dirty) {\n\t\t\tfrappe.warn(\n\t\t\t\t__(\"Discard?\"),\n\t\t\t\t__(\"Are you sure you want to discard the changes?\"),\n\t\t\t\t() => (window.location.href = path),\n\t\t\t\t__(\"Discard\")\n\t\t\t);\n\t\t} else {\n\t\t\twindow.location.href = path;\n\t\t}\n\t\treturn false;\n\t}\n\n\tvalidate_section() {\n\t\tif (this.allow_incomplete) return true;\n\n\t\tlet fields = $(`${this.get_page(this.current_section)} .form-control`);\n\t\tlet errors = [];\n\t\tlet invalid_values = [];\n\n\t\tfor (let field of fields) {\n\t\t\tlet fieldname = $(field).attr(\"data-fieldname\");\n\t\t\tif (!fieldname) continue;\n\n\t\t\tfield = this.fields_dict[fieldname];\n\n\t\t\tif (field && field.get_value) {\n\t\t\t\tlet value = field.get_value();\n\t\t\t\tif (\n\t\t\t\t\tfield.df.reqd &&\n\t\t\t\t\tis_null(typeof value === \"string\" ? strip_html(value) : value)\n\t\t\t\t)\n\t\t\t\t\terrors.push(__(field.df.label));\n\n\t\t\t\tif (\n\t\t\t\t\tfield.df.reqd &&\n\t\t\t\t\tfield.df.fieldtype === \"Text Editor\" &&\n\t\t\t\t\tis_null(strip_html(cstr(value)))\n\t\t\t\t)\n\t\t\t\t\terrors.push(__(field.df.label));\n\n\t\t\t\tif (field.df.invalid) invalid_values.push(__(field.df.label));\n\t\t\t}\n\t\t}\n\n\t\tlet message = \"\";\n\t\tif (invalid_values.length) {\n\t\t\tmessage += __(\"Invalid values for fields:\", null, \"Error message in web form\");\n\t\t\tmessage += \"

      • \" + invalid_values.join(\"
      • \") + \"
      \";\n\t\t}\n\n\t\tif (errors.length) {\n\t\t\tmessage += __(\"Mandatory fields required:\", null, \"Error message in web form\");\n\t\t\tmessage += \"

      • \" + errors.join(\"
      • \") + \"
      \";\n\t\t}\n\n\t\tif (invalid_values.length || errors.length) {\n\t\t\tfrappe.msgprint({\n\t\t\t\ttitle: __(\"Error\", null, \"Title of error message in web form\"),\n\t\t\t\tmessage: message,\n\t\t\t\tindicator: \"orange\",\n\t\t\t});\n\t\t}\n\n\t\treturn !(errors.length || invalid_values.length);\n\t}\n\n\ttoggle_section() {\n\t\tif (!this.is_multi_step_form) return;\n\n\t\tthis.render_progress_dots();\n\t\tthis.toggle_previous_button();\n\t\tthis.hide_form_pages();\n\t\tthis.show_form_page();\n\t\tthis.toggle_buttons();\n\t}\n\n\trender_progress_dots() {\n\t\tif (!this.is_multi_step_form) return;\n\t\t$(\".center-area.paging\").empty();\n\n\t\tif (this.in_view_mode) {\n\t\t\tlet paging_text = __(\"Page {0} of {1}\", [\n\t\t\t\tthis.current_section + 1,\n\t\t\t\tthis.page_breaks.length + 1,\n\t\t\t]);\n\t\t\t$(\".center-area.paging\").append(`
      ${paging_text}
      `);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.$slide_progress = $(`
      `).appendTo(\n\t\t\t$(\".center-area.paging\")\n\t\t);\n\t\tthis.$slide_progress.empty();\n\n\t\tif (this.page_breaks.length < 1) return;\n\n\t\tfor (let i = 0; i <= this.page_breaks.length; i++) {\n\t\t\tlet $dot = $(`
      \n\t\t\t\t
      \n\t\t\t\t
      ${frappe.utils.icon(\"tick\", \"xs\")}
      \n\t\t\t
      `).attr({ \"data-step-id\": i });\n\n\t\t\tif (i < this.current_section) {\n\t\t\t\t$dot.addClass(\"step-success\");\n\t\t\t}\n\t\t\tif (i === this.current_section) {\n\t\t\t\t$dot.addClass(\"active\");\n\t\t\t}\n\t\t\tthis.$slide_progress.append($dot);\n\t\t}\n\t}\n\n\ttoggle_buttons() {\n\t\tfor (let idx = this.current_section; idx <= this.page_breaks.length; idx++) {\n\t\t\tif (this.is_next_section_empty(idx)) {\n\t\t\t\tthis.show_save_and_hide_next_button();\n\t\t\t} else {\n\t\t\t\tthis.show_next_and_hide_save_button();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tis_next_section_empty(section) {\n\t\tif (section + 1 > this.page_breaks.length + 1) return true;\n\n\t\tlet _page = $(`${this.get_page(section + 1)}`);\n\t\tlet visible_controls = _page.find(\".frappe-control:not(.hide-control)\");\n\n\t\treturn !visible_controls.length ? true : false;\n\t}\n\n\tis_previous_section_empty(section) {\n\t\tif (section - 1 > this.page_breaks.length + 1) return true;\n\n\t\tlet _page = $(`${this.get_page(section - 1)}`);\n\t\tlet visible_controls = _page.find(\".frappe-control:not(.hide-control)\");\n\n\t\treturn !visible_controls.length ? true : false;\n\t}\n\n\tshow_save_and_hide_next_button() {\n\t\t$(\".btn-next\").hide();\n\t\t$(\".submit-btn\").show();\n\t}\n\n\tshow_next_and_hide_save_button() {\n\t\t$(\".btn-next\").show();\n\t\t!this.allow_incomplete && $(\".submit-btn\").hide();\n\t}\n\n\ttoggle_previous_button() {\n\t\tthis.current_section == 0 ? $(\".btn-previous\").hide() : $(\".btn-previous\").show();\n\t}\n\n\tget_page(idx) {\n\t\treturn idx > 0 ? `.page-break:eq(${idx - 1})` : `.form-page:eq(${idx})`;\n\t}\n\n\tshow_form_page() {\n\t\t$(this.get_page(this.current_section)).show();\n\t}\n\n\thide_form_pages() {\n\t\tfor (let idx = 0; idx <= this.page_breaks.length; idx++) {\n\t\t\tif (idx !== this.current_section) {\n\t\t\t\t$(this.get_page(idx)).hide();\n\t\t\t}\n\t\t}\n\t}\n\n\tsave() {\n\t\tlet is_new = this.is_new;\n\t\tlet valid = this.validate && this.validate();\n\t\tif (!valid && valid !== undefined) {\n\t\t\tfrappe.msgprint(\n\t\t\t\t__(\"Couldn't save, please check the data you have entered\"),\n\t\t\t\t__(\"Validation Error\")\n\t\t\t);\n\t\t\treturn false;\n\t\t}\n\n\t\t// validation hack: get_values will check for missing data\n\t\tlet doc_values = super.get_values(this.allow_incomplete);\n\n\t\tif (!doc_values) return false;\n\n\t\tif (window.saving) return false;\n\t\t// TODO: remove this (used for payments app)\n\t\tlet for_payment = Boolean(this.accept_payment && !this.doc.paid);\n\n\t\tObject.assign(this.doc, doc_values);\n\t\tthis.doc.doctype = this.doc_type;\n\t\tthis.doc.web_form_name = this.name;\n\n\t\t// Save\n\t\twindow.saving = true;\n\t\tfrappe.form_dirty = false;\n\n\t\tfrappe.call({\n\t\t\ttype: \"POST\",\n\t\t\tmethod: \"frappe.website.doctype.web_form.web_form.accept\",\n\t\t\targs: {\n\t\t\t\tdata: this.doc,\n\t\t\t\tweb_form: this.name,\n\t\t\t\tfor_payment,\n\t\t\t},\n\t\t\tbtn: $(\"btn-primary\"),\n\t\t\tfreeze: true,\n\t\t\tcallback: (response) => {\n\t\t\t\t// Check for any exception in response\n\t\t\t\tif (!response.exc) {\n\t\t\t\t\t// Success\n\t\t\t\t\tthis.handle_success(response.message);\n\t\t\t\t\tfrappe.web_form.events.trigger(\"after_save\");\n\t\t\t\t\tthis.after_save && this.after_save();\n\t\t\t\t\t// args doctype and docname added to link doctype in file manager\n\t\t\t\t\tif (is_new && (response.message.attachment || response.message.file)) {\n\t\t\t\t\t\tfrappe.call({\n\t\t\t\t\t\t\ttype: \"POST\",\n\t\t\t\t\t\t\tmethod: \"frappe.handler.upload_file\",\n\t\t\t\t\t\t\targs: {\n\t\t\t\t\t\t\t\tfile_url: response.message.attachment || response.message.file,\n\t\t\t\t\t\t\t\tdoctype: response.message.doctype,\n\t\t\t\t\t\t\t\tdocname: response.message.name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\talways: function () {\n\t\t\t\twindow.saving = false;\n\t\t\t},\n\t\t});\n\t\treturn false;\n\t}\n\n\thandle_success(data) {\n\t\t// TODO: remove this (used for payments app)\n\t\tif (this.accept_payment && !this.doc.paid) {\n\t\t\twindow.location.href = data;\n\t\t}\n\n\t\tif (!this.is_new) {\n\t\t\t$(\".success-title\").text(__(\"Updated\"));\n\t\t\t$(\".success-message\").text(__(\"Your form has been successfully updated\"));\n\t\t}\n\n\t\t$(\".web-form-container\").hide();\n\t\t$(\".success-page\").removeClass(\"hide\");\n\n\t\tif (this.success_url) {\n\t\t\tfrappe.utils.setup_timer(5, 0, $(\".time\"));\n\t\t\tsetTimeout(() => {\n\t\t\t\twindow.location.href = this.success_url;\n\t\t\t}, 5000);\n\t\t} else {\n\t\t\tthis.render_success_page(data);\n\t\t}\n\t}\n\n\trender_success_page(data) {\n\t\tif (this.allow_edit && data.name) {\n\t\t\t$(\".success-footer\").append(`\n\t\t\t\t\n\t\t\t\t\t${__(\"Edit your response\", null, \"Button in web form\")}\n\t\t\t\t\n\t\t\t`);\n\t\t}\n\n\t\tif (this.login_required && !this.allow_multiple && !this.show_list && data.name) {\n\t\t\t$(\".success-footer\").append(`\n\t\t\t\t\n\t\t\t\t\t${__(\"View your response\", null, \"Button in web form\")}\n\t\t\t\t\n\t\t\t`);\n\t\t}\n\t}\n}\n", "import WebFormList from \"./web_form_list\";\nimport WebForm from \"./web_form\";\n\nfrappe.ready(function () {\n\tlet web_form_doc = frappe.web_form_doc;\n\tlet reference_doc = frappe.reference_doc;\n\n\tshow_login_prompt();\n\n\tweb_form_doc.is_list ? show_list() : show_form();\n\n\tfunction show_login_prompt() {\n\t\tif (frappe.session.user != \"Guest\" || !web_form_doc.login_required) return;\n\t\tconst login_required = new frappe.ui.Dialog({\n\t\t\ttitle: __(\"Not Permitted\"),\n\t\t\tprimary_action_label: __(\"Login\"),\n\t\t\tprimary_action: () => {\n\t\t\t\twindow.location.replace(\"/login?redirect-to=\" + window.location.pathname);\n\t\t\t},\n\t\t});\n\t\tlogin_required.show();\n\t\tlogin_required.set_message(__(\"You are not permitted to access this page without login.\"));\n\t}\n\n\tfunction show_list() {\n\t\tnew WebFormList({\n\t\t\tdoctype: web_form_doc.doc_type,\n\t\t\tweb_form_name: web_form_doc.name,\n\t\t\tlist_columns: web_form_doc.list_columns,\n\t\t\tcondition_json: web_form_doc.condition_json,\n\t\t\tsettings: {\n\t\t\t\tallow_delete: web_form_doc.allow_delete,\n\t\t\t},\n\t\t});\n\t}\n\n\tfunction show_form() {\n\t\tlet web_form = new WebForm({\n\t\t\tparent: $(\".web-form-wrapper\"),\n\t\t});\n\t\tlet doc = reference_doc || {};\n\t\tsetup_fields(web_form_doc, doc);\n\n\t\tweb_form.prepare(web_form_doc, doc);\n\t\tweb_form.make();\n\n\t\tif (web_form_doc.is_new) {\n\t\t\tweb_form.set_default_values();\n\t\t}\n\n\t\t$(\".file-size\").each(function () {\n\t\t\t$(this).text(frappe.form.formatters.FileSize($(this).text()));\n\t\t});\n\t}\n\n\tfunction setup_fields(web_form_doc, doc_data) {\n\t\tweb_form_doc.web_form_fields.forEach((df) => {\n\t\t\tdf.is_web_form = true;\n\t\t\tdf.read_only = df.read_only || (!web_form_doc.is_new && !web_form_doc.in_edit_mode);\n\t\t\tif (df.fieldtype === \"Table\") {\n\t\t\t\tdf.get_data = () => {\n\t\t\t\t\tlet data = [];\n\t\t\t\t\tif (doc_data && doc_data[df.fieldname]) {\n\t\t\t\t\t\treturn doc_data[df.fieldname];\n\t\t\t\t\t}\n\t\t\t\t\treturn data;\n\t\t\t\t};\n\n\t\t\t\t$.each(df.fields || [], function (_i, field) {\n\t\t\t\t\tif (field.fieldtype === \"Link\") {\n\t\t\t\t\t\tfield.only_select = true;\n\t\t\t\t\t}\n\t\t\t\t\tfield.is_web_form = true;\n\t\t\t\t});\n\n\t\t\t\tif (df.fieldtype === \"Attach\") {\n\t\t\t\t\tdf.is_private = true;\n\t\t\t\t}\n\n\t\t\t\tdelete df.parent;\n\t\t\t\tdelete df.parentfield;\n\t\t\t\tdelete df.parenttype;\n\t\t\t\tdelete df.doctype;\n\n\t\t\t\treturn df;\n\t\t\t}\n\t\t\tif (df.fieldtype === \"Link\") {\n\t\t\t\tdf.only_select = true;\n\t\t\t}\n\t\t\tif ([\"Attach\", \"Attach Image\"].includes(df.fieldtype)) {\n\t\t\t\tif (typeof df.options !== \"object\") {\n\t\t\t\t\tdf.options = {};\n\t\t\t\t}\n\t\t\t\tdf.options.disable_file_browser = true;\n\t\t\t}\n\t\t});\n\t}\n});\n", "// multilevel dropdown\n$(\".dropdown-menu a.dropdown-toggle\").on(\"click\", function (e) {\n\te.preventDefault();\n\te.stopImmediatePropagation();\n\tif (!$(this).next().hasClass(\"show\")) {\n\t\t$(this).parents(\".dropdown-menu\").first().find(\".show\").removeClass(\"show\");\n\t}\n\tvar $subMenu = $(this).next(\".dropdown-menu\");\n\t$subMenu.toggleClass(\"show\");\n\n\t$(this)\n\t\t.parents(\"li.nav-item.dropdown.show\")\n\t\t.on(\"hidden.bs.dropdown\", function () {\n\t\t\t$(\".dropdown-submenu .show\").removeClass(\"show\");\n\t\t});\n\n\treturn false;\n});\n\nfrappe.get_modal = function (title, content) {\n\treturn $(\n\t\t`
      \n\t\t\t
      \n\t\t\t\t
      \n\t\t\t\t\t
      \n\t\t\t\t\t\t
      ${title}
      \n\t\t\t\t\t\t\n\t\t\t\t\t
      \n\t\t\t\t\t
      \n\t\t\t\t\t\t${content}\n\t\t\t\t\t
      \n\t\t\t\t\t\n\t\t\t\t
      \n\t\t\t
      \n\t\t
      `\n\t);\n};\n\nfrappe.ui.Dialog = class Dialog extends frappe.ui.Dialog {\n\tget_primary_btn() {\n\t\treturn this.$wrapper.find(\".modal-footer .btn-primary\");\n\t}\n\n\tget_secondary_btn() {\n\t\treturn this.$wrapper.find(\".modal-footer .btn-secondary\");\n\t}\n\n\tset_primary_action(label, click) {\n\t\tthis.$wrapper.find(\".modal-footer\").removeClass(\"hidden\");\n\t\treturn super.set_primary_action(label, click).removeClass(\"hidden\");\n\t}\n\n\tset_secondary_action(click) {\n\t\treturn super.set_secondary_action(click).removeClass(\"hidden\");\n\t}\n\n\tmake() {\n\t\tsuper.make();\n\t\tif (this.fields) {\n\t\t\tthis.$wrapper.find(\".section-body\").addClass(\"w-100\");\n\t\t}\n\t}\n};\n"], "mappings": "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AAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gDAA8pe;AAAA,UAE7pe;AAAA,UAEA,qBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iDAA23E;AAAA,UAE13E;AAAA,UAEA,uBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK,mLAAqL;AAAA,UAEpL;AAAA,UAEA,oBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gDAA8pB;AAAA,UAE7pB;AAAA,UAEA,oBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK,wTAA0T;AAAA,UAEzT;AAAA,UAEA,mBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAugpB;AAAA,UAEtgpB;AAAA,UAEA,uBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAAup1B;AAAA,UAEtp1B;AAAA,UAEA,uBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAA8wX;AAAA,UAE7wX;AAAA,UAEA,sBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kDAA8pL;AAAA,UAE7pL;AAAA,UAEA,wBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oDAAi+U;AAAA,UAEh+U;AAAA,UAEA,yBAKC,SAAS,QAAQ,qBAAqB,qBAAqB;AAElE;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAA0zF;AAAA,UAEzzF;AAAA,UAEA,wCAKC,SAAS,QAAQ,SAAS;AAEjC,iBAAK,sqBAAsqB;AAAA,UAErqB;AAAA,UAEA,kDAKC,SAAS,QAAQ,SAAS,qBAAqB;AAEtD;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8EAAowB;AAAA,UAEnwB;AAAA,UAEA,iCAKC,SAAS,QAAQ,SAAS;AAEjC,iBAAK,g8OAAg8O;AAAA,UAE/7O;AAAA,UAEA,sCAKC,SAAS,QAAQ,SAAS,qBAAqB;AAEtD;AACA,iBAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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", "names": ["_a", "value", "exports", "module", "$", "value", "event", "__webpack_require__", "module", "exports", "value", "key", "exports", "module", "t", "n", "e", "r", "o", "i", "a", "s", "l", "c", "u", "f", "h", "p", "y", "b", "g", "m", "_", "d", "v", "L", "O", "x", "$", "exports", "module", "t", "e", "r", "n", "o", "s", "i", "u", "h", "a", "p", "c", "f", "l", "y", "b", "m", "d", "S", "$", "L", "v", "g", "exports", "Barcode", "exports", "self", "CODE39", "characterValue", "exports", "value", "exports", "self", "CODE128", "exports", "matchSetALength", "matchSetBLength", "matchSetC", "exports", "self", "CODE128AUTO", "exports", "self", "CODE128A", "exports", "self", "CODE128B", "exports", "self", "CODE128C", "require_CODE128", "exports", "require_constants", "exports", "exports", "encode", "exports", "self", "EAN", "exports", "self", "checksum", "EAN13", "exports", "self", "checksum", "EAN8", "exports", "self", "checksum", "EAN5", "exports", "self", "EAN2", "exports", "self", "UPC", "exports", "self", "UPCE", "exports", "require_constants", "exports", "exports", "self", "ITF", "exports", "self", "checksum", "ITF14", "require_ITF", "exports", "exports", "self", "MSI", "exports", "exports", "self", "MSI10", "exports", "self", "MSI11", "exports", "self", "MSI1010", "exports", "self", "MSI1110", "require_MSI", "exports", "exports", "self", "pharmacode", "exports", "self", "codabar", "exports", "self", "GenericBarcode", "exports", "exports", "exports", "exports", "exports", "exports", "exports", "exports", "exports", "CanvasRenderer", "exports", "SVGRenderer", "exports", "ObjectRenderer", "exports", "exports", "self", "InvalidInputException", "InvalidElementException", "NoElementException", "exports", "exports", "ErrorHandler", "exports", "module", "API", "JsBarcode", "name", "exports", "module", "define", "o", "e", "n", "global", "Promise", "value", "self", "i", "key", "length", "idb", "forage", "err", "keys", "db", "t", "error", "resolve", "reject", "sameValue", "includes", "LocalForage", "configureMissingMethods", "methodNotImplementedFactory", "promise", "setDriverSupport", "supportedDrivers", "exports", "module", "global", "format", "locale", "to", "from", "now", "sign", "token", "ordinal", "i", "diff", "value", "localeData", "hours", "minutes", "tokens", "meridiem", "years", "months", "weeks", "days", "seconds", "milliseconds", "offset", "thresholds", "exports", "module", "a", "i", "r", "e", "o", "c", "A", "n", "t", "L", "t", "a", "s", "e", "i", "h", "o", "r", "c", "d", "l", "u", "m", "n", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "$", "_a", "status", "value", "set", "_a", "value", "_a", "value", "value", "value", "_a", "value", "parsed_components", "value", "value", "_a", "value", "value2", "_a", "value", "$", "_a", "value", "Awesomplete", "doctype", "_a", "_a", "value", "Quill", "ImageResize", "MagicUrl", "value", "_a", "import_quill", "import_quill", "import_quill", "Quill", "Quill", "Quill", "value", "_a", "value", "value", "value", "_a", "input_in_focus", "_a", "_a", "value", "d", "i", "value", "_a", "value", "_a", "value", "_a", "value", "_a", "value", "_a", "value", "import_awesomplete", "_a", "value", "Awesomplete", "value", "JsBarcode", "_a", "value", "import_awesomplete", "Awesomplete", "value", "value", "_a", "value", "import_awesomplete", "value", "_a", "Awesomplete", "_a", "value", "value", "value", "_a", "Picker", "value", "value", "value", "localforage", "data", "value", "ControlCode", "_a", "value", "df", "_a", "_a", "_a", "tab", "value", "_a", "value", "value", "_a", "parent_names", "checked_names", "value", "_a", "momentTimezone", "shortcut", "_a", "_a", "value", "value", "web_form_doc", "Dialog"] }