!function (f) { if ("object" == typeof exports && "undefined" != typeof module) module.exports = f(); else if ("function" == typeof define && define.amd) define([], f); else { var g; g = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, g.mammoth = f() } }(function () {
var define, module, exports; return function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { var a = "function" == typeof require && 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 } for (var i = "function" == typeof require && require, o = 0; o < r.length; o++)s(r[o]); return s }({
1: [function (require, module, exports) { function Files() { function read(uri) { return promises.reject(new Error("could not open external image: '" + uri + "'\ncannot open linked files from a web browser")) } return { read: read } } var promises = require("../../lib/promises"); exports.Files = Files }, { "../../lib/promises": 23 }], 2: [function (require, module, exports) { function openZip(options) { return options.arrayBuffer ? promises.resolve(zipfile.openArrayBuffer(options.arrayBuffer)) : promises.reject(new Error("Could not find file in options")) } var promises = require("../lib/promises"), zipfile = require("../lib/zipfile"); exports.openZip = openZip }, { "../lib/promises": 23, "../lib/zipfile": 40 }], 3: [function (require, module, exports) { function DocumentConverter(options) { return { convertToHtml: function (element) { var comments = _.indexBy(element.type === documents.types.document ? element.comments : [], "commentId"), conversion = new DocumentConversion(options, comments); return conversion.convertToHtml(element) } } } function DocumentConversion(options, comments) { function convertToHtml(document) { var messages = [], html = elementToHtml(document, messages, {}), deferredNodes = []; walkHtml(html, function (node) { "deferred" === node.type && deferredNodes.push(node) }); var deferredValues = {}; return promises.mapSeries(deferredNodes, function (deferred) { return deferred.value().then(function (value) { deferredValues[deferred.id] = value }) }).then(function () { function replaceDeferred(nodes) { return flatMap(nodes, function (node) { return "deferred" === node.type ? deferredValues[node.id] : node.children ? [_.extend({}, node, { children: replaceDeferred(node.children) })] : [node] }) } var writer = writers.writer({ prettyPrint: options.prettyPrint, outputFormat: options.outputFormat }); return Html.write(writer, Html.simplify(replaceDeferred(html))), new results.Result(writer.asString(), messages) }) } function convertElements(elements, messages, options) { return flatMap(elements, function (element) { return elementToHtml(element, messages, options) }) } function elementToHtml(element, messages, options) { if (!options) throw new Error("options not set"); var handler = elementConverters[element.type]; return handler ? handler(element, messages, options) : [] } function convertParagraph(element, messages, options) { return htmlPathForParagraph(element, messages).wrap(function () { var content = convertElements(element.children, messages, options); return ignoreEmptyParagraphs ? content : [Html.forceWrite].concat(content) }) } function htmlPathForParagraph(element, messages) { var style = findStyle(element); return style ? style.to : (element.styleId && messages.push(unrecognisedStyleWarning("paragraph", element)), defaultParagraphStyle) } function convertRun(run, messages, options) { var nodes = function () { return convertElements(run.children, messages, options) }, paths = []; run.isSmallCaps && paths.push(findHtmlPathForRunProperty("smallCaps")), run.isAllCaps && paths.push(findHtmlPathForRunProperty("allCaps")), run.isStrikethrough && paths.push(findHtmlPathForRunProperty("strikethrough", "s")), run.isUnderline && paths.push(findHtmlPathForRunProperty("underline")), run.verticalAlignment === documents.verticalAlignment.subscript && paths.push(htmlPaths.element("sub", {}, { fresh: !1 })), run.verticalAlignment === documents.verticalAlignment.superscript && paths.push(htmlPaths.element("sup", {}, { fresh: !1 })), run.isItalic && paths.push(findHtmlPathForRunProperty("italic", "em")), run.isBold && paths.push(findHtmlPathForRunProperty("bold", "strong")); var stylePath = htmlPaths.empty, style = findStyle(run); return style ? stylePath = style.to : run.styleId && messages.push(unrecognisedStyleWarning("run", run)), paths.push(stylePath), paths.forEach(function (path) { nodes = path.wrap.bind(path, nodes) }), nodes() } function findHtmlPathForRunProperty(elementType, defaultTagName) { var path = findHtmlPath({ type: elementType }); return path ? path : defaultTagName ? htmlPaths.element(defaultTagName, {}, { fresh: !1 }) : htmlPaths.empty } function findHtmlPath(element, defaultPath) { var style = findStyle(element); return style ? style.to : defaultPath } function findStyle(element) { for (var i = 0; i < styleMap.length; i++)if (styleMap[i].from.matches(element)) return styleMap[i] } function recoveringConvertImage(convertImage) { return function (image, messages) { return promises.attempt(function () { return convertImage(image, messages) }).caught(function (error) { return messages.push(results.error(error)), [] }) } } function noteHtmlId(note) { return referentHtmlId(note.noteType, note.noteId) } function noteRefHtmlId(note) { return referenceHtmlId(note.noteType, note.noteId) } function referentHtmlId(referenceType, referenceId) { return htmlId(referenceType + "-" + referenceId) } function referenceHtmlId(referenceType, referenceId) { return htmlId(referenceType + "-ref-" + referenceId) } function htmlId(suffix) { return idPrefix + suffix } function convertTable(element, messages, options) { return findHtmlPath(element, defaultTablePath).wrap(function () { return convertTableChildren(element, messages, options) }) } function convertTableChildren(element, messages, options) { var bodyIndex = _.findIndex(element.children, function (child) { return !child.type === documents.types.tableRow || !child.isHeader }); -1 === bodyIndex && (bodyIndex = element.children.length); var children; if (0 === bodyIndex) children = convertElements(element.children, messages, _.extend({}, options, { isTableHeader: !1 })); else { var headRows = convertElements(element.children.slice(0, bodyIndex), messages, _.extend({}, options, { isTableHeader: !0 })), bodyRows = convertElements(element.children.slice(bodyIndex), messages, _.extend({}, options, { isTableHeader: !1 })); children = [Html.freshElement("thead", {}, headRows), Html.freshElement("tbody", {}, bodyRows)] } return [Html.forceWrite].concat(children) } function convertTableRow(element, messages, options) { var children = convertElements(element.children, messages, options); return [Html.freshElement("tr", {}, [Html.forceWrite].concat(children))] } function convertTableCell(element, messages, options) { var tagName = options.isTableHeader ? "th" : "td", children = convertElements(element.children, messages, options), attributes = {}; return 1 !== element.colSpan && (attributes.colspan = element.colSpan.toString()), 1 !== element.rowSpan && (attributes.rowspan = element.rowSpan.toString()), [Html.freshElement(tagName, attributes, [Html.forceWrite].concat(children))] } function convertCommentReference(reference, messages, options) { return findHtmlPath(reference, htmlPaths.ignore).wrap(function () { var comment = comments[reference.commentId], count = referencedComments.length + 1, label = "[" + commentAuthorLabel(comment) + count + "]"; return referencedComments.push({ label: label, comment: comment }), [Html.freshElement("a", { href: "#" + referentHtmlId("comment", reference.commentId), id: referenceHtmlId("comment", reference.commentId) }, [Html.text(label)])] }) } function convertComment(referencedComment, messages, options) { var label = referencedComment.label, comment = referencedComment.comment, body = convertElements(comment.body, messages, options).concat([Html.nonFreshElement("p", {}, [Html.text(" "), Html.freshElement("a", { href: "#" + referenceHtmlId("comment", comment.commentId) }, [Html.text("↑")])])]); return [Html.freshElement("dt", { id: referentHtmlId("comment", comment.commentId) }, [Html.text("Comment " + label)]), Html.freshElement("dd", {}, body)] } function convertBreak(element, messages, options) { return htmlPathForBreak(element).wrap(function () { return [] }) } function htmlPathForBreak(element) { var style = findStyle(element); return style ? style.to : "line" === element.breakType ? htmlPaths.topLevelElement("br") : htmlPaths.empty } var noteNumber = 1, noteReferences = [], referencedComments = []; options = _.extend({ ignoreEmptyParagraphs: !0 }, options); var idPrefix = void 0 === options.idPrefix ? "" : options.idPrefix, ignoreEmptyParagraphs = options.ignoreEmptyParagraphs, defaultParagraphStyle = htmlPaths.topLevelElement("p"), styleMap = options.styleMap || [], defaultTablePath = htmlPaths.elements([htmlPaths.element("table", {}, { fresh: !0 })]), elementConverters = { document: function (document, messages, options) { var children = convertElements(document.children, messages, options), notes = noteReferences.map(function (noteReference) { return document.notes.resolve(noteReference) }), notesNodes = convertElements(notes, messages, options); return children.concat([Html.freshElement("ol", {}, notesNodes), Html.freshElement("dl", {}, flatMap(referencedComments, function (referencedComment) { return convertComment(referencedComment, messages, options) }))]) }, paragraph: convertParagraph, run: convertRun, text: function (element, messages, options) { return [Html.text(element.value)] }, tab: function (element, messages, options) { return [Html.text(" ")] }, hyperlink: function (element, messages, options) { var href = element.anchor ? "#" + htmlId(element.anchor) : element.href, attributes = { href: href }; null != element.targetFrame && (attributes.target = element.targetFrame); var children = convertElements(element.children, messages, options); return [Html.nonFreshElement("a", attributes, children)] }, bookmarkStart: function (element, messages, options) { var anchor = Html.freshElement("a", { id: htmlId(element.name) }, [Html.forceWrite]); return [anchor] }, noteReference: function (element, messages, options) { noteReferences.push(element); var anchor = Html.freshElement("a", { href: "#" + noteHtmlId(element), id: noteRefHtmlId(element) }, [Html.text("[" + noteNumber++ + "]")]); return [Html.freshElement("sup", {}, [anchor])] }, note: function (element, messages, options) { var children = convertElements(element.body, messages, options), backLink = Html.elementWithTag(htmlPaths.element("p", {}, { fresh: !1 }), [Html.text(" "), Html.freshElement("a", { href: "#" + noteRefHtmlId(element) }, [Html.text("↑")])]), body = children.concat([backLink]); return Html.freshElement("li", { id: noteHtmlId(element) }, body) }, commentReference: convertCommentReference, comment: convertComment, image: deferredConversion(recoveringConvertImage(options.convertImage || images.dataUri)), table: convertTable, tableRow: convertTableRow, tableCell: convertTableCell, "break": convertBreak }; return { convertToHtml: convertToHtml } } function deferredConversion(func) { return function (element, messages, options) { return [{ type: "deferred", id: deferredId++, value: function () { return func(element, messages, options) } }] } } function unrecognisedStyleWarning(type, element) { return results.warning("Unrecognised " + type + " style: '" + element.styleName + "' (Style ID: " + element.styleId + ")") } function flatMap(values, func) { return _.flatten(values.map(func), !0) } function walkHtml(nodes, callback) { nodes.forEach(function (node) { callback(node), node.children && walkHtml(node.children, callback) }) } var _ = require("underscore"), promises = require("./promises"), documents = require("./documents"), htmlPaths = require("./styles/html-paths"), results = require("./results"), images = require("./images"), Html = require("./html"), writers = require("./writers"); exports.DocumentConverter = DocumentConverter; var deferredId = 1, commentAuthorLabel = exports.commentAuthorLabel = function (comment) { return comment.authorInitials || "" } }, { "./documents": 4, "./html": 18, "./images": 20, "./promises": 23, "./results": 25, "./styles/html-paths": 28, "./writers": 33, underscore: 103 }], 4: [function (require, module, exports) { (function (Buffer) { function Document(children, options) { return options = options || {}, { type: types.document, children: children, notes: options.notes || new Notes({}), comments: options.comments || [] } } function Paragraph(children, properties) { properties = properties || {}; var indent = properties.indent || {}; return { type: types.paragraph, children: children, styleId: properties.styleId || null, styleName: properties.styleName || null, numbering: properties.numbering || null, alignment: properties.alignment || null, indent: { start: indent.start || null, end: indent.end || null, firstLine: indent.firstLine || null, hanging: indent.hanging || null } } } function Run(children, properties) { return properties = properties || {}, { type: types.run, children: children, styleId: properties.styleId || null, styleName: properties.styleName || null, isBold: !!properties.isBold, isUnderline: !!properties.isUnderline, isItalic: !!properties.isItalic, isStrikethrough: !!properties.isStrikethrough, isAllCaps: !!properties.isAllCaps, isSmallCaps: !!properties.isSmallCaps, verticalAlignment: properties.verticalAlignment || verticalAlignment.baseline, font: properties.font || null, fontSize: properties.fontSize || null } } function Text(value) { return { type: types.text, value: value } } function Tab() { return { type: types.tab } } function Hyperlink(children, options) { return { type: types.hyperlink, children: children, href: options.href, anchor: options.anchor, targetFrame: options.targetFrame } } function NoteReference(options) { return { type: types.noteReference, noteType: options.noteType, noteId: options.noteId } } function Notes(notes) { this._notes = _.indexBy(notes, function (note) { return noteKey(note.noteType, note.noteId) }) } function Note(options) { return { type: types.note, noteType: options.noteType, noteId: options.noteId, body: options.body } } function commentReference(options) { return { type: types.commentReference, commentId: options.commentId } } function comment(options) { return { type: types.comment, commentId: options.commentId, body: options.body, authorName: options.authorName, authorInitials: options.authorInitials } } function noteKey(noteType, id) { return noteType + "-" + id } function Image(options) { return { type: types.image, read: function (encoding) { return encoding ? options.readImage(encoding) : options.readImage().then(function (arrayBuffer) { return Buffer.from(arrayBuffer) }) }, readAsArrayBuffer: function () { return options.readImage() }, readAsBase64String: function () { return options.readImage("base64") }, readAsBuffer: function () { return options.readImage().then(function (arrayBuffer) { return Buffer.from(arrayBuffer) }) }, altText: options.altText, contentType: options.contentType } } function Table(children, properties) { return properties = properties || {}, { type: types.table, children: children, styleId: properties.styleId || null, styleName: properties.styleName || null } } function TableRow(children, options) { return options = options || {}, { type: types.tableRow, children: children, isHeader: options.isHeader || !1 } } function TableCell(children, options) { return options = options || {}, { type: types.tableCell, children: children, colSpan: null == options.colSpan ? 1 : options.colSpan, rowSpan: null == options.rowSpan ? 1 : options.rowSpan } } function Break(breakType) { return { type: types["break"], breakType: breakType } } function BookmarkStart(options) { return { type: types.bookmarkStart, name: options.name } } var _ = require("underscore"), types = exports.types = { document: "document", paragraph: "paragraph", run: "run", text: "text", tab: "tab", hyperlink: "hyperlink", noteReference: "noteReference", image: "image", note: "note", commentReference: "commentReference", comment: "comment", table: "table", tableRow: "tableRow", tableCell: "tableCell", "break": "break", bookmarkStart: "bookmarkStart" }, verticalAlignment = { baseline: "baseline", superscript: "superscript", subscript: "subscript" }; Notes.prototype.resolve = function (reference) { return this.findNoteByKey(noteKey(reference.noteType, reference.noteId)) }, Notes.prototype.findNoteByKey = function (key) { return this._notes[key] || null }, exports.document = exports.Document = Document, exports.paragraph = exports.Paragraph = Paragraph, exports.run = exports.Run = Run, exports.text = exports.Text = Text, exports.tab = exports.Tab = Tab, exports.Hyperlink = Hyperlink, exports.noteReference = exports.NoteReference = NoteReference, exports.Notes = Notes, exports.Note = Note, exports.commentReference = commentReference, exports.comment = comment, exports.Image = Image, exports.Table = Table, exports.TableRow = TableRow, exports.TableCell = TableCell, exports.lineBreak = Break("line"), exports.pageBreak = Break("page"), exports.columnBreak = Break("column"), exports.BookmarkStart = BookmarkStart, exports.verticalAlignment = verticalAlignment }).call(this, require("buffer").Buffer) }, { buffer: 83, underscore: 103 }], 5: [function (require, module, exports) { function createBodyReader(options) { return { readXmlElement: function (element) { return new BodyReader(options).readXmlElement(element) }, readXmlElements: function (elements) { return new BodyReader(options).readXmlElements(elements) } } } function BodyReader(options) { function readXmlElements(elements) { var results = elements.map(readXmlElement); return combineResults(results) } function readXmlElement(element) { if ("element" === element.type) { var handler = xmlElementReaders[element.name]; if (handler) return handler(element); if (!Object.prototype.hasOwnProperty.call(ignoreElements, element.name)) { var message = warning("An unrecognised element was ignored: " + element.name); return emptyResultWithMessages([message]) } } return emptyResult() } function readParagraphProperties(element) { return readParagraphStyle(element).map(function (style) { return { type: "paragraphProperties", styleId: style.styleId, styleName: style.name, alignment: element.firstOrEmpty("w:jc").attributes["w:val"], numbering: readNumberingProperties(style.styleId, element.firstOrEmpty("w:numPr"), numbering), indent: readParagraphIndent(element.firstOrEmpty("w:ind")) } }) } function readParagraphIndent(element) { return { start: element.attributes["w:start"] || element.attributes["w:left"], end: element.attributes["w:end"] || element.attributes["w:right"], firstLine: element.attributes["w:firstLine"], hanging: element.attributes["w:hanging"] } } function readRunProperties(element) { return readRunStyle(element).map(function (style) { var fontSizeString = element.firstOrEmpty("w:sz").attributes["w:val"], fontSize = /^[0-9]+$/.test(fontSizeString) ? parseInt(fontSizeString, 10) / 2 : null; return { type: "runProperties", styleId: style.styleId, styleName: style.name, verticalAlignment: element.firstOrEmpty("w:vertAlign").attributes["w:val"], font: element.firstOrEmpty("w:rFonts").attributes["w:ascii"], fontSize: fontSize, isBold: readBooleanElement(element.first("w:b")), isUnderline: readUnderline(element.first("w:u")), isItalic: readBooleanElement(element.first("w:i")), isStrikethrough: readBooleanElement(element.first("w:strike")), isAllCaps: readBooleanElement(element.first("w:caps")), isSmallCaps: readBooleanElement(element.first("w:smallCaps")) } }) } function readUnderline(element) { if (element) { var value = element.attributes["w:val"]; return void 0 !== value && "false" !== value && "0" !== value && "none" !== value } return !1 } function readBooleanElement(element) { if (element) { var value = element.attributes["w:val"]; return "false" !== value && "0" !== value } return !1 } function readParagraphStyle(element) { return readStyle(element, "w:pStyle", "Paragraph", styles.findParagraphStyleById) } function readRunStyle(element) { return readStyle(element, "w:rStyle", "Run", styles.findCharacterStyleById) } function readTableStyle(element) { return readStyle(element, "w:tblStyle", "Table", styles.findTableStyleById) } function readStyle(element, styleTagName, styleType, findStyleById) { var messages = [], styleElement = element.first(styleTagName), styleId = null, name = null; if (styleElement && (styleId = styleElement.attributes["w:val"])) { var style = findStyleById(styleId); style ? name = style.name : messages.push(undefinedStyleWarning(styleType, styleId)) } return elementResultWithMessages({ styleId: styleId, name: name }, messages) } function readFldChar(element) { var type = element.attributes["w:fldCharType"]; if ("begin" === type) complexFieldStack.push(unknownComplexField), currentInstrText = []; else if ("end" === type) complexFieldStack.pop(); else if ("separate" === type) { var hyperlinkOptions = parseHyperlinkFieldCode(currentInstrText.join("")), complexField = null === hyperlinkOptions ? unknownComplexField : { type: "hyperlink", options: hyperlinkOptions }; complexFieldStack.pop(), complexFieldStack.push(complexField) } return emptyResult() } function currentHyperlinkOptions() { var topHyperlink = _.last(complexFieldStack.filter(function (complexField) { return "hyperlink" === complexField.type })); return topHyperlink ? topHyperlink.options : null } function parseHyperlinkFieldCode(code) { var externalLinkResult = /\s*HYPERLINK "(.*)"/.exec(code); if (externalLinkResult) return { href: externalLinkResult[1] }; var internalLinkResult = /\s*HYPERLINK\s+\\l\s+"(.*)"/.exec(code); return internalLinkResult ? { anchor: internalLinkResult[1] } : null } function readInstrText(element) { return currentInstrText.push(element.text()), emptyResult() } function readSymbol(element) { var font = element.attributes["w:font"], char = element.attributes["w:char"], unicodeCharacter = dingbatToUnicode.hex(font, char); return null == unicodeCharacter && /^F0..$/.test(char) && (unicodeCharacter = dingbatToUnicode.hex(font, char.substring(2))), null == unicodeCharacter ? emptyResultWithMessages([warning("A w:sym element with an unsupported character was ignored: char " + char + " in font " + font)]) : elementResult(new documents.Text(unicodeCharacter.string)) } function noteReferenceReader(noteType) { return function (element) { var noteId = element.attributes["w:id"]; return elementResult(new documents.NoteReference({ noteType: noteType, noteId: noteId })) } } function readCommentReference(element) { return elementResult(documents.commentReference({ commentId: element.attributes["w:id"] })) } function readChildElements(element) { return readXmlElements(element.children) } function readTable(element) { var propertiesResult = readTableProperties(element.firstOrEmpty("w:tblPr")); return readXmlElements(element.children).flatMap(calculateRowSpans).flatMap(function (children) { return propertiesResult.map(function (properties) { return documents.Table(children, properties) }) }) } function readTableProperties(element) { return readTableStyle(element).map(function (style) { return { styleId: style.styleId, styleName: style.name } }) } function readTableRow(element) { var properties = element.firstOrEmpty("w:trPr"), isHeader = !!properties.first("w:tblHeader"); return readXmlElements(element.children).map(function (children) { return documents.TableRow(children, { isHeader: isHeader }) }) } function readTableCell(element) { return readXmlElements(element.children).map(function (children) { var properties = element.firstOrEmpty("w:tcPr"), gridSpan = properties.firstOrEmpty("w:gridSpan").attributes["w:val"], colSpan = gridSpan ? parseInt(gridSpan, 10) : 1, cell = documents.TableCell(children, { colSpan: colSpan }); return cell._vMerge = readVMerge(properties), cell }) } function readVMerge(properties) { var element = properties.first("w:vMerge"); if (element) { var val = element.attributes["w:val"]; return "continue" === val || !val } return null } function calculateRowSpans(rows) { var unexpectedNonRows = _.any(rows, function (row) { return row.type !== documents.types.tableRow }); if (unexpectedNonRows) return elementResultWithMessages(rows, [warning("unexpected non-row element in table, cell merging may be incorrect")]); var unexpectedNonCells = _.any(rows, function (row) { return _.any(row.children, function (cell) { return cell.type !== documents.types.tableCell }) }); if (unexpectedNonCells) return elementResultWithMessages(rows, [warning("unexpected non-cell element in table row, cell merging may be incorrect")]); var columns = {}; return rows.forEach(function (row) { var cellIndex = 0; row.children.forEach(function (cell) { cell._vMerge && columns[cellIndex] ? columns[cellIndex].rowSpan++ : (columns[cellIndex] = cell, cell._vMerge = !1), cellIndex += cell.colSpan }) }), rows.forEach(function (row) { row.children = row.children.filter(function (cell) { return !cell._vMerge }), row.children.forEach(function (cell) { delete cell._vMerge }) }), elementResult(rows) } function readDrawingElement(element) { var blips = element.getElementsByTagName("a:graphic").getElementsByTagName("a:graphicData").getElementsByTagName("pic:pic").getElementsByTagName("pic:blipFill").getElementsByTagName("a:blip"); return combineResults(blips.map(readBlip.bind(null, element))) } function readBlip(element, blip) { var properties = element.first("wp:docPr").attributes, altText = isBlank(properties.descr) ? properties.title : properties.descr, blipImageFile = findBlipImageFile(blip); return null === blipImageFile ? emptyResultWithMessages([warning("Could not find image file for a:blip element")]) : readImage(blipImageFile, altText) } function isBlank(value) { return null == value || /^\s*$/.test(value) } function findBlipImageFile(blip) { var embedRelationshipId = blip.attributes["r:embed"], linkRelationshipId = blip.attributes["r:link"]; if (embedRelationshipId) return findEmbeddedImageFile(embedRelationshipId); if (linkRelationshipId) { var imagePath = relationships.findTargetByRelationshipId(linkRelationshipId); return { path: imagePath, read: files.read.bind(files, imagePath) } } return null } function readImageData(element) { var relationshipId = element.attributes["r:id"]; return relationshipId ? readImage(findEmbeddedImageFile(relationshipId), element.attributes["o:title"]) : emptyResultWithMessages([warning("A v:imagedata element without a relationship ID was ignored")]) } function findEmbeddedImageFile(relationshipId) { var path = uris.uriToZipEntryName("word", relationships.findTargetByRelationshipId(relationshipId)); return { path: path, read: docxFile.read.bind(docxFile, path) } } function readImage(imageFile, altText) { var contentType = contentTypes.findContentType(imageFile.path), image = documents.Image({ readImage: imageFile.read, altText: altText, contentType: contentType }), warnings = supportedImageTypes[contentType] ? [] : warning("Image of type " + contentType + " is unlikely to display in web browsers"); return elementResultWithMessages(image, warnings) } function undefinedStyleWarning(type, styleId) { return warning(type + " style with ID " + styleId + " was referenced but not defined in the document") } var complexFieldStack = [], currentInstrText = [], deletedParagraphContents = [], relationships = options.relationships, contentTypes = options.contentTypes, docxFile = options.docxFile, files = options.files, numbering = options.numbering, styles = options.styles, unknownComplexField = { type: "unknown" }, xmlElementReaders = { "w:p": function (element) { var paragraphPropertiesElement = element.firstOrEmpty("w:pPr"), isDeleted = !!paragraphPropertiesElement.firstOrEmpty("w:rPr").first("w:del"); if (isDeleted) return element.children.forEach(function (child) { deletedParagraphContents.push(child) }), emptyResult(); var childrenXml = element.children; return deletedParagraphContents.length > 0 && (childrenXml = deletedParagraphContents.concat(childrenXml), deletedParagraphContents = []), ReadResult.map(readParagraphProperties(paragraphPropertiesElement), readXmlElements(childrenXml), function (properties, children) { return new documents.Paragraph(children, properties) }).insertExtra() }, "w:r": function (element) { return ReadResult.map(readRunProperties(element.firstOrEmpty("w:rPr")), readXmlElements(element.children), function (properties, children) { var hyperlinkOptions = currentHyperlinkOptions(); return null !== hyperlinkOptions && (children = [new documents.Hyperlink(children, hyperlinkOptions)]), new documents.Run(children, properties) }) }, "w:fldChar": readFldChar, "w:instrText": readInstrText, "w:t": function (element) { return elementResult(new documents.Text(element.text())) }, "w:tab": function (element) { return elementResult(new documents.Tab) }, "w:noBreakHyphen": function () { return elementResult(new documents.Text("‑")) }, "w:softHyphen": function (element) { return elementResult(new documents.Text("")) }, "w:sym": readSymbol, "w:hyperlink": function (element) { var relationshipId = element.attributes["r:id"], anchor = element.attributes["w:anchor"]; return readXmlElements(element.children).map(function (children) { function create(options) { var targetFrame = element.attributes["w:tgtFrame"] || null; return new documents.Hyperlink(children, _.extend({ targetFrame: targetFrame }, options)) } if (relationshipId) { var href = relationships.findTargetByRelationshipId(relationshipId); return anchor && (href = uris.replaceFragment(href, anchor)), create({ href: href }) } return anchor ? create({ anchor: anchor }) : children }) }, "w:tbl": readTable, "w:tr": readTableRow, "w:tc": readTableCell, "w:footnoteReference": noteReferenceReader("footnote"), "w:endnoteReference": noteReferenceReader("endnote"), "w:commentReference": readCommentReference, "w:br": function (element) { var breakType = element.attributes["w:type"]; return null == breakType || "textWrapping" === breakType ? elementResult(documents.lineBreak) : "page" === breakType ? elementResult(documents.pageBreak) : "column" === breakType ? elementResult(documents.columnBreak) : emptyResultWithMessages([warning("Unsupported break type: " + breakType)]) }, "w:bookmarkStart": function (element) { var name = element.attributes["w:name"]; return "_GoBack" === name ? emptyResult() : elementResult(new documents.BookmarkStart({ name: name })) }, "mc:AlternateContent": function (element) { return readChildElements(element.first("mc:Fallback")) }, "w:sdt": function (element) { return readXmlElements(element.firstOrEmpty("w:sdtContent").children) }, "w:ins": readChildElements, "w:object": readChildElements, "w:smartTag": readChildElements, "w:drawing": readChildElements, "w:pict": function (element) { return readChildElements(element).toExtra() }, "v:roundrect": readChildElements, "v:shape": readChildElements, "v:textbox": readChildElements, "w:txbxContent": readChildElements, "wp:inline": readDrawingElement, "wp:anchor": readDrawingElement, "v:imagedata": readImageData, "v:group": readChildElements, "v:rect": readChildElements }; return { readXmlElement: readXmlElement, readXmlElements: readXmlElements } } function readNumberingProperties(styleId, element, numbering) { if (null != styleId) { var levelByStyleId = numbering.findLevelByParagraphStyleId(styleId); if (null != levelByStyleId) return levelByStyleId } var level = element.firstOrEmpty("w:ilvl").attributes["w:val"], numId = element.firstOrEmpty("w:numId").attributes["w:val"]; return void 0 === level || void 0 === numId ? null : numbering.findLevel(numId, level) } function emptyResultWithMessages(messages) { return new ReadResult(null, null, messages) } function emptyResult() { return new ReadResult(null) } function elementResult(element) { return new ReadResult(element) } function elementResultWithMessages(element, messages) { return new ReadResult(element, null, messages) } function ReadResult(element, extra, messages) { this.value = element || [], this.extra = extra || [], this._result = new Result({ element: this.value, extra: extra }, messages), this.messages = this._result.messages } function combineResults(results) { var result = Result.combine(_.pluck(results, "_result")); return new ReadResult(_.flatten(_.pluck(result.value, "element")), _.filter(_.flatten(_.pluck(result.value, "extra")), identity), result.messages) } function joinElements(first, second) { return _.flatten([first, second]) } function identity(value) { return value } exports.createBodyReader = createBodyReader, exports._readNumberingProperties = readNumberingProperties; var dingbatToUnicode = require("dingbat-to-unicode"), _ = require("underscore"), documents = require("../documents"), Result = require("../results").Result, warning = require("../results").warning, uris = require("./uris"), supportedImageTypes = { "image/png": !0, "image/gif": !0, "image/jpeg": !0, "image/svg+xml": !0, "image/tiff": !0 }, ignoreElements = { "office-word:wrap": !0, "v:shadow": !0, "v:shapetype": !0, "w:annotationRef": !0, "w:bookmarkEnd": !0, "w:sectPr": !0, "w:proofErr": !0, "w:lastRenderedPageBreak": !0, "w:commentRangeStart": !0, "w:commentRangeEnd": !0, "w:del": !0, "w:footnoteRef": !0, "w:endnoteRef": !0, "w:pPr": !0, "w:rPr": !0, "w:tblPr": !0, "w:tblGrid": !0, "w:trPr": !0, "w:tcPr": !0 }; ReadResult.prototype.toExtra = function () { return new ReadResult(null, joinElements(this.extra, this.value), this.messages) }, ReadResult.prototype.insertExtra = function () { var extra = this.extra; return extra && extra.length ? new ReadResult(joinElements(this.value, extra), null, this.messages) : this }, ReadResult.prototype.map = function (func) { var result = this._result.map(function (value) { return func(value.element) }); return new ReadResult(result.value, this.extra, result.messages) }, ReadResult.prototype.flatMap = function (func) { var result = this._result.flatMap(function (value) { return func(value.element)._result }); return new ReadResult(result.value.element, joinElements(this.extra, result.value.extra), result.messages) }, ReadResult.map = function (first, second, func) { return new ReadResult(func(first.value, second.value), joinElements(first.extra, second.extra), first.messages.concat(second.messages)) } }, { "../documents": 4, "../results": 25, "./uris": 16, "dingbat-to-unicode": 85, underscore: 103 }], 6: [function (require, module, exports) {
function createCommentsReader(bodyReader) {
function readCommentsXml(element) {
return Result.combine(element.getElementsByTagName("w:comment").map(readCommentElement))
} function readCommentElement(element) { function readOptionalAttribute(name) { return (element.attributes[name] || "").trim() || null } var id = element.attributes["w:id"]; return bodyReader.readXmlElements(element.children).map(function (body) { return documents.comment({ commentId: id, body: body, authorName: readOptionalAttribute("w:author"), authorInitials: readOptionalAttribute("w:initials") }) }) } return readCommentsXml
} var documents = require("../documents"), Result = require("../results").Result; exports.createCommentsReader = createCommentsReader
}, { "../documents": 4, "../results": 25 }], 7: [function (require, module, exports) { function readContentTypesFromXml(element) { var extensionDefaults = {}, overrides = {}; return element.children.forEach(function (child) { if ("content-types:Default" === child.name && (extensionDefaults[child.attributes.Extension] = child.attributes.ContentType), "content-types:Override" === child.name) { var name = child.attributes.PartName; "/" === name.charAt(0) && (name = name.substring(1)), overrides[name] = child.attributes.ContentType } }), contentTypes(overrides, extensionDefaults) } function contentTypes(overrides, extensionDefaults) { return { findContentType: function (path) { var overrideContentType = overrides[path]; if (overrideContentType) return overrideContentType; var pathParts = path.split("."), extension = pathParts[pathParts.length - 1]; if (extensionDefaults.hasOwnProperty(extension)) return extensionDefaults[extension]; var fallback = fallbackContentTypes[extension.toLowerCase()]; return fallback ? "image/" + fallback : null } } } exports.readContentTypesFromXml = readContentTypesFromXml; var fallbackContentTypes = { png: "png", gif: "gif", jpeg: "jpeg", jpg: "jpeg", tif: "tiff", tiff: "tiff", bmp: "bmp" }; exports.defaultContentTypes = contentTypes({}, {}) }, {}], 8: [function (require, module, exports) { function DocumentXmlReader(options) { function convertXmlToDocument(element) { var body = element.first("w:body"), result = bodyReader.readXmlElements(body.children).map(function (children) { return new documents.Document(children, { notes: options.notes, comments: options.comments }) }); return new Result(result.value, result.messages) } var bodyReader = options.bodyReader; return { convertXmlToDocument: convertXmlToDocument } } exports.DocumentXmlReader = DocumentXmlReader; var documents = require("../documents"), Result = require("../results").Result }, { "../documents": 4, "../results": 25 }], 9: [function (require, module, exports) { function read(docxFile, input) { return input = input || {}, promises.props({ contentTypes: readContentTypesFromZipFile(docxFile), partPaths: findPartPaths(docxFile), docxFile: docxFile, files: new Files(input.path ? path.dirname(input.path) : null) }).also(function (result) { return { styles: readStylesFromZipFile(docxFile, result.partPaths.styles) } }).also(function (result) { return { numbering: readNumberingFromZipFile(docxFile, result.partPaths.numbering, result.styles) } }).also(function (result) { return { footnotes: readXmlFileWithBody(result.partPaths.footnotes, result, function (bodyReader, xml) { return xml ? notesReader.createFootnotesReader(bodyReader)(xml) : new Result([]) }), endnotes: readXmlFileWithBody(result.partPaths.endnotes, result, function (bodyReader, xml) { return xml ? notesReader.createEndnotesReader(bodyReader)(xml) : new Result([]) }), comments: readXmlFileWithBody(result.partPaths.comments, result, function (bodyReader, xml) { return xml ? commentsReader.createCommentsReader(bodyReader)(xml) : new Result([]) }) } }).also(function (result) { return { notes: result.footnotes.flatMap(function (footnotes) { return result.endnotes.map(function (endnotes) { return new documents.Notes(footnotes.concat(endnotes)) }) }) } }).then(function (result) { return readXmlFileWithBody(result.partPaths.mainDocument, result, function (bodyReader, xml) { return result.notes.flatMap(function (notes) { return result.comments.flatMap(function (comments) { var reader = new DocumentXmlReader({ bodyReader: bodyReader, notes: notes, comments: comments }); return reader.convertXmlToDocument(xml) }) }) }) }) } function findPartPaths(docxFile) { return readPackageRelationships(docxFile).then(function (packageRelationships) { var mainDocumentPath = findPartPath({ docxFile: docxFile, relationships: packageRelationships, relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument", basePath: "", fallbackPath: "word/document.xml" }); if (!docxFile.exists(mainDocumentPath)) throw new Error("Could not find main document part. Are you sure this is a valid .docx file?"); return xmlFileReader({ filename: relationshipsFilename(mainDocumentPath), readElement: relationshipsReader.readRelationships, defaultValue: relationshipsReader.defaultValue })(docxFile).then(function (documentRelationships) { function findPartRelatedToMainDocument(name) { return findPartPath({ docxFile: docxFile, relationships: documentRelationships, relationshipType: "http://schemas.openxmlformats.org/officeDocument/2006/relationships/" + name, basePath: zipfile.splitPath(mainDocumentPath).dirname, fallbackPath: "word/" + name + ".xml" }) } return { mainDocument: mainDocumentPath, comments: findPartRelatedToMainDocument("comments"), endnotes: findPartRelatedToMainDocument("endnotes"), footnotes: findPartRelatedToMainDocument("footnotes"), numbering: findPartRelatedToMainDocument("numbering"), styles: findPartRelatedToMainDocument("styles") } }) }) } function findPartPath(options) { var docxFile = options.docxFile, relationships = options.relationships, relationshipType = options.relationshipType, basePath = options.basePath, fallbackPath = options.fallbackPath, targets = relationships.findTargetsByType(relationshipType), normalisedTargets = targets.map(function (target) { return stripPrefix(zipfile.joinPath(basePath, target), "/") }), validTargets = normalisedTargets.filter(function (target) { return docxFile.exists(target) }); return 0 === validTargets.length ? fallbackPath : validTargets[0] } function stripPrefix(value, prefix) { return value.substring(0, prefix.length) === prefix ? value.substring(prefix.length) : value } function xmlFileReader(options) { return function (zipFile) { return readXmlFromZipFile(zipFile, options.filename).then(function (element) { return element ? options.readElement(element) : options.defaultValue }) } } function readXmlFileWithBody(filename, options, func) { var readRelationshipsFromZipFile = xmlFileReader({ filename: relationshipsFilename(filename), readElement: relationshipsReader.readRelationships, defaultValue: relationshipsReader.defaultValue }); return readRelationshipsFromZipFile(options.docxFile).then(function (relationships) { var bodyReader = new createBodyReader({ relationships: relationships, contentTypes: options.contentTypes, docxFile: options.docxFile, numbering: options.numbering, styles: options.styles, files: options.files }); return readXmlFromZipFile(options.docxFile, filename).then(function (xml) { return func(bodyReader, xml) }) }) } function relationshipsFilename(filename) { var split = zipfile.splitPath(filename); return zipfile.joinPath(split.dirname, "_rels", split.basename + ".rels") } function readNumberingFromZipFile(zipFile, path, styles) { return xmlFileReader({ filename: path, readElement: function (element) { return numberingXml.readNumberingXml(element, { styles: styles }) }, defaultValue: numberingXml.defaultNumbering })(zipFile) } function readStylesFromZipFile(zipFile, path) { return xmlFileReader({ filename: path, readElement: stylesReader.readStylesXml, defaultValue: stylesReader.defaultStyles })(zipFile) } exports.read = read, exports._findPartPaths = findPartPaths; var path = require("path"), promises = require("../promises"), documents = require("../documents"), Result = require("../results").Result, zipfile = require("../zipfile"), readXmlFromZipFile = require("./office-xml-reader").readXmlFromZipFile, createBodyReader = require("./body-reader").createBodyReader, DocumentXmlReader = require("./document-xml-reader").DocumentXmlReader, relationshipsReader = require("./relationships-reader"), contentTypesReader = require("./content-types-reader"), numberingXml = require("./numbering-xml"), stylesReader = require("./styles-reader"), notesReader = require("./notes-reader"), commentsReader = require("./comments-reader"), Files = require("./files").Files, readContentTypesFromZipFile = xmlFileReader({ filename: "[Content_Types].xml", readElement: contentTypesReader.readContentTypesFromXml, defaultValue: contentTypesReader.defaultContentTypes }), readPackageRelationships = xmlFileReader({ filename: "_rels/.rels", readElement: relationshipsReader.readRelationships, defaultValue: relationshipsReader.defaultValue }) }, { "../documents": 4, "../promises": 23, "../results": 25, "../zipfile": 40, "./body-reader": 5, "./comments-reader": 6, "./content-types-reader": 7, "./document-xml-reader": 8, "./files": 1, "./notes-reader": 10, "./numbering-xml": 11, "./office-xml-reader": 12, "./relationships-reader": 13, "./styles-reader": 15, path: 101 }], 10: [function (require, module, exports) { function createReader(noteType, bodyReader) { function readNotesXml(element) { return Result.combine(element.getElementsByTagName("w:" + noteType).filter(isFootnoteElement).map(readFootnoteElement)) } function isFootnoteElement(element) { var type = element.attributes["w:type"]; return "continuationSeparator" !== type && "separator" !== type } function readFootnoteElement(footnoteElement) { var id = footnoteElement.attributes["w:id"]; return bodyReader.readXmlElements(footnoteElement.children).map(function (body) { return documents.Note({ noteType: noteType, noteId: id, body: body }) }) } return readNotesXml } var documents = require("../documents"), Result = require("../results").Result; exports.createFootnotesReader = createReader.bind(this, "footnote"), exports.createEndnotesReader = createReader.bind(this, "endnote") }, { "../documents": 4, "../results": 25 }], 11: [function (require, module, exports) { function Numbering(nums, abstractNums, styles) { function findLevel(numId, level) { var num = nums[numId]; if (num) { var abstractNum = abstractNums[num.abstractNumId]; if (abstractNum) { if (null == abstractNum.numStyleLink) return abstractNums[num.abstractNumId].levels[level]; var style = styles.findNumberingStyleById(abstractNum.numStyleLink); return findLevel(style.numId, level) } return null } return null } function findLevelByParagraphStyleId(styleId) { return levelsByParagraphStyleId[styleId] || null } var allLevels = _.flatten(_.values(abstractNums).map(function (abstractNum) { return _.values(abstractNum.levels) })), levelsByParagraphStyleId = _.indexBy(allLevels.filter(function (level) { return null != level.paragraphStyleId }), "paragraphStyleId"); return { findLevel: findLevel, findLevelByParagraphStyleId: findLevelByParagraphStyleId } } function readNumberingXml(root, options) { if (!options || !options.styles) throw new Error("styles is missing"); var abstractNums = readAbstractNums(root), nums = readNums(root, abstractNums); return new Numbering(nums, abstractNums, options.styles) } function readAbstractNums(root) { var abstractNums = {}; return root.getElementsByTagName("w:abstractNum").forEach(function (element) { var id = element.attributes["w:abstractNumId"]; abstractNums[id] = readAbstractNum(element) }), abstractNums } function readAbstractNum(element) { var levels = {}; element.getElementsByTagName("w:lvl").forEach(function (levelElement) { var levelIndex = levelElement.attributes["w:ilvl"], numFmt = levelElement.first("w:numFmt").attributes["w:val"], paragraphStyleId = levelElement.firstOrEmpty("w:pStyle").attributes["w:val"]; levels[levelIndex] = { isOrdered: "bullet" !== numFmt, level: levelIndex, paragraphStyleId: paragraphStyleId } }); var numStyleLink = element.firstOrEmpty("w:numStyleLink").attributes["w:val"]; return { levels: levels, numStyleLink: numStyleLink } } function readNums(root) { var nums = {}; return root.getElementsByTagName("w:num").forEach(function (element) { var numId = element.attributes["w:numId"], abstractNumId = element.first("w:abstractNumId").attributes["w:val"]; nums[numId] = { abstractNumId: abstractNumId } }), nums } var _ = require("underscore"); exports.readNumberingXml = readNumberingXml, exports.Numbering = Numbering, exports.defaultNumbering = new Numbering({}, {}) }, { underscore: 103 }], 12: [function (require, module, exports) { function read(xmlString) { return xml.readString(xmlString, xmlNamespaceMap).then(function (document) { return collapseAlternateContent(document)[0] }) } function readXmlFromZipFile(docxFile, path) { return docxFile.exists(path) ? docxFile.read(path, "utf-8").then(stripUtf8Bom).then(read) : promises.resolve(null) } function stripUtf8Bom(xmlString) { return xmlString.replace(/^\uFEFF/g, "") } function collapseAlternateContent(node) { return "element" === node.type ? "mc:AlternateContent" === node.name ? node.first("mc:Fallback").children : (node.children = _.flatten(node.children.map(collapseAlternateContent, !0)), [node]) : [node] } var _ = require("underscore"), promises = require("../promises"), xml = require("../xml"); exports.read = read, exports.readXmlFromZipFile = readXmlFromZipFile; var xmlNamespaceMap = { "http://schemas.openxmlformats.org/wordprocessingml/2006/main": "w", "http://schemas.openxmlformats.org/officeDocument/2006/relationships": "r", "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing": "wp", "http://schemas.openxmlformats.org/drawingml/2006/main": "a", "http://schemas.openxmlformats.org/drawingml/2006/picture": "pic", "http://schemas.openxmlformats.org/package/2006/content-types": "content-types", "urn:schemas-microsoft-com:vml": "v", "http://schemas.openxmlformats.org/markup-compatibility/2006": "mc", "urn:schemas-microsoft-com:office:word": "office-word" } }, { "../promises": 23, "../xml": 35, underscore: 103 }], 13: [function (require, module, exports) { function readRelationships(element) { var relationships = []; return element.children.forEach(function (child) { if ("{http://schemas.openxmlformats.org/package/2006/relationships}Relationship" === child.name) { var relationship = { relationshipId: child.attributes.Id, target: child.attributes.Target, type: child.attributes.Type }; relationships.push(relationship) } }), new Relationships(relationships) } function Relationships(relationships) { var targetsByRelationshipId = {}; relationships.forEach(function (relationship) { targetsByRelationshipId[relationship.relationshipId] = relationship.target }); var targetsByType = {}; return relationships.forEach(function (relationship) { targetsByType[relationship.type] || (targetsByType[relationship.type] = []), targetsByType[relationship.type].push(relationship.target) }), { findTargetByRelationshipId: function (relationshipId) { return targetsByRelationshipId[relationshipId] }, findTargetsByType: function (type) { return targetsByType[type] || [] } } } exports.readRelationships = readRelationships, exports.defaultValue = new Relationships([]), exports.Relationships = Relationships }, {}], 14: [function (require, module, exports) { function writeStyleMap(docxFile, styleMap) { return docxFile.write(styleMapPath, styleMap), updateRelationships(docxFile).then(function () { return updateContentTypes(docxFile) }) } function updateRelationships(docxFile) { var path = "word/_rels/document.xml.rels", relationshipsUri = "http://schemas.openxmlformats.org/package/2006/relationships", relationshipElementName = "{" + relationshipsUri + "}Relationship"; return docxFile.read(path, "utf8").then(xml.readString).then(function (relationshipsContainer) { var relationships = relationshipsContainer.children; addOrUpdateElement(relationships, relationshipElementName, "Id", { Id: "rMammothStyleMap", Type: schema, Target: styleMapAbsolutePath }); var namespaces = { "": relationshipsUri }; return docxFile.write(path, xml.writeString(relationshipsContainer, namespaces)) }) } function updateContentTypes(docxFile) { var path = "[Content_Types].xml", contentTypesUri = "http://schemas.openxmlformats.org/package/2006/content-types", overrideName = "{" + contentTypesUri + "}Override"; return docxFile.read(path, "utf8").then(xml.readString).then(function (typesElement) { var children = typesElement.children; addOrUpdateElement(children, overrideName, "PartName", { PartName: styleMapAbsolutePath, ContentType: "text/prs.mammoth.style-map" }); var namespaces = { "": contentTypesUri }; return docxFile.write(path, xml.writeString(typesElement, namespaces)) }) } function addOrUpdateElement(elements, name, identifyingAttribute, attributes) { var existingElement = _.find(elements, function (element) { return element.name === name && element.attributes[identifyingAttribute] === attributes[identifyingAttribute] }); existingElement ? existingElement.attributes = attributes : elements.push(xml.element(name, attributes)) } function readStyleMap(docxFile) { return docxFile.exists(styleMapPath) ? docxFile.read(styleMapPath, "utf8") : promises.resolve(null) } var _ = require("underscore"), promises = require("../promises"), xml = require("../xml"); exports.writeStyleMap = writeStyleMap, exports.readStyleMap = readStyleMap; var schema = "http://schemas.zwobble.org/mammoth/style-map", styleMapPath = "mammoth/style-map", styleMapAbsolutePath = "/" + styleMapPath }, { "../promises": 23, "../xml": 35, underscore: 103 }], 15: [function (require, module, exports) { function Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles) { return { findParagraphStyleById: function (styleId) { return paragraphStyles[styleId] }, findCharacterStyleById: function (styleId) { return characterStyles[styleId] }, findTableStyleById: function (styleId) { return tableStyles[styleId] }, findNumberingStyleById: function (styleId) { return numberingStyles[styleId] } } } function readStylesXml(root) { var paragraphStyles = {}, characterStyles = {}, tableStyles = {}, numberingStyles = {}, styles = { paragraph: paragraphStyles, character: characterStyles, table: tableStyles }; return root.getElementsByTagName("w:style").forEach(function (styleElement) { var style = readStyleElement(styleElement); if ("numbering" === style.type) numberingStyles[style.styleId] = readNumberingStyleElement(styleElement); else { var styleSet = styles[style.type]; styleSet && (styleSet[style.styleId] = style) } }), new Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles) } function readStyleElement(styleElement) { var type = styleElement.attributes["w:type"], styleId = styleElement.attributes["w:styleId"], name = styleName(styleElement); return { type: type, styleId: styleId, name: name } } function styleName(styleElement) { var nameElement = styleElement.first("w:name"); return nameElement ? nameElement.attributes["w:val"] : null } function readNumberingStyleElement(styleElement) { var numId = styleElement.firstOrEmpty("w:pPr").firstOrEmpty("w:numPr").firstOrEmpty("w:numId").attributes["w:val"]; return { numId: numId } } exports.readStylesXml = readStylesXml, exports.Styles = Styles, exports.defaultStyles = new Styles({}, {}), Styles.EMPTY = new Styles({}, {}, {}, {}) }, {}], 16: [function (require, module, exports) { function uriToZipEntryName(base, uri) { return "/" === uri.charAt(0) ? uri.substr(1) : base + "/" + uri } function replaceFragment(uri, fragment) { var hashIndex = uri.indexOf("#"); return -1 !== hashIndex && (uri = uri.substring(0, hashIndex)), uri + "#" + fragment } exports.uriToZipEntryName = uriToZipEntryName, exports.replaceFragment = replaceFragment }, {}], 17: [function (require, module, exports) { function nonFreshElement(tagName, attributes, children) { return elementWithTag(htmlPaths.element(tagName, attributes, { fresh: !1 }), children) } function freshElement(tagName, attributes, children) { var tag = htmlPaths.element(tagName, attributes, { fresh: !0 }); return elementWithTag(tag, children) } function elementWithTag(tag, children) { return { type: "element", tag: tag, children: children || [] } } function text(value) { return { type: "text", value: value } } function isVoidElement(node) { return 0 === node.children.length && voidTagNames[node.tag.tagName] } var htmlPaths = require("../styles/html-paths"), forceWrite = { type: "forceWrite" }; exports.freshElement = freshElement, exports.nonFreshElement = nonFreshElement, exports.elementWithTag = elementWithTag, exports.text = text, exports.forceWrite = forceWrite; var voidTagNames = { br: !0, hr: !0, img: !0 }; exports.isVoidElement = isVoidElement }, { "../styles/html-paths": 28 }], 18: [function (require, module, exports) { function write(writer, nodes) { nodes.forEach(function (node) { writeNode(writer, node) }) } function writeNode(writer, node) { toStrings[node.type](writer, node) } function generateElementString(writer, node) { ast.isVoidElement(node) ? writer.selfClosing(node.tag.tagName, node.tag.attributes) : (writer.open(node.tag.tagName, node.tag.attributes), write(writer, node.children), writer.close(node.tag.tagName)) } function generateTextString(writer, node) { writer.text(node.value) } var ast = require("./ast"); exports.freshElement = ast.freshElement, exports.nonFreshElement = ast.nonFreshElement, exports.elementWithTag = ast.elementWithTag, exports.text = ast.text, exports.forceWrite = ast.forceWrite, exports.simplify = require("./simplify"); var toStrings = { element: generateElementString, text: generateTextString, forceWrite: function () { } }; exports.write = write }, { "./ast": 17, "./simplify": 19 }], 19: [function (require, module, exports) { function simplify(nodes) { return collapse(removeEmpty(nodes)) } function collapse(nodes) { var children = []; return nodes.map(collapseNode).forEach(function (child) { appendChild(children, child) }), children } function collapseNode(node) { return collapsers[node.type](node) } function collapseElement(node) { return ast.elementWithTag(node.tag, collapse(node.children)) } function identity(value) { return value } function appendChild(children, child) { var lastChild = children[children.length - 1]; "element" === child.type && !child.tag.fresh && lastChild && "element" === lastChild.type && child.tag.matchesElement(lastChild.tag) ? (child.tag.separator && appendChild(lastChild.children, ast.text(child.tag.separator)), child.children.forEach(function (grandChild) { appendChild(lastChild.children, grandChild) })) : children.push(child) } function removeEmpty(nodes) { return flatMap(nodes, function (node) { return emptiers[node.type](node) }) } function flatMap(values, func) { return _.flatten(_.map(values, func), !0) } function neverEmpty(node) { return [node] } function elementEmptier(element) { var children = removeEmpty(element.children); return 0 !== children.length || ast.isVoidElement(element) ? [ast.elementWithTag(element.tag, children)] : [] } function textEmptier(node) { return 0 === node.value.length ? [] : [node] } var _ = require("underscore"), ast = require("./ast"), collapsers = { element: collapseElement, text: identity, forceWrite: identity }, emptiers = { element: elementEmptier, text: textEmptier, forceWrite: neverEmpty }; module.exports = simplify }, { "./ast": 17, underscore: 103 }], 20: [function (require, module, exports) { function imgElement(func) { return function (element, messages) { return promises.when(func(element)).then(function (result) { var attributes = {}; return element.altText && (attributes.alt = element.altText), _.extend(attributes, result), [Html.freshElement("img", attributes)] }) } } var _ = require("underscore"), promises = require("./promises"), Html = require("./html"); exports.imgElement = imgElement, exports.inline = exports.imgElement, exports.dataUri = imgElement(function (element) { return element.readAsBase64String().then(function (imageBuffer) { return { src: "data:" + element.contentType + ";base64," + imageBuffer } }) }) }, { "./html": 18, "./promises": 23, underscore: 103 }], 21: [function (require, module, exports) { (function (Buffer) { function convertToHtml(input, options) { return convert(input, options) } function convertToMarkdown(input, options) { var markdownOptions = Object.create(options || {}); return markdownOptions.outputFormat = "markdown", convert(input, markdownOptions) } function convert(input, options) { return options = readOptions(options), unzip.openZip(input).tap(function (docxFile) { return docxStyleMap.readStyleMap(docxFile).then(function (styleMap) { options.embeddedStyleMap = styleMap }) }).then(function (docxFile) { return docxReader.read(docxFile, input).then(function (documentResult) { return documentResult.map(options.transformDocument) }).then(function (documentResult) { return convertDocumentToHtml(documentResult, options) }) }) } function readEmbeddedStyleMap(input) { return unzip.openZip(input).then(docxStyleMap.readStyleMap) } function convertDocumentToHtml(documentResult, options) { var styleMapResult = parseStyleMap(options.readStyleMap()), parsedOptions = _.extend({}, options, { styleMap: styleMapResult.value }), documentConverter = new DocumentConverter(parsedOptions); return documentResult.flatMapThen(function (document) { return styleMapResult.flatMapThen(function (styleMap) { return documentConverter.convertToHtml(document) }) }) } function parseStyleMap(styleMap) { return Result.combine((styleMap || []).map(readStyle)).map(function (styleMap) { return styleMap.filter(function (styleMapping) { return !!styleMapping }) }) } function extractRawText(input) { return unzip.openZip(input).then(docxReader.read).then(function (documentResult) { return documentResult.map(convertElementToRawText) }) } function embedStyleMap(input, styleMap) { return unzip.openZip(input).tap(function (docxFile) { return docxStyleMap.writeStyleMap(docxFile, styleMap) }).then(function (docxFile) { return docxFile.toArrayBuffer() }).then(function (arrayBuffer) { return { toArrayBuffer: function () { return arrayBuffer }, toBuffer: function () { return Buffer.from(arrayBuffer) } } }) } var _ = require("underscore"), docxReader = require("./docx/docx-reader"), docxStyleMap = require("./docx/style-map"), DocumentConverter = require("./document-to-html").DocumentConverter, convertElementToRawText = require("./raw-text").convertElementToRawText, readStyle = require("./style-reader").readStyle, readOptions = require("./options-reader").readOptions, unzip = require("./unzip"), Result = require("./results").Result; exports.convertToHtml = convertToHtml, exports.convertToMarkdown = convertToMarkdown, exports.convert = convert, exports.extractRawText = extractRawText, exports.images = require("./images"), exports.transforms = require("./transforms"), exports.underline = require("./underline"), exports.embedStyleMap = embedStyleMap, exports.readEmbeddedStyleMap = readEmbeddedStyleMap, exports.styleMapping = function () { throw new Error("Use a raw string instead of mammoth.styleMapping e.g. \"p[style-name='Title'] => h1\" instead of mammoth.styleMapping(\"p[style-name='Title'] => h1\")") } }).call(this, require("buffer").Buffer) }, { "./document-to-html": 3, "./docx/docx-reader": 9, "./docx/style-map": 14, "./images": 20, "./options-reader": 22, "./raw-text": 24, "./results": 25, "./style-reader": 26, "./transforms": 30, "./underline": 31, "./unzip": 2, buffer: 83, underscore: 103 }], 22: [function (require, module, exports) { function readOptions(options) { return options = options || {}, _.extend({}, standardOptions, options, { customStyleMap: readStyleMap(options.styleMap), readStyleMap: function () { var styleMap = this.customStyleMap; return this.includeEmbeddedStyleMap && (styleMap = styleMap.concat(readStyleMap(this.embeddedStyleMap))), this.includeDefaultStyleMap && (styleMap = styleMap.concat(defaultStyleMap)), styleMap } }) } function readStyleMap(styleMap) { return styleMap ? _.isString(styleMap) ? styleMap.split("\n").map(function (line) { return line.trim() }).filter(function (line) { return "" !== line && "#" !== line.charAt(0) }) : styleMap : [] } function identity(value) { return value } exports.readOptions = readOptions; var _ = require("underscore"), defaultStyleMap = exports._defaultStyleMap = ["p.Heading1 => h1:fresh", "p.Heading2 => h2:fresh", "p.Heading3 => h3:fresh", "p.Heading4 => h4:fresh", "p.Heading5 => h5:fresh", "p.Heading6 => h6:fresh", "p[style-name='Heading 1'] => h1:fresh", "p[style-name='Heading 2'] => h2:fresh", "p[style-name='Heading 3'] => h3:fresh", "p[style-name='Heading 4'] => h4:fresh", "p[style-name='Heading 5'] => h5:fresh", "p[style-name='Heading 6'] => h6:fresh", "p[style-name='heading 1'] => h1:fresh", "p[style-name='heading 2'] => h2:fresh", "p[style-name='heading 3'] => h3:fresh", "p[style-name='heading 4'] => h4:fresh", "p[style-name='heading 5'] => h5:fresh", "p[style-name='heading 6'] => h6:fresh", "r[style-name='Strong'] => strong", "p[style-name='footnote text'] => p:fresh", "r[style-name='footnote reference'] =>", "p[style-name='endnote text'] => p:fresh", "r[style-name='endnote reference'] =>", "p[style-name='annotation text'] => p:fresh", "r[style-name='annotation reference'] =>", "p[style-name='Footnote'] => p:fresh", "r[style-name='Footnote anchor'] =>", "p[style-name='Endnote'] => p:fresh", "r[style-name='Endnote anchor'] =>", "p:unordered-list(1) => ul > li:fresh", "p:unordered-list(2) => ul|ol > li > ul > li:fresh", "p:unordered-list(3) => ul|ol > li > ul|ol > li > ul > li:fresh", "p:unordered-list(4) => ul|ol > li > ul|ol > li > ul|ol > li > ul > li:fresh", "p:unordered-list(5) => ul|ol > li > ul|ol > li > ul|ol > li > ul|ol > li > ul > li:fresh", "p:ordered-list(1) => ol > li:fresh", "p:ordered-list(2) => ul|ol > li > ol > li:fresh", "p:ordered-list(3) => ul|ol > li > ul|ol > li > ol > li:fresh", "p:ordered-list(4) => ul|ol > li > ul|ol > li > ul|ol > li > ol > li:fresh", "p:ordered-list(5) => ul|ol > li > ul|ol > li > ul|ol > li > ul|ol > li > ol > li:fresh", "r[style-name='Hyperlink'] =>", "p[style-name='Normal'] => p:fresh"], standardOptions = exports._standardOptions = { transformDocument: identity, includeDefaultStyleMap: !0, includeEmbeddedStyleMap: !0 } }, { underscore: 103 }], 23: [function (require, module, exports) { function defer() { var resolve, reject, promise = new bluebird.Promise(function (resolveArg, rejectArg) { resolve = resolveArg, reject = rejectArg }); return { resolve: resolve, reject: reject, promise: promise } } var _ = require("underscore"), bluebird = require("bluebird/js/release/promise")(); exports.defer = defer, exports.when = bluebird.resolve, exports.resolve = bluebird.resolve, exports.all = bluebird.all, exports.props = bluebird.props, exports.reject = bluebird.reject, exports.promisify = bluebird.promisify, exports.mapSeries = bluebird.mapSeries, exports.attempt = bluebird.attempt, exports.nfcall = function (func) { var args = Array.prototype.slice.call(arguments, 1), promisedFunc = bluebird.promisify(func); return promisedFunc.apply(null, args) }, bluebird.prototype.fail = bluebird.prototype.caught, bluebird.prototype.also = function (func) { return this.then(function (value) { var returnValue = _.extend({}, value, func(value)); return bluebird.props(returnValue) }) } }, { "bluebird/js/release/promise": 68, underscore: 103 }], 24: [function (require, module, exports) { function convertElementToRawText(element) { if ("text" === element.type) return element.value; if (element.type === documents.types.tab) return " "; var tail = "paragraph" === element.type ? "\n\n" : ""; return (element.children || []).map(convertElementToRawText).join("") + tail } var documents = require("./documents"); exports.convertElementToRawText = convertElementToRawText }, { "./documents": 4 }], 25: [function (require, module, exports) { function Result(value, messages) { this.value = value, this.messages = messages || [] } function success(value) { return new Result(value, []) } function warning(message) { return { type: "warning", message: message } } function error(exception) { return { type: "error", message: exception.message, error: exception } } function combineMessages(results) { var messages = []; return _.flatten(_.pluck(results, "messages"), !0).forEach(function (message) { containsMessage(messages, message) || messages.push(message) }), messages } function containsMessage(messages, message) { return void 0 !== _.find(messages, isSameMessage.bind(null, message)) } function isSameMessage(first, second) { return first.type === second.type && first.message === second.message } var _ = require("underscore"); exports.Result = Result, exports.success = success, exports.warning = warning, exports.error = error, Result.prototype.map = function (func) { return new Result(func(this.value), this.messages) }, Result.prototype.flatMap = function (func) { var funcResult = func(this.value); return new Result(funcResult.value, combineMessages([this, funcResult])) }, Result.prototype.flatMapThen = function (func) { var that = this; return func(this.value).then(function (otherResult) { return new Result(otherResult.value, combineMessages([that, otherResult])) }) }, Result.combine = function (results) { var values = _.flatten(_.pluck(results, "value")), messages = combineMessages(results); return new Result(values, messages) } }, { underscore: 103 }], 26: [function (require, module, exports) {
function readStyle(string) { return parseString(styleRule, string) } function createStyleRule() { return lop.rules.sequence(lop.rules.sequence.capture(documentMatcherRule()), lop.rules.tokenOfType("whitespace"), lop.rules.tokenOfType("arrow"), lop.rules.sequence.capture(lop.rules.optional(lop.rules.sequence(lop.rules.tokenOfType("whitespace"), lop.rules.sequence.capture(htmlPathRule())).head())), lop.rules.tokenOfType("end")).map(function (documentMatcher, htmlPath) { return { from: documentMatcher, to: htmlPath.valueOrElse(htmlPaths.empty) } }) } function readDocumentMatcher(string) { return parseString(documentMatcherRule(), string) } function documentMatcherRule() {
function createMatcherSuffixesRule(rules) { var matcherSuffix = lop.rules.firstOf.apply(lop.rules.firstOf, ["matcher suffix"].concat(rules)), matcherSuffixes = lop.rules.zeroOrMore(matcherSuffix); return lop.rules.then(matcherSuffixes, function (suffixes) { var matcherOptions = {}; return suffixes.forEach(function (suffix) { _.extend(matcherOptions, suffix) }), matcherOptions }) } var sequence = lop.rules.sequence, identifierToConstant = function (identifier, constant) {
return lop.rules.then(lop.rules.token("identifier", identifier), function () { return constant })
}, paragraphRule = identifierToConstant("p", documentMatchers.paragraph), runRule = identifierToConstant("r", documentMatchers.run), elementTypeRule = lop.rules.firstOf("p or r or table", paragraphRule, runRule), styleIdRule = lop.rules.then(classRule, function (styleId) { return { styleId: styleId } }), styleNameMatcherRule = lop.rules.firstOf("style name matcher", lop.rules.then(lop.rules.sequence(lop.rules.tokenOfType("equals"), lop.rules.sequence.cut(), lop.rules.sequence.capture(stringRule)).head(), function (styleName) { return { styleName: documentMatchers.equalTo(styleName) } }), lop.rules.then(lop.rules.sequence(lop.rules.tokenOfType("startsWith"), lop.rules.sequence.cut(), lop.rules.sequence.capture(stringRule)).head(), function (styleName) { return { styleName: documentMatchers.startsWith(styleName) } })), styleNameRule = lop.rules.sequence(lop.rules.tokenOfType("open-square-bracket"), lop.rules.sequence.cut(), lop.rules.token("identifier", "style-name"), lop.rules.sequence.capture(styleNameMatcherRule), lop.rules.tokenOfType("close-square-bracket")).head(), listTypeRule = lop.rules.firstOf("list type", identifierToConstant("ordered-list", { isOrdered: !0 }), identifierToConstant("unordered-list", { isOrdered: !1 })), listRule = sequence(lop.rules.tokenOfType("colon"), sequence.capture(listTypeRule), sequence.cut(), lop.rules.tokenOfType("open-paren"), sequence.capture(integerRule), lop.rules.tokenOfType("close-paren")).map(function (listType, levelNumber) { return { list: { isOrdered: listType.isOrdered, levelIndex: levelNumber - 1 } } }), paragraphOrRun = sequence(sequence.capture(elementTypeRule), sequence.capture(createMatcherSuffixesRule([styleIdRule, styleNameRule, listRule]))).map(function (createMatcher, matcherOptions) { return createMatcher(matcherOptions) }), table = sequence(lop.rules.token("identifier", "table"), sequence.capture(createMatcherSuffixesRule([styleIdRule, styleNameRule]))).map(function (options) { return documentMatchers.table(options) }), bold = identifierToConstant("b", documentMatchers.bold), italic = identifierToConstant("i", documentMatchers.italic), underline = identifierToConstant("u", documentMatchers.underline), strikethrough = identifierToConstant("strike", documentMatchers.strikethrough), allCaps = identifierToConstant("all-caps", documentMatchers.allCaps), smallCaps = identifierToConstant("small-caps", documentMatchers.smallCaps), commentReference = identifierToConstant("comment-reference", documentMatchers.commentReference), breakMatcher = sequence(lop.rules.token("identifier", "br"), sequence.cut(), lop.rules.tokenOfType("open-square-bracket"), lop.rules.token("identifier", "type"), lop.rules.tokenOfType("equals"), sequence.capture(stringRule), lop.rules.tokenOfType("close-square-bracket")).map(function (breakType) { switch (breakType) { case "line": return documentMatchers.lineBreak; case "page": return documentMatchers.pageBreak; case "column": return documentMatchers.columnBreak } }); return lop.rules.firstOf("element type", paragraphOrRun, table, bold, italic, underline, strikethrough, allCaps, smallCaps, commentReference, breakMatcher)
} function readHtmlPath(string) { return parseString(htmlPathRule(), string) } function htmlPathRule() { var capture = lop.rules.sequence.capture, whitespaceRule = lop.rules.tokenOfType("whitespace"), freshRule = lop.rules.then(lop.rules.optional(lop.rules.sequence(lop.rules.tokenOfType("colon"), lop.rules.token("identifier", "fresh"))), function (option) { return option.map(function () { return !0 }).valueOrElse(!1) }), separatorRule = lop.rules.then(lop.rules.optional(lop.rules.sequence(lop.rules.tokenOfType("colon"), lop.rules.token("identifier", "separator"), lop.rules.tokenOfType("open-paren"), capture(stringRule), lop.rules.tokenOfType("close-paren")).head()), function (option) { return option.valueOrElse("") }), tagNamesRule = lop.rules.oneOrMoreWithSeparator(identifierRule, lop.rules.tokenOfType("choice")), styleElementRule = lop.rules.sequence(capture(tagNamesRule), capture(lop.rules.zeroOrMore(classRule)), capture(freshRule), capture(separatorRule)).map(function (tagName, classNames, fresh, separator) { var attributes = {}, options = {}; return classNames.length > 0 && (attributes["class"] = classNames.join(" ")), fresh && (options.fresh = !0), separator && (options.separator = separator), htmlPaths.element(tagName, attributes, options) }); return lop.rules.firstOf("html path", lop.rules.then(lop.rules.tokenOfType("bang"), function () { return htmlPaths.ignore }), lop.rules.then(lop.rules.zeroOrMoreWithSeparator(styleElementRule, lop.rules.sequence(whitespaceRule, lop.rules.tokenOfType("gt"), whitespaceRule)), htmlPaths.elements)) } function decodeEscapeSequences(value) { return value.replace(/\\(.)/g, function (match, code) { return escapeSequences[code] || code }) } function parseString(rule, string) { var tokens = tokenise(string), parser = lop.Parser(), parseResult = parser.parseTokens(rule, tokens); return parseResult.isSuccess() ? results.success(parseResult.value()) : new results.Result(null, [results.warning(describeFailure(string, parseResult))]) } function describeFailure(input, parseResult) { return "Did not understand this style mapping, so ignored it: " + input + "\n" + parseResult.errors().map(describeError).join("\n") } function describeError(error) { return "Error was at character number " + error.characterNumber() + ": Expected " + error.expected + " but got " + error.actual } var _ = require("underscore"), lop = require("lop"), documentMatchers = require("./styles/document-matchers"), htmlPaths = require("./styles/html-paths"), tokenise = require("./styles/parser/tokeniser").tokenise, results = require("./results"); exports.readHtmlPath = readHtmlPath, exports.readDocumentMatcher = readDocumentMatcher, exports.readStyle = readStyle; var identifierRule = lop.rules.then(lop.rules.tokenOfType("identifier"), decodeEscapeSequences), integerRule = lop.rules.tokenOfType("integer"), stringRule = lop.rules.then(lop.rules.tokenOfType("string"), decodeEscapeSequences), escapeSequences = { n: "\n", r: "\r", t: " " }, classRule = lop.rules.sequence(lop.rules.tokenOfType("dot"), lop.rules.sequence.cut(), lop.rules.sequence.capture(identifierRule)).head(), styleRule = createStyleRule()
}, { "./results": 25, "./styles/document-matchers": 27, "./styles/html-paths": 28, "./styles/parser/tokeniser": 29, lop: 89, underscore: 103 }], 27: [function (require, module, exports) { function paragraph(options) { return new Matcher("paragraph", options) } function run(options) { return new Matcher("run", options) } function table(options) { return new Matcher("table", options) } function Matcher(elementType, options) { options = options || {}, this._elementType = elementType, this._styleId = options.styleId, this._styleName = options.styleName, options.list && (this._listIndex = options.list.levelIndex, this._listIsOrdered = options.list.isOrdered) } function isList(element, levelIndex, isOrdered) { return element.numbering && element.numbering.level == levelIndex && element.numbering.isOrdered == isOrdered } function equalTo(value) { return { operator: operatorEqualTo, operand: value } } function startsWith(value) { return { operator: operatorStartsWith, operand: value } } function operatorEqualTo(first, second) { return first.toUpperCase() === second.toUpperCase() } function operatorStartsWith(first, second) { return 0 === second.toUpperCase().indexOf(first.toUpperCase()) } exports.paragraph = paragraph, exports.run = run, exports.table = table, exports.bold = new Matcher("bold"), exports.italic = new Matcher("italic"), exports.underline = new Matcher("underline"), exports.strikethrough = new Matcher("strikethrough"), exports.allCaps = new Matcher("allCaps"), exports.smallCaps = new Matcher("smallCaps"), exports.commentReference = new Matcher("commentReference"), exports.lineBreak = new Matcher("break", { breakType: "line" }), exports.pageBreak = new Matcher("break", { breakType: "page" }), exports.columnBreak = new Matcher("break", { breakType: "column" }), exports.equalTo = equalTo, exports.startsWith = startsWith, Matcher.prototype.matches = function (element) { return element.type === this._elementType && (void 0 === this._styleId || element.styleId === this._styleId) && (void 0 === this._styleName || element.styleName && this._styleName.operator(this._styleName.operand, element.styleName)) && (void 0 === this._listIndex || isList(element, this._listIndex, this._listIsOrdered)) && (void 0 === this._breakType || this._breakType === element.breakType) } }, {}], 28: [function (require, module, exports) { function topLevelElement(tagName, attributes) { return elements([element(tagName, attributes, { fresh: !0 })]) } function elements(elementStyles) { return new HtmlPath(elementStyles.map(function (elementStyle) { return _.isString(elementStyle) ? element(elementStyle) : elementStyle })) } function HtmlPath(elements) { this._elements = elements } function element(tagName, attributes, options) { return options = options || {}, new Element(tagName, attributes, options) } function Element(tagName, attributes, options) { var tagNames = {}; _.isArray(tagName) ? (tagName.forEach(function (tagName) { tagNames[tagName] = !0 }), tagName = tagName[0]) : tagNames[tagName] = !0, this.tagName = tagName, this.tagNames = tagNames, this.attributes = attributes || {}, this.fresh = options.fresh, this.separator = options.separator } var _ = require("underscore"), html = require("../html"); exports.topLevelElement = topLevelElement, exports.elements = elements, exports.element = element, HtmlPath.prototype.wrap = function (children) { for (var result = children(), index = this._elements.length - 1; index >= 0; index--)result = this._elements[index].wrapNodes(result); return result }, Element.prototype.matchesElement = function (element) { return this.tagNames[element.tagName] && _.isEqual(this.attributes || {}, element.attributes || {}) }, Element.prototype.wrap = function (generateNodes) { return this.wrapNodes(generateNodes()) }, Element.prototype.wrapNodes = function (nodes) { return [html.elementWithTag(this, nodes)] }, exports.empty = elements([]), exports.ignore = { wrap: function () { return [] } } }, { "../html": 18, underscore: 103 }], 29: [function (require, module, exports) { function tokenise(string) { var identifierCharacter = "(?:[a-zA-Z\\-_]|\\\\.)", tokeniser = new RegexTokeniser([{ name: "identifier", regex: new RegExp("(" + identifierCharacter + "(?:" + identifierCharacter + "|[0-9])*)") }, { name: "dot", regex: /\./ }, { name: "colon", regex: /:/ }, { name: "gt", regex: />/ }, { name: "whitespace", regex: /\s+/ }, { name: "arrow", regex: /=>/ }, { name: "equals", regex: /=/ }, { name: "startsWith", regex: /\^=/ }, { name: "open-paren", regex: /\(/ }, { name: "close-paren", regex: /\)/ }, { name: "open-square-bracket", regex: /\[/ }, { name: "close-square-bracket", regex: /\]/ }, { name: "string", regex: new RegExp(stringPrefix + "'") }, { name: "unterminated-string", regex: new RegExp(stringPrefix) }, { name: "integer", regex: /([0-9]+)/ }, { name: "choice", regex: /\|/ }, { name: "bang", regex: /(!)/ }]); return tokeniser.tokenise(string) } var lop = require("lop"), RegexTokeniser = lop.RegexTokeniser; exports.tokenise = tokenise; var stringPrefix = "'((?:\\\\.|[^'])*)" }, { lop: 89 }], 30: [function (require, module, exports) { function paragraph(transform) { return elementsOfType("paragraph", transform) } function run(transform) { return elementsOfType("run", transform) } function elementsOfType(elementType, transform) { return elements(function (element) { return element.type === elementType ? transform(element) : element }) } function elements(transform) { return function transformElement(element) { if (element.children) { var children = _.map(element.children, transformElement); element = _.extend(element, { children: children }) } return transform(element) } } function getDescendantsOfType(element, type) { return getDescendants(element).filter(function (descendant) { return descendant.type === type }) } function getDescendants(element) { var descendants = []; return visitDescendants(element, function (descendant) { descendants.push(descendant) }), descendants } function visitDescendants(element, visit) { element.children && element.children.forEach(function (child) { visitDescendants(child, visit), visit(child) }) } var _ = require("underscore"); exports.paragraph = paragraph, exports.run = run, exports._elements = elements, exports.getDescendantsOfType = getDescendantsOfType, exports.getDescendants = getDescendants }, { underscore: 103 }], 31: [function (require, module, exports) { function element(name) { return function (html) { return Html.elementWithTag(htmlPaths.element(name), [html]) } } var htmlPaths = require("./styles/html-paths"), Html = require("./html"); exports.element = element }, { "./html": 18, "./styles/html-paths": 28 }], 32: [function (require, module, exports) { function writer(options) { return options = options || {}, options.prettyPrint ? prettyWriter() : simpleWriter() } function prettyWriter() { function open(tagName, attributes) { indentedElements[tagName] && indent(), stack.push(tagName), writer.open(tagName, attributes), indentedElements[tagName] && indentationLevel++, start = !1 } function close(tagName) { indentedElements[tagName] && (indentationLevel--, indent()), stack.pop(), writer.close(tagName) } function text(value) { startText(); var text = isInPre() ? value : value.replace("\n", "\n" + indentation); writer.text(text) } function selfClosing(tagName, attributes) { indent(), writer.selfClosing(tagName, attributes) } function insideIndentedElement() { return 0 === stack.length || indentedElements[stack[stack.length - 1]] } function startText() { inText || (indent(), inText = !0) } function indent() { if (inText = !1, !start && insideIndentedElement() && !isInPre()) { writer._append("\n"); for (var i = 0; indentationLevel > i; i++)writer._append(indentation) } } function isInPre() { return _.some(stack, function (tagName) { return "pre" === tagName }) } var indentationLevel = 0, indentation = " ", stack = [], start = !0, inText = !1, writer = simpleWriter(); return { asString: writer.asString, open: open, close: close, text: text, selfClosing: selfClosing } } function simpleWriter() { function open(tagName, attributes) { var attributeString = generateAttributeString(attributes); fragments.push("<" + tagName + attributeString + ">") } function close(tagName) { fragments.push("" + tagName + ">") } function selfClosing(tagName, attributes) { var attributeString = generateAttributeString(attributes); fragments.push("<" + tagName + attributeString + " />") } function generateAttributeString(attributes) { return _.map(attributes, function (value, key) { return " " + key + '="' + escapeHtmlAttribute(value) + '"' }).join("") } function text(value) { fragments.push(escapeHtmlText(value)) } function append(html) { fragments.push(html) } function asString() { return fragments.join("") } var fragments = []; return { asString: asString, open: open, close: close, text: text, selfClosing: selfClosing, _append: append } } function escapeHtmlText(value) { return value.replace(/&/g, "&").replace(//g, ">") } function escapeHtmlAttribute(value) { return value.replace(/&/g, "&").replace(/"/g, """).replace(//g, ">") } var _ = require("underscore"); exports.writer = writer; var indentedElements = { div: !0, p: !0, ul: !0, li: !0 } }, { underscore: 103 }], 33: [function (require, module, exports) { function writer(options) { return options = options || {}, "markdown" === options.outputFormat ? markdownWriter.writer() : htmlWriter.writer(options) } var htmlWriter = require("./html-writer"), markdownWriter = require("./markdown-writer"); exports.writer = writer }, { "./html-writer": 32, "./markdown-writer": 34 }], 34: [function (require, module, exports) { function symmetricMarkdownElement(end) { return markdownElement(end, end) } function markdownElement(start, end) { return function () { return { start: start, end: end } } } function markdownLink(attributes) { var href = attributes.href || ""; return href ? { start: "[", end: "](" + href + ")", anchorPosition: "before" } : {} } function markdownImage(attributes) { var src = attributes.src || "", altText = attributes.alt || ""; return src || altText ? { start: "" } : {} } function markdownList(options) { return function (attributes, list) { return { start: list ? "\n" : "", end: list ? "" : "\n", list: { isOrdered: options.isOrdered, indent: list ? list.indent + 1 : 0, count: 0 } } } } function markdownListItem(attributes, list, listItem) { list = list || { indent: 0, isOrdered: !1, count: 0 }, list.count++, listItem.hasClosed = !1; var bullet = list.isOrdered ? list.count + "." : "-", start = repeatString(" ", list.indent) + bullet + " "; return { start: start, end: function () { return listItem.hasClosed ? void 0 : (listItem.hasClosed = !0, "\n") } } } function repeatString(value, count) { return new Array(count + 1).join(value) } function markdownWriter() { function open(tagName, attributes) { attributes = attributes || {}; var createElement = htmlToMarkdown[tagName] || function () { return {} }, element = createElement(attributes, list, listItem); elementStack.push({ end: element.end, list: list }), element.list && (list = element.list); var anchorBeforeStart = "before" === element.anchorPosition; anchorBeforeStart && writeAnchor(attributes), fragments.push(element.start || ""), anchorBeforeStart || writeAnchor(attributes) } function writeAnchor(attributes) { attributes.id && fragments.push('') } function close(tagName) { var element = elementStack.pop(); list = element.list; var end = _.isFunction(element.end) ? element.end() : element.end; fragments.push(end || "") } function selfClosing(tagName, attributes) { open(tagName, attributes), close(tagName) } function text(value) { fragments.push(escapeMarkdown(value)) } function asString() { return fragments.join("") } var fragments = [], elementStack = [], list = null, listItem = {}; return { asString: asString, open: open, close: close, text: text, selfClosing: selfClosing } } function escapeMarkdown(value) { return value.replace(/\\/g, "\\\\").replace(/([\`\*_\{\}\[\]\(\)\#\+\-\.\!])/g, "\\$1") } var _ = require("underscore"), htmlToMarkdown = { p: markdownElement("", "\n\n"), br: markdownElement("", " \n"), ul: markdownList({ isOrdered: !1 }), ol: markdownList({ isOrdered: !0 }), li: markdownListItem, strong: symmetricMarkdownElement("__"), em: symmetricMarkdownElement("*"), a: markdownLink, img: markdownImage }; !function () { for (var i = 1; 6 >= i; i++)htmlToMarkdown["h" + i] = markdownElement(repeatString("#", i) + " ", "\n\n") }(), exports.writer = markdownWriter }, { underscore: 103 }], 35: [function (require, module, exports) { var nodes = require("./nodes"); exports.Element = nodes.Element, exports.element = nodes.element, exports.text = nodes.text, exports.readString = require("./reader").readString, exports.writeString = require("./writer").writeString }, { "./nodes": 36, "./reader": 37, "./writer": 38 }], 36: [function (require, module, exports) { function Element(name, attributes, children) { this.type = "element", this.name = name, this.attributes = attributes || {}, this.children = children || [] } function toElementList(array) { return _.extend(array, elementListPrototype) } var _ = require("underscore"); exports.Element = Element, exports.element = function (name, attributes, children) { return new Element(name, attributes, children) }, exports.text = function (value) { return { type: "text", value: value } }; var emptyElement = { first: function () { return null }, firstOrEmpty: function () { return emptyElement }, attributes: {} }; Element.prototype.first = function (name) { return _.find(this.children, function (child) { return child.name === name }) }, Element.prototype.firstOrEmpty = function (name) { return this.first(name) || emptyElement }, Element.prototype.getElementsByTagName = function (name) { var elements = _.filter(this.children, function (child) { return child.name === name }); return toElementList(elements) }, Element.prototype.text = function () { if (0 === this.children.length) return ""; if (1 !== this.children.length || "text" !== this.children[0].type) throw new Error("Not implemented"); return this.children[0].value }; var elementListPrototype = { getElementsByTagName: function (name) { return toElementList(_.flatten(this.map(function (element) { return element.getElementsByTagName(name) }, !0))) } } }, { underscore: 103 }], 37: [function (require, module, exports) { function readString(xmlString, namespaceMap) { function convertNode(node) { switch (node.nodeType) { case Node.ELEMENT_NODE: return convertElement(node); case Node.TEXT_NODE: return nodes.text(node.nodeValue) } } function convertElement(element) { var convertedName = convertName(element), convertedChildren = []; _.forEach(element.childNodes, function (childNode) { var convertedNode = convertNode(childNode); convertedNode && convertedChildren.push(convertedNode) }); var convertedAttributes = {}; return _.forEach(element.attributes, function (attribute) { convertedAttributes[convertName(attribute)] = attribute.value }), new Element(convertedName, convertedAttributes, convertedChildren) } function convertName(node) { if (node.namespaceURI) { var prefix, mappedPrefix = namespaceMap[node.namespaceURI]; return prefix = mappedPrefix ? mappedPrefix + ":" : "{" + node.namespaceURI + "}", prefix + node.localName } return node.localName } namespaceMap = namespaceMap || {}; try { var document = xmldom.parseFromString(xmlString, "text/xml") } catch (error) { return promises.reject(error) } return "parsererror" === document.documentElement.tagName ? promises.resolve(new Error(document.documentElement.textContent)) : promises.resolve(convertNode(document.documentElement)) } var promises = require("../promises"), _ = require("underscore"), xmldom = require("./xmldom"), nodes = require("./nodes"), Element = nodes.Element; exports.readString = readString; var Node = xmldom.Node }, { "../promises": 23, "./nodes": 36, "./xmldom": 39, underscore: 103 }], 38: [function (require, module, exports) { function writeString(root, namespaces) { function writeNode(builder, node) { return nodeWriters[node.type](builder, node) } function writeElement(builder, element) { var elementBuilder = builder.element(mapElementName(element.name), element.attributes); element.children.forEach(function (child) { writeNode(elementBuilder, child) }) } function mapElementName(name) { var longFormMatch = /^\{(.*)\}(.*)$/.exec(name); if (longFormMatch) { var prefix = uriToPrefix[longFormMatch[1]]; return prefix + ("" === prefix ? "" : ":") + longFormMatch[2] } return name } function writeDocument(root) { var builder = xmlbuilder.create(mapElementName(root.name), { version: "1.0", encoding: "UTF-8", standalone: !0 }); return _.forEach(namespaces, function (uri, prefix) { var key = "xmlns" + ("" === prefix ? "" : ":" + prefix); builder.attribute(key, uri) }), root.children.forEach(function (child) { writeNode(builder, child) }), builder.end() } var uriToPrefix = _.invert(namespaces), nodeWriters = { element: writeElement, text: writeTextNode }; return writeDocument(root) } function writeTextNode(builder, node) { builder.text(node.value) } var _ = require("underscore"), xmlbuilder = require("xmlbuilder"); exports.writeString = writeString }, { underscore: 103, xmlbuilder: 128 }], 39: [function (require, module, exports) { function parseFromString(string) { var error = null, domParser = new xmldom.DOMParser({ errorHandler: function (level, message) { error = { level: level, message: message } } }), document = domParser.parseFromString(string); if (null === error) return document; throw new Error(error.level + ": " + error.message) } var xmldom = require("@xmldom/xmldom"), dom = require("@xmldom/xmldom/lib/dom"); exports.parseFromString = parseFromString, exports.Node = dom.Node }, { "@xmldom/xmldom": 45, "@xmldom/xmldom/lib/dom": 43 }], 40: [function (require, module, exports) { function openArrayBuffer(arrayBuffer) { return JSZip.loadAsync(arrayBuffer).then(function (zipFile) { function exists(name) { return null !== zipFile.file(name) } function read(name, encoding) { return zipFile.file(name).async("uint8array").then(function (array) { if ("base64" === encoding) return base64js.fromByteArray(array); if (encoding) { var decoder = new TextDecoder(encoding); return decoder.decode(array) } return array }) } function write(name, contents) { zipFile.file(name, contents) } function toArrayBuffer() { return zipFile.generateAsync({ type: "arraybuffer" }) } return { exists: exists, read: read, write: write, toArrayBuffer: toArrayBuffer } }) } function splitPath(path) { var lastIndex = path.lastIndexOf("/"); return -1 === lastIndex ? { dirname: "", basename: path } : { dirname: path.substring(0, lastIndex), basename: path.substring(lastIndex + 1) } } function joinPath() { var nonEmptyPaths = Array.prototype.filter.call(arguments, function (path) { return path }), relevantPaths = []; return nonEmptyPaths.forEach(function (path) { /^\//.test(path) ? relevantPaths = [path] : relevantPaths.push(path) }), relevantPaths.join("/") } var base64js = require("base64-js"), JSZip = require("jszip"); exports.openArrayBuffer = openArrayBuffer, exports.splitPath = splitPath, exports.joinPath = joinPath }, { "base64-js": 47, jszip: 88 }], 41: [function (require, module, exports) { "use strict"; function find(list, predicate, ac) { if (void 0 === ac && (ac = Array.prototype), list && "function" == typeof ac.find) return ac.find.call(list, predicate); for (var i = 0; i < list.length; i++)if (Object.prototype.hasOwnProperty.call(list, i)) { var item = list[i]; if (predicate.call(void 0, item, i, list)) return item } } function freeze(object, oc) { return void 0 === oc && (oc = Object), oc && "function" == typeof oc.freeze ? oc.freeze(object) : object } function assign(target, source) { if (null === target || "object" != typeof target) throw new TypeError("target is not an object"); for (var key in source) Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]); return target } var MIME_TYPE = freeze({ HTML: "text/html", isHTML: function (value) { return value === MIME_TYPE.HTML }, XML_APPLICATION: "application/xml", XML_TEXT: "text/xml", XML_XHTML_APPLICATION: "application/xhtml+xml", XML_SVG_IMAGE: "image/svg+xml" }), NAMESPACE = freeze({ HTML: "http://www.w3.org/1999/xhtml", isHTML: function (uri) { return uri === NAMESPACE.HTML }, SVG: "http://www.w3.org/2000/svg", XML: "http://www.w3.org/XML/1998/namespace", XMLNS: "http://www.w3.org/2000/xmlns/" }); exports.assign = assign, exports.find = find, exports.freeze = freeze, exports.MIME_TYPE = MIME_TYPE, exports.NAMESPACE = NAMESPACE }, {}], 42: [function (require, module, exports) { function normalizeLineEndings(input) { return input.replace(/\r[\n\u0085]/g, "\n").replace(/[\r\u0085\u2028]/g, "\n") } function DOMParser(options) { this.options = options || { locator: {} } } function buildErrorHandler(errorImpl, domBuilder, locator) { function build(key) { var fn = errorImpl[key]; !fn && isCallback && (fn = 2 == errorImpl.length ? function (msg) { errorImpl(key, msg) } : errorImpl), errorHandler[key] = fn && function (msg) { fn("[xmldom " + key + "] " + msg + _locator(locator)) } || function () { } } if (!errorImpl) { if (domBuilder instanceof DOMHandler) return domBuilder; errorImpl = domBuilder } var errorHandler = {}, isCallback = errorImpl instanceof Function; return locator = locator || {}, build("warning"), build("error"), build("fatalError"), errorHandler } function DOMHandler() { this.cdata = !1 } function position(locator, node) { node.lineNumber = locator.lineNumber, node.columnNumber = locator.columnNumber } function _locator(l) { return l ? "\n@" + (l.systemId || "") + "#[line:" + l.lineNumber + ",col:" + l.columnNumber + "]" : void 0 } function _toString(chars, start, length) { return "string" == typeof chars ? chars.substr(start, length) : chars.length >= start + length || start ? new java.lang.String(chars, start, length) + "" : chars } function appendElement(hander, node) { hander.currentElement ? hander.currentElement.appendChild(node) : hander.doc.appendChild(node) } var conventions = require("./conventions"), dom = require("./dom"), entities = require("./entities"), sax = require("./sax"), DOMImplementation = dom.DOMImplementation, NAMESPACE = conventions.NAMESPACE, ParseError = sax.ParseError, XMLReader = sax.XMLReader; DOMParser.prototype.parseFromString = function (source, mimeType) { var options = this.options, sax = new XMLReader, domBuilder = options.domBuilder || new DOMHandler, errorHandler = options.errorHandler, locator = options.locator, defaultNSMap = options.xmlns || {}, isHTML = /\/x?html?$/.test(mimeType), entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES; locator && domBuilder.setDocumentLocator(locator), sax.errorHandler = buildErrorHandler(errorHandler, domBuilder, locator), sax.domBuilder = options.domBuilder || domBuilder, isHTML && (defaultNSMap[""] = NAMESPACE.HTML), defaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML; var normalize = options.normalizeLineEndings || normalizeLineEndings; return source && "string" == typeof source ? sax.parse(normalize(source), defaultNSMap, entityMap) : sax.errorHandler.error("invalid doc source"), domBuilder.doc }, DOMHandler.prototype = { startDocument: function () { this.doc = (new DOMImplementation).createDocument(null, null, null), this.locator && (this.doc.documentURI = this.locator.systemId) }, startElement: function (namespaceURI, localName, qName, attrs) { var doc = this.doc, el = doc.createElementNS(namespaceURI, qName || localName), len = attrs.length; appendElement(this, el), this.currentElement = el, this.locator && position(this.locator, el); for (var i = 0; len > i; i++) { var namespaceURI = attrs.getURI(i), value = attrs.getValue(i), qName = attrs.getQName(i), attr = doc.createAttributeNS(namespaceURI, qName); this.locator && position(attrs.getLocator(i), attr), attr.value = attr.nodeValue = value, el.setAttributeNode(attr) } }, endElement: function (namespaceURI, localName, qName) { var current = this.currentElement; current.tagName; this.currentElement = current.parentNode }, startPrefixMapping: function (prefix, uri) { }, endPrefixMapping: function (prefix) { }, processingInstruction: function (target, data) { var ins = this.doc.createProcessingInstruction(target, data); this.locator && position(this.locator, ins), appendElement(this, ins) }, ignorableWhitespace: function (ch, start, length) { }, characters: function (chars, start, length) { if (chars = _toString.apply(this, arguments)) { if (this.cdata) var charNode = this.doc.createCDATASection(chars); else var charNode = this.doc.createTextNode(chars); this.currentElement ? this.currentElement.appendChild(charNode) : /^\s*$/.test(chars) && this.doc.appendChild(charNode), this.locator && position(this.locator, charNode) } }, skippedEntity: function (name) { }, endDocument: function () { this.doc.normalize() }, setDocumentLocator: function (locator) { (this.locator = locator) && (locator.lineNumber = 0) }, comment: function (chars, start, length) { chars = _toString.apply(this, arguments); var comm = this.doc.createComment(chars); this.locator && position(this.locator, comm), appendElement(this, comm) }, startCDATA: function () { this.cdata = !0 }, endCDATA: function () { this.cdata = !1 }, startDTD: function (name, publicId, systemId) { var impl = this.doc.implementation; if (impl && impl.createDocumentType) { var dt = impl.createDocumentType(name, publicId, systemId); this.locator && position(this.locator, dt), appendElement(this, dt), this.doc.doctype = dt } }, warning: function (error) { console.warn("[xmldom warning] " + error, _locator(this.locator)) }, error: function (error) { console.error("[xmldom error] " + error, _locator(this.locator)) }, fatalError: function (error) { throw new ParseError(error, this.locator) } }, "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function (key) { DOMHandler.prototype[key] = function () { return null } }), exports.__DOMHandler = DOMHandler, exports.normalizeLineEndings = normalizeLineEndings, exports.DOMParser = DOMParser }, { "./conventions": 41, "./dom": 43, "./entities": 44, "./sax": 46 }], 43: [function (require, module, exports) {
function notEmptyString(input) { return "" !== input } function splitOnASCIIWhitespace(input) { return input ? input.split(/[\t\n\f\r ]+/).filter(notEmptyString) : [] } function orderedSetReducer(current, element) { return current.hasOwnProperty(element) || (current[element] = !0), current } function toOrderedSet(input) { if (!input) return []; var list = splitOnASCIIWhitespace(input); return Object.keys(list.reduce(orderedSetReducer, {})) } function arrayIncludes(list) { return function (element) { return list && -1 !== list.indexOf(element) } } function copy(src, dest) { for (var p in src) Object.prototype.hasOwnProperty.call(src, p) && (dest[p] = src[p]) } function _extends(Class, Super) { function t() { } var pt = Class.prototype; pt instanceof Super || (t.prototype = Super.prototype, t = new t, copy(pt, t), Class.prototype = pt = t), pt.constructor != Class && ("function" != typeof Class && console.error("unknown Class:" + Class), pt.constructor = Class) } function DOMException(code, message) { if (message instanceof Error) var error = message; else error = this, Error.call(this, ExceptionMessage[code]), this.message = ExceptionMessage[code], Error.captureStackTrace && Error.captureStackTrace(this, DOMException); return error.code = code, message && (this.message = this.message + ": " + message), error } function NodeList() { } function LiveNodeList(node, refresh) { this._node = node, this._refresh = refresh, _updateLiveList(this) } function _updateLiveList(list) { var inc = list._node._inc || list._node.ownerDocument._inc; if (list._inc != inc) { var ls = list._refresh(list._node); __set__(list, "length", ls.length), copy(ls, list), list._inc = inc } } function NamedNodeMap() { } function _findNodeIndex(list, node) { for (var i = list.length; i--;)if (list[i] === node) return i } function _addNamedNode(el, list, newAttr, oldAttr) { if (oldAttr ? list[_findNodeIndex(list, oldAttr)] = newAttr : list[list.length++] = newAttr, el) { newAttr.ownerElement = el; var doc = el.ownerDocument; doc && (oldAttr && _onRemoveAttribute(doc, el, oldAttr), _onAddAttribute(doc, el, newAttr)) } } function _removeNamedNode(el, list, attr) { var i = _findNodeIndex(list, attr); if (!(i >= 0)) throw new DOMException(NOT_FOUND_ERR, new Error(el.tagName + "@" + attr)); for (var lastIndex = list.length - 1; lastIndex > i;)list[i] = list[++i]; if (list.length = lastIndex, el) { var doc = el.ownerDocument; doc && (_onRemoveAttribute(doc, el, attr), attr.ownerElement = null) } } function DOMImplementation() { }
function Node() { } function _xmlEncoder(c) { return "<" == c && "<" || ">" == c && ">" || "&" == c && "&" || '"' == c && """ || "" + c.charCodeAt() + ";" } function _visitNode(node, callback) { if (callback(node)) return !0; if (node = node.firstChild) do if (_visitNode(node, callback)) return !0; while (node = node.nextSibling) } function Document() { this.ownerDocument = this } function _onAddAttribute(doc, el, newAttr) { doc && doc._inc++; var ns = newAttr.namespaceURI; ns === NAMESPACE.XMLNS && (el._nsMap[newAttr.prefix ? newAttr.localName : ""] = newAttr.value) } function _onRemoveAttribute(doc, el, newAttr, remove) { doc && doc._inc++; var ns = newAttr.namespaceURI; ns === NAMESPACE.XMLNS && delete el._nsMap[newAttr.prefix ? newAttr.localName : ""] } function _onUpdateChild(doc, el, newChild) { if (doc && doc._inc) { doc._inc++; var cs = el.childNodes; if (newChild) cs[cs.length++] = newChild; else { for (var child = el.firstChild, i = 0; child;)cs[i++] = child, child = child.nextSibling; cs.length = i, delete cs[cs.length] } } } function _removeChild(parentNode, child) { var previous = child.previousSibling, next = child.nextSibling; return previous ? previous.nextSibling = next : parentNode.firstChild = next, next ? next.previousSibling = previous : parentNode.lastChild = previous, child.parentNode = null, child.previousSibling = null, child.nextSibling = null, _onUpdateChild(parentNode.ownerDocument, parentNode), child } function hasValidParentNodeType(node) { return node && (node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE) } function hasInsertableNodeType(node) { return node && (isElementNode(node) || isTextNode(node) || isDocTypeNode(node) || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.COMMENT_NODE || node.nodeType === Node.PROCESSING_INSTRUCTION_NODE) } function isDocTypeNode(node) { return node && node.nodeType === Node.DOCUMENT_TYPE_NODE } function isElementNode(node) { return node && node.nodeType === Node.ELEMENT_NODE } function isTextNode(node) { return node && node.nodeType === Node.TEXT_NODE } function isElementInsertionPossible(doc, child) { var parentChildNodes = doc.childNodes || []; if (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) return !1; var docTypeNode = find(parentChildNodes, isDocTypeNode); return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child)) } function isElementReplacementPossible(doc, child) { function hasElementChildThatIsNotChild(node) { return isElementNode(node) && node !== child } var parentChildNodes = doc.childNodes || []; if (find(parentChildNodes, hasElementChildThatIsNotChild)) return !1; var docTypeNode = find(parentChildNodes, isDocTypeNode); return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child)) } function assertPreInsertionValidity1to5(parent, node, child) { if (!hasValidParentNodeType(parent)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Unexpected parent node type " + parent.nodeType); if (child && child.parentNode !== parent) throw new DOMException(NOT_FOUND_ERR, "child not in parent"); if (!hasInsertableNodeType(node) || isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE) throw new DOMException(HIERARCHY_REQUEST_ERR, "Unexpected node type " + node.nodeType + " for parent node type " + parent.nodeType) } function assertPreInsertionValidityInDocument(parent, node, child) { var parentChildNodes = parent.childNodes || [], nodeChildNodes = node.childNodes || []; if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { var nodeChildElements = nodeChildNodes.filter(isElementNode); if (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment"); if (1 === nodeChildElements.length && !isElementInsertionPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype") } if (isElementNode(node) && !isElementInsertionPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype"); if (isDocTypeNode(node)) { if (find(parentChildNodes, isDocTypeNode)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed"); var parentElementChild = find(parentChildNodes, isElementNode); if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element"); if (!child && parentElementChild) throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can not be appended since element is present") } } function assertPreReplacementValidityInDocument(parent, node, child) { function hasDoctypeChildThatIsNotChild(node) { return isDocTypeNode(node) && node !== child } var parentChildNodes = parent.childNodes || [], nodeChildNodes = node.childNodes || []; if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { var nodeChildElements = nodeChildNodes.filter(isElementNode); if (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment"); if (1 === nodeChildElements.length && !isElementReplacementPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype") } if (isElementNode(node) && !isElementReplacementPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype"); if (isDocTypeNode(node)) { if (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed"); var parentElementChild = find(parentChildNodes, isElementNode); if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element") } } function _insertBefore(parent, node, child, _inDocumentAssertion) { assertPreInsertionValidity1to5(parent, node, child), parent.nodeType === Node.DOCUMENT_NODE && (_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child); var cp = node.parentNode; if (cp && cp.removeChild(node), node.nodeType === DOCUMENT_FRAGMENT_NODE) { var newFirst = node.firstChild; if (null == newFirst) return node; var newLast = node.lastChild } else newFirst = newLast = node; var pre = child ? child.previousSibling : parent.lastChild; newFirst.previousSibling = pre, newLast.nextSibling = child, pre ? pre.nextSibling = newFirst : parent.firstChild = newFirst, null == child ? parent.lastChild = newLast : child.previousSibling = newLast; do newFirst.parentNode = parent; while (newFirst !== newLast && (newFirst = newFirst.nextSibling)); return _onUpdateChild(parent.ownerDocument || parent, parent), node.nodeType == DOCUMENT_FRAGMENT_NODE && (node.firstChild = node.lastChild = null), node } function _appendSingleChild(parentNode, newChild) { return newChild.parentNode && newChild.parentNode.removeChild(newChild), newChild.parentNode = parentNode, newChild.previousSibling = parentNode.lastChild, newChild.nextSibling = null, newChild.previousSibling ? newChild.previousSibling.nextSibling = newChild : parentNode.firstChild = newChild, parentNode.lastChild = newChild, _onUpdateChild(parentNode.ownerDocument, parentNode, newChild), newChild } function Element() { this._nsMap = {} } function Attr() { } function CharacterData() { } function Text() { } function Comment() { } function CDATASection() { } function DocumentType() { } function Notation() { } function Entity() { } function EntityReference() { } function DocumentFragment() { } function ProcessingInstruction() { } function XMLSerializer() { } function nodeSerializeToString(isHtml, nodeFilter) { var buf = [], refNode = 9 == this.nodeType && this.documentElement || this, prefix = refNode.prefix, uri = refNode.namespaceURI; if (uri && null == prefix) { var prefix = refNode.lookupPrefix(uri); if (null == prefix) var visibleNamespaces = [{ namespace: uri, prefix: null }] } return serializeToString(this, buf, isHtml, nodeFilter, visibleNamespaces), buf.join("") } function needNamespaceDefine(node, isHTML, visibleNamespaces) { var prefix = node.prefix || "", uri = node.namespaceURI; if (!uri) return !1; if ("xml" === prefix && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) return !1; for (var i = visibleNamespaces.length; i--;) { var ns = visibleNamespaces[i]; if (ns.prefix === prefix) return ns.namespace !== uri } return !0 } function addSerializedAttribute(buf, qualifiedName, value) { buf.push(" ", qualifiedName, '="', value.replace(/[<>&"\t\n\r]/g, _xmlEncoder), '"') } function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces) { if (visibleNamespaces || (visibleNamespaces = []), nodeFilter) { if (node = nodeFilter(node), !node) return; if ("string" == typeof node) return void buf.push(node) } switch (node.nodeType) { case ELEMENT_NODE: var attrs = node.attributes, len = attrs.length, child = node.firstChild, nodeName = node.tagName; isHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML; var prefixedNodeName = nodeName; if (!isHTML && !node.prefix && node.namespaceURI) { for (var defaultNS, ai = 0; ai < attrs.length; ai++)if ("xmlns" === attrs.item(ai).name) { defaultNS = attrs.item(ai).value; break } if (!defaultNS) for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) { var namespace = visibleNamespaces[nsi]; if ("" === namespace.prefix && namespace.namespace === node.namespaceURI) { defaultNS = namespace.namespace; break } } if (defaultNS !== node.namespaceURI) for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) { var namespace = visibleNamespaces[nsi]; if (namespace.namespace === node.namespaceURI) { namespace.prefix && (prefixedNodeName = namespace.prefix + ":" + nodeName); break } } } buf.push("<", prefixedNodeName); for (var i = 0; len > i; i++) { var attr = attrs.item(i); "xmlns" == attr.prefix ? visibleNamespaces.push({ prefix: attr.localName, namespace: attr.value }) : "xmlns" == attr.nodeName && visibleNamespaces.push({ prefix: "", namespace: attr.value }) } for (var i = 0; len > i; i++) { var attr = attrs.item(i); if (needNamespaceDefine(attr, isHTML, visibleNamespaces)) { var prefix = attr.prefix || "", uri = attr.namespaceURI; addSerializedAttribute(buf, prefix ? "xmlns:" + prefix : "xmlns", uri), visibleNamespaces.push({ prefix: prefix, namespace: uri }) } serializeToString(attr, buf, isHTML, nodeFilter, visibleNamespaces) } if (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) { var prefix = node.prefix || "", uri = node.namespaceURI; addSerializedAttribute(buf, prefix ? "xmlns:" + prefix : "xmlns", uri), visibleNamespaces.push({ prefix: prefix, namespace: uri }) } if (child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) { if (buf.push(">"), isHTML && /^script$/i.test(nodeName)) for (; child;)child.data ? buf.push(child.data) : serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice()), child = child.nextSibling; else for (; child;)serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice()), child = child.nextSibling; buf.push("", prefixedNodeName, ">") } else buf.push("/>"); return; case DOCUMENT_NODE: case DOCUMENT_FRAGMENT_NODE: for (var child = node.firstChild; child;)serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice()), child = child.nextSibling; return; case ATTRIBUTE_NODE: return addSerializedAttribute(buf, node.name, node.value); case TEXT_NODE: return buf.push(node.data.replace(/[<&>]/g, _xmlEncoder)); case CDATA_SECTION_NODE: return buf.push(""); case COMMENT_NODE: return buf.push(""); case DOCUMENT_TYPE_NODE: var pubid = node.publicId, sysid = node.systemId; if (buf.push(""); else if (sysid && "." != sysid) buf.push(" SYSTEM ", sysid, ">"); else { var sub = node.internalSubset; sub && buf.push(" [", sub, "]"), buf.push(">") } return; case PROCESSING_INSTRUCTION_NODE: return buf.push("", node.target, " ", node.data, "?>"); case ENTITY_REFERENCE_NODE: return buf.push("&", node.nodeName, ";"); default: buf.push("??", node.nodeName) } } function importNode(doc, node, deep) { var node2; switch (node.nodeType) { case ELEMENT_NODE: node2 = node.cloneNode(!1), node2.ownerDocument = doc; case DOCUMENT_FRAGMENT_NODE: break; case ATTRIBUTE_NODE: deep = !0 }if (node2 || (node2 = node.cloneNode(!1)), node2.ownerDocument = doc, node2.parentNode = null, deep) for (var child = node.firstChild; child;)node2.appendChild(importNode(doc, child, deep)), child = child.nextSibling; return node2 } function cloneNode(doc, node, deep) { var node2 = new node.constructor; for (var n in node) if (Object.prototype.hasOwnProperty.call(node, n)) { var v = node[n]; "object" != typeof v && v != node2[n] && (node2[n] = v) } switch (node.childNodes && (node2.childNodes = new NodeList), node2.ownerDocument = doc, node2.nodeType) { case ELEMENT_NODE: var attrs = node.attributes, attrs2 = node2.attributes = new NamedNodeMap, len = attrs.length; attrs2._ownerElement = node2; for (var i = 0; len > i; i++)node2.setAttributeNode(cloneNode(doc, attrs.item(i), !0)); break; case ATTRIBUTE_NODE: deep = !0 }if (deep) for (var child = node.firstChild; child;)node2.appendChild(cloneNode(doc, child, deep)), child = child.nextSibling; return node2 } function __set__(object, key, value) { object[key] = value } function getTextContent(node) { switch (node.nodeType) { case ELEMENT_NODE: case DOCUMENT_FRAGMENT_NODE: var buf = []; for (node = node.firstChild; node;)7 !== node.nodeType && 8 !== node.nodeType && buf.push(getTextContent(node)), node = node.nextSibling; return buf.join(""); default: return node.nodeValue } } var conventions = require("./conventions"), find = conventions.find, NAMESPACE = conventions.NAMESPACE, NodeType = {}, ELEMENT_NODE = NodeType.ELEMENT_NODE = 1, ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2, TEXT_NODE = NodeType.TEXT_NODE = 3, CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = NodeType.ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = NodeType.COMMENT_NODE = 8, DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = NodeType.NOTATION_NODE = 12, ExceptionCode = {}, ExceptionMessage = {}, HIERARCHY_REQUEST_ERR = (ExceptionCode.INDEX_SIZE_ERR = (ExceptionMessage[1] = "Index size error", 1), ExceptionCode.DOMSTRING_SIZE_ERR = (ExceptionMessage[2] = "DOMString size error", 2), ExceptionCode.HIERARCHY_REQUEST_ERR = (ExceptionMessage[3] = "Hierarchy request error", 3)), NOT_FOUND_ERR = (ExceptionCode.WRONG_DOCUMENT_ERR = (ExceptionMessage[4] = "Wrong document", 4), ExceptionCode.INVALID_CHARACTER_ERR = (ExceptionMessage[5] = "Invalid character", 5), ExceptionCode.NO_DATA_ALLOWED_ERR = (ExceptionMessage[6] = "No data allowed", 6), ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = (ExceptionMessage[7] = "No modification allowed", 7), ExceptionCode.NOT_FOUND_ERR = (ExceptionMessage[8] = "Not found", 8)), INUSE_ATTRIBUTE_ERR = (ExceptionCode.NOT_SUPPORTED_ERR = (ExceptionMessage[9] = "Not supported", 9), ExceptionCode.INUSE_ATTRIBUTE_ERR = (ExceptionMessage[10] = "Attribute in use", 10)); ExceptionCode.INVALID_STATE_ERR = (ExceptionMessage[11] = "Invalid state", 11), ExceptionCode.SYNTAX_ERR = (ExceptionMessage[12] = "Syntax error", 12), ExceptionCode.INVALID_MODIFICATION_ERR = (ExceptionMessage[13] = "Invalid modification", 13), ExceptionCode.NAMESPACE_ERR = (ExceptionMessage[14] = "Invalid namespace", 14), ExceptionCode.INVALID_ACCESS_ERR = (ExceptionMessage[15] = "Invalid access", 15); DOMException.prototype = Error.prototype, copy(ExceptionCode, DOMException), NodeList.prototype = { length: 0, item: function (index) { return this[index] || null }, toString: function (isHTML, nodeFilter) { for (var buf = [], i = 0; i < this.length; i++)serializeToString(this[i], buf, isHTML, nodeFilter); return buf.join("") }, filter: function (predicate) { return Array.prototype.filter.call(this, predicate) }, indexOf: function (item) { return Array.prototype.indexOf.call(this, item) } }, LiveNodeList.prototype.item = function (i) { return _updateLiveList(this), this[i] }, _extends(LiveNodeList, NodeList), NamedNodeMap.prototype = { length: 0, item: NodeList.prototype.item, getNamedItem: function (key) { for (var i = this.length; i--;) { var attr = this[i]; if (attr.nodeName == key) return attr } }, setNamedItem: function (attr) { var el = attr.ownerElement; if (el && el != this._ownerElement) throw new DOMException(INUSE_ATTRIBUTE_ERR); var oldAttr = this.getNamedItem(attr.nodeName); return _addNamedNode(this._ownerElement, this, attr, oldAttr), oldAttr }, setNamedItemNS: function (attr) { var oldAttr, el = attr.ownerElement; if (el && el != this._ownerElement) throw new DOMException(INUSE_ATTRIBUTE_ERR); return oldAttr = this.getNamedItemNS(attr.namespaceURI, attr.localName), _addNamedNode(this._ownerElement, this, attr, oldAttr), oldAttr }, removeNamedItem: function (key) { var attr = this.getNamedItem(key); return _removeNamedNode(this._ownerElement, this, attr), attr }, removeNamedItemNS: function (namespaceURI, localName) { var attr = this.getNamedItemNS(namespaceURI, localName); return _removeNamedNode(this._ownerElement, this, attr), attr }, getNamedItemNS: function (namespaceURI, localName) { for (var i = this.length; i--;) { var node = this[i]; if (node.localName == localName && node.namespaceURI == namespaceURI) return node } return null } }, DOMImplementation.prototype = { hasFeature: function (feature, version) { return !0 }, createDocument: function (namespaceURI, qualifiedName, doctype) { var doc = new Document; if (doc.implementation = this, doc.childNodes = new NodeList, doc.doctype = doctype || null, doctype && doc.appendChild(doctype), qualifiedName) { var root = doc.createElementNS(namespaceURI, qualifiedName); doc.appendChild(root) } return doc }, createDocumentType: function (qualifiedName, publicId, systemId) { var node = new DocumentType; return node.name = qualifiedName, node.nodeName = qualifiedName, node.publicId = publicId || "", node.systemId = systemId || "", node } }, Node.prototype = { firstChild: null, lastChild: null, previousSibling: null, nextSibling: null, attributes: null, parentNode: null, childNodes: null, ownerDocument: null, nodeValue: null, namespaceURI: null, prefix: null, localName: null, insertBefore: function (newChild, refChild) { return _insertBefore(this, newChild, refChild) }, replaceChild: function (newChild, oldChild) { _insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument), oldChild && this.removeChild(oldChild) }, removeChild: function (oldChild) { return _removeChild(this, oldChild) }, appendChild: function (newChild) { return this.insertBefore(newChild, null) }, hasChildNodes: function () { return null != this.firstChild }, cloneNode: function (deep) { return cloneNode(this.ownerDocument || this, this, deep) }, normalize: function () { for (var child = this.firstChild; child;) { var next = child.nextSibling; next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE ? (this.removeChild(next), child.appendData(next.data)) : (child.normalize(), child = next) } }, isSupported: function (feature, version) { return this.ownerDocument.implementation.hasFeature(feature, version) }, hasAttributes: function () { return this.attributes.length > 0 }, lookupPrefix: function (namespaceURI) { for (var el = this; el;) { var map = el._nsMap; if (map) for (var n in map) if (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) return n; el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode } return null }, lookupNamespaceURI: function (prefix) { for (var el = this; el;) { var map = el._nsMap; if (map && Object.prototype.hasOwnProperty.call(map, prefix)) return map[prefix]; el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode } return null }, isDefaultNamespace: function (namespaceURI) { var prefix = this.lookupPrefix(namespaceURI); return null == prefix } }, copy(NodeType, Node), copy(NodeType, Node.prototype), Document.prototype = { nodeName: "#document", nodeType: DOCUMENT_NODE, doctype: null, documentElement: null, _inc: 1, insertBefore: function (newChild, refChild) { if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) { for (var child = newChild.firstChild; child;) { var next = child.nextSibling; this.insertBefore(child, refChild), child = next } return newChild } return _insertBefore(this, newChild, refChild), newChild.ownerDocument = this, null === this.documentElement && newChild.nodeType === ELEMENT_NODE && (this.documentElement = newChild), newChild }, removeChild: function (oldChild) { return this.documentElement == oldChild && (this.documentElement = null), _removeChild(this, oldChild) }, replaceChild: function (newChild, oldChild) { _insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument), newChild.ownerDocument = this, oldChild && this.removeChild(oldChild), isElementNode(newChild) && (this.documentElement = newChild) }, importNode: function (importedNode, deep) { return importNode(this, importedNode, deep) }, getElementById: function (id) { var rtv = null; return _visitNode(this.documentElement, function (node) { return node.nodeType == ELEMENT_NODE && node.getAttribute("id") == id ? (rtv = node, !0) : void 0 }), rtv }, getElementsByClassName: function (classNames) { var classNamesSet = toOrderedSet(classNames); return new LiveNodeList(this, function (base) { var ls = []; return classNamesSet.length > 0 && _visitNode(base.documentElement, function (node) { if (node !== base && node.nodeType === ELEMENT_NODE) { var nodeClassNames = node.getAttribute("class"); if (nodeClassNames) { var matches = classNames === nodeClassNames; if (!matches) { var nodeClassNamesSet = toOrderedSet(nodeClassNames); matches = classNamesSet.every(arrayIncludes(nodeClassNamesSet)) } matches && ls.push(node) } } }), ls }) }, createElement: function (tagName) { var node = new Element; node.ownerDocument = this, node.nodeName = tagName, node.tagName = tagName, node.localName = tagName, node.childNodes = new NodeList; var attrs = node.attributes = new NamedNodeMap; return attrs._ownerElement = node, node }, createDocumentFragment: function () { var node = new DocumentFragment; return node.ownerDocument = this, node.childNodes = new NodeList, node }, createTextNode: function (data) { var node = new Text; return node.ownerDocument = this, node.appendData(data), node }, createComment: function (data) { var node = new Comment; return node.ownerDocument = this, node.appendData(data), node }, createCDATASection: function (data) { var node = new CDATASection; return node.ownerDocument = this, node.appendData(data), node }, createProcessingInstruction: function (target, data) { var node = new ProcessingInstruction; return node.ownerDocument = this, node.tagName = node.target = target, node.nodeValue = node.data = data, node }, createAttribute: function (name) { var node = new Attr; return node.ownerDocument = this, node.name = name, node.nodeName = name, node.localName = name, node.specified = !0, node }, createEntityReference: function (name) { var node = new EntityReference; return node.ownerDocument = this, node.nodeName = name, node }, createElementNS: function (namespaceURI, qualifiedName) { var node = new Element, pl = qualifiedName.split(":"), attrs = node.attributes = new NamedNodeMap; return node.childNodes = new NodeList, node.ownerDocument = this, node.nodeName = qualifiedName, node.tagName = qualifiedName, node.namespaceURI = namespaceURI, 2 == pl.length ? (node.prefix = pl[0], node.localName = pl[1]) : node.localName = qualifiedName, attrs._ownerElement = node, node }, createAttributeNS: function (namespaceURI, qualifiedName) { var node = new Attr, pl = qualifiedName.split(":"); return node.ownerDocument = this, node.nodeName = qualifiedName, node.name = qualifiedName, node.namespaceURI = namespaceURI, node.specified = !0, 2 == pl.length ? (node.prefix = pl[0], node.localName = pl[1]) : node.localName = qualifiedName, node } }, _extends(Document, Node), Element.prototype = { nodeType: ELEMENT_NODE, hasAttribute: function (name) { return null != this.getAttributeNode(name) }, getAttribute: function (name) { var attr = this.getAttributeNode(name); return attr && attr.value || "" }, getAttributeNode: function (name) { return this.attributes.getNamedItem(name) }, setAttribute: function (name, value) { var attr = this.ownerDocument.createAttribute(name); attr.value = attr.nodeValue = "" + value, this.setAttributeNode(attr) }, removeAttribute: function (name) { var attr = this.getAttributeNode(name); attr && this.removeAttributeNode(attr) }, appendChild: function (newChild) { return newChild.nodeType === DOCUMENT_FRAGMENT_NODE ? this.insertBefore(newChild, null) : _appendSingleChild(this, newChild) }, setAttributeNode: function (newAttr) { return this.attributes.setNamedItem(newAttr) }, setAttributeNodeNS: function (newAttr) { return this.attributes.setNamedItemNS(newAttr) }, removeAttributeNode: function (oldAttr) { return this.attributes.removeNamedItem(oldAttr.nodeName) }, removeAttributeNS: function (namespaceURI, localName) { var old = this.getAttributeNodeNS(namespaceURI, localName); old && this.removeAttributeNode(old) }, hasAttributeNS: function (namespaceURI, localName) { return null != this.getAttributeNodeNS(namespaceURI, localName) }, getAttributeNS: function (namespaceURI, localName) { var attr = this.getAttributeNodeNS(namespaceURI, localName); return attr && attr.value || "" }, setAttributeNS: function (namespaceURI, qualifiedName, value) { var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); attr.value = attr.nodeValue = "" + value, this.setAttributeNode(attr) }, getAttributeNodeNS: function (namespaceURI, localName) { return this.attributes.getNamedItemNS(namespaceURI, localName) }, getElementsByTagName: function (tagName) { return new LiveNodeList(this, function (base) { var ls = []; return _visitNode(base, function (node) { node === base || node.nodeType != ELEMENT_NODE || "*" !== tagName && node.tagName != tagName || ls.push(node) }), ls }) }, getElementsByTagNameNS: function (namespaceURI, localName) { return new LiveNodeList(this, function (base) { var ls = []; return _visitNode(base, function (node) { node === base || node.nodeType !== ELEMENT_NODE || "*" !== namespaceURI && node.namespaceURI !== namespaceURI || "*" !== localName && node.localName != localName || ls.push(node) }), ls }) } }, Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName, Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS, _extends(Element, Node), Attr.prototype.nodeType = ATTRIBUTE_NODE, _extends(Attr, Node), CharacterData.prototype = { data: "", substringData: function (offset, count) { return this.data.substring(offset, offset + count) }, appendData: function (text) { text = this.data + text, this.nodeValue = this.data = text, this.length = text.length }, insertData: function (offset, text) { this.replaceData(offset, 0, text) }, appendChild: function (newChild) { throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]) }, deleteData: function (offset, count) { this.replaceData(offset, count, "") }, replaceData: function (offset, count, text) { var start = this.data.substring(0, offset), end = this.data.substring(offset + count); text = start + text + end, this.nodeValue = this.data = text, this.length = text.length } }, _extends(CharacterData, Node), Text.prototype = { nodeName: "#text", nodeType: TEXT_NODE, splitText: function (offset) { var text = this.data, newText = text.substring(offset); text = text.substring(0, offset), this.data = this.nodeValue = text, this.length = text.length; var newNode = this.ownerDocument.createTextNode(newText); return this.parentNode && this.parentNode.insertBefore(newNode, this.nextSibling), newNode } }, _extends(Text, CharacterData), Comment.prototype = { nodeName: "#comment", nodeType: COMMENT_NODE }, _extends(Comment, CharacterData), CDATASection.prototype = { nodeName: "#cdata-section", nodeType: CDATA_SECTION_NODE }, _extends(CDATASection, CharacterData), DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE, _extends(DocumentType, Node), Notation.prototype.nodeType = NOTATION_NODE, _extends(Notation, Node), Entity.prototype.nodeType = ENTITY_NODE, _extends(Entity, Node), EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE, _extends(EntityReference, Node), DocumentFragment.prototype.nodeName = "#document-fragment", DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE, _extends(DocumentFragment, Node), ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE, _extends(ProcessingInstruction, Node), XMLSerializer.prototype.serializeToString = function (node, isHtml, nodeFilter) { return nodeSerializeToString.call(node, isHtml, nodeFilter) }, Node.prototype.toString = nodeSerializeToString; try { Object.defineProperty && (Object.defineProperty(LiveNodeList.prototype, "length", { get: function () { return _updateLiveList(this), this.$$length } }), Object.defineProperty(Node.prototype, "textContent", { get: function () { return getTextContent(this) }, set: function (data) { switch (this.nodeType) { case ELEMENT_NODE: case DOCUMENT_FRAGMENT_NODE: for (; this.firstChild;)this.removeChild(this.firstChild); (data || String(data)) && this.appendChild(this.ownerDocument.createTextNode(data)); break; default: this.data = data, this.value = data, this.nodeValue = data } } }), __set__ = function (object, key, value) { object["$$" + key] = value }) } catch (e) { } exports.DocumentType = DocumentType, exports.DOMException = DOMException, exports.DOMImplementation = DOMImplementation, exports.Element = Element, exports.Node = Node, exports.NodeList = NodeList, exports.XMLSerializer = XMLSerializer
}, { "./conventions": 41 }], 44: [function (require, module, exports) { var freeze = require("./conventions").freeze; exports.XML_ENTITIES = freeze({ amp: "&", apos: "'", gt: ">", lt: "<", quot: '"' }), exports.HTML_ENTITIES = freeze({ lt: "<", gt: ">", amp: "&", quot: '"', apos: "'", Agrave: "À", Aacute: "Á", Acirc: "Â", Atilde: "Ã", Auml: "Ä", Aring: "Å", AElig: "Æ", Ccedil: "Ç", Egrave: "È", Eacute: "É", Ecirc: "Ê", Euml: "Ë", Igrave: "Ì", Iacute: "Í", Icirc: "Î", Iuml: "Ï", ETH: "Ð", Ntilde: "Ñ", Ograve: "Ò", Oacute: "Ó", Ocirc: "Ô", Otilde: "Õ", Ouml: "Ö", Oslash: "Ø", Ugrave: "Ù", Uacute: "Ú", Ucirc: "Û", Uuml: "Ü", Yacute: "Ý", THORN: "Þ", szlig: "ß", agrave: "à", aacute: "á", acirc: "â", atilde: "ã", auml: "ä", aring: "å", aelig: "æ", ccedil: "ç", egrave: "è", eacute: "é", ecirc: "ê", euml: "ë", igrave: "ì", iacute: "í", icirc: "î", iuml: "ï", eth: "ð", ntilde: "ñ", ograve: "ò", oacute: "ó", ocirc: "ô", otilde: "õ", ouml: "ö", oslash: "ø", ugrave: "ù", uacute: "ú", ucirc: "û", uuml: "ü", yacute: "ý", thorn: "þ", yuml: "ÿ", nbsp: " ", iexcl: "¡", cent: "¢", pound: "£", curren: "¤", yen: "¥", brvbar: "¦", sect: "§", uml: "¨", copy: "©", ordf: "ª", laquo: "«", not: "¬", shy: "", reg: "®", macr: "¯", deg: "°", plusmn: "±", sup2: "²", sup3: "³", acute: "´", micro: "µ", para: "¶", middot: "·", cedil: "¸", sup1: "¹", ordm: "º", raquo: "»", frac14: "¼", frac12: "½", frac34: "¾", iquest: "¿", times: "×", divide: "÷", forall: "∀", part: "∂", exist: "∃", empty: "∅", nabla: "∇", isin: "∈", notin: "∉", ni: "∋", prod: "∏", sum: "∑", minus: "−", lowast: "∗", radic: "√", prop: "∝", infin: "∞", ang: "∠", and: "∧", or: "∨", cap: "∩", cup: "∪", "int": "∫", there4: "∴", sim: "∼", cong: "≅", asymp: "≈", ne: "≠", equiv: "≡", le: "≤", ge: "≥", sub: "⊂", sup: "⊃", nsub: "⊄", sube: "⊆", supe: "⊇", oplus: "⊕", otimes: "⊗", perp: "⊥", sdot: "⋅", Alpha: "Α", Beta: "Β", Gamma: "Γ", Delta: "Δ", Epsilon: "Ε", Zeta: "Ζ", Eta: "Η", Theta: "Θ", Iota: "Ι", Kappa: "Κ", Lambda: "Λ", Mu: "Μ", Nu: "Ν", Xi: "Ξ", Omicron: "Ο", Pi: "Π", Rho: "Ρ", Sigma: "Σ", Tau: "Τ", Upsilon: "Υ", Phi: "Φ", Chi: "Χ", Psi: "Ψ", Omega: "Ω", alpha: "α", beta: "β", gamma: "γ", delta: "δ", epsilon: "ε", zeta: "ζ", eta: "η", theta: "θ", iota: "ι", kappa: "κ", lambda: "λ", mu: "μ", nu: "ν", xi: "ξ", omicron: "ο", pi: "π", rho: "ρ", sigmaf: "ς", sigma: "σ", tau: "τ", upsilon: "υ", phi: "φ", chi: "χ", psi: "ψ", omega: "ω", thetasym: "ϑ", upsih: "ϒ", piv: "ϖ", OElig: "Œ", oelig: "œ", Scaron: "Š", scaron: "š", Yuml: "Ÿ", fnof: "ƒ", circ: "ˆ", tilde: "˜", ensp: " ", emsp: " ", thinsp: " ", zwnj: "", zwj: "", lrm: "", rlm: "", ndash: "–", mdash: "—", lsquo: "‘", rsquo: "’", sbquo: "‚", ldquo: "“", rdquo: "”", bdquo: "„", dagger: "†", Dagger: "‡", bull: "•", hellip: "…", permil: "‰", prime: "′", Prime: "″", lsaquo: "‹", rsaquo: "›", oline: "‾", euro: "€", trade: "™", larr: "←", uarr: "↑", rarr: "→", darr: "↓", harr: "↔", crarr: "↵", lceil: "⌈", rceil: "⌉", lfloor: "⌊", rfloor: "⌋", loz: "◊", spades: "♠", clubs: "♣", hearts: "♥", diams: "♦" }), exports.entityMap = exports.HTML_ENTITIES }, { "./conventions": 41 }], 45: [function (require, module, exports) { var dom = require("./dom"); exports.DOMImplementation = dom.DOMImplementation, exports.XMLSerializer = dom.XMLSerializer, exports.DOMParser = require("./dom-parser").DOMParser }, { "./dom": 43, "./dom-parser": 42 }], 46: [function (require, module, exports) {
function ParseError(message, locator) { this.message = message, this.locator = locator, Error.captureStackTrace && Error.captureStackTrace(this, ParseError) } function XMLReader() { } function parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) {
function fixedFromCharCode(code) { if (code > 65535) { code -= 65536; var surrogate1 = 55296 + (code >> 10), surrogate2 = 56320 + (1023 & code); return String.fromCharCode(surrogate1, surrogate2) } return String.fromCharCode(code) } function entityReplacer(a) { var k = a.slice(1, -1); return Object.hasOwnProperty.call(entityMap, k) ? entityMap[k] : "#" === k.charAt(0) ? fixedFromCharCode(parseInt(k.substr(1).replace("x", "0x"))) : (errorHandler.error("entity not found:" + a), a) } function appendText(end) { if (end > start) { var xt = source.substring(start, end).replace(/?\w+;/g, entityReplacer); locator && position(start), domBuilder.characters(xt, 0, end - start), start = end } } function position(p, m) { for (; p >= lineEnd && (m = linePattern.exec(source));)lineStart = m.index, lineEnd = lineStart + m[0].length, locator.lineNumber++; locator.columnNumber = p - lineStart + 1 } for (var lineStart = 0, lineEnd = 0, linePattern = /.*(?:\r\n?|\n)|.*$/g, locator = domBuilder.locator, parseStack = [{ currentNSMap: defaultNSMapCopy }], closeMap = {}, start = 0; ;) {
try {
var tagStart = source.indexOf("<", start); if (0 > tagStart) { if (!source.substr(start).match(/^\s*$/)) { var doc = domBuilder.doc, text = doc.createTextNode(source.substr(start)); doc.appendChild(text), domBuilder.currentElement = text } return } switch (tagStart > start && appendText(tagStart), source.charAt(tagStart + 1)) {
case "/": var end = source.indexOf(">", tagStart + 3), tagName = source.substring(tagStart + 2, end).replace(/[ \t\n\r]+$/g, ""), config = parseStack.pop();
0 > end ? (tagName = source.substring(tagStart + 2).replace(/[\s<].*/, ""), errorHandler.error("end tag name: " + tagName + " is not complete:" + config.tagName), end = tagStart + 1 + tagName.length) : tagName.match(/\s) && (tagName = tagName.replace(/[\s<].*/, ""), errorHandler.error("end tag name: " + tagName + " maybe not complete"), end = tagStart + 1 + tagName.length); var localNSMap = config.localNSMap, endMatch = config.tagName == tagName, endIgnoreCaseMach = endMatch || config.tagName && config.tagName.toLowerCase() == tagName.toLowerCase(); if (endIgnoreCaseMach) { if (domBuilder.endElement(config.uri, config.localName, tagName), localNSMap) for (var prefix in localNSMap) Object.prototype.hasOwnProperty.call(localNSMap, prefix) && domBuilder.endPrefixMapping(prefix); endMatch || errorHandler.fatalError("end tag name: " + tagName + " is not match the current start tagName:" + config.tagName) } else parseStack.push(config); end++; break; case "?": locator && position(tagStart), end = parseInstruction(source, tagStart, domBuilder); break; case "!": locator && position(tagStart), end = parseDCC(source, tagStart, domBuilder, errorHandler); break; default: locator && position(tagStart); var el = new ElementAttributes, currentNSMap = parseStack[parseStack.length - 1].currentNSMap, end = parseElementStartPart(source, tagStart, el, currentNSMap, entityReplacer, errorHandler), len = el.length; if (!el.closed && fixSelfClosed(source, end, el.tagName, closeMap) && (el.closed = !0, entityMap.nbsp || errorHandler.warning("unclosed xml attribute")), locator && len) { for (var locator2 = copyLocator(locator, {}), i = 0; len > i; i++) { var a = el[i]; position(a.offset), a.locator = copyLocator(locator, {}) } domBuilder.locator = locator2, appendElement(el, domBuilder, currentNSMap) && parseStack.push(el), domBuilder.locator = locator } else appendElement(el, domBuilder, currentNSMap) && parseStack.push(el); NAMESPACE.isHTML(el.uri) && !el.closed ? end = parseHtmlSpecialContent(source, end, el.tagName, entityReplacer, domBuilder) : end++
}
} catch (e) { if (e instanceof ParseError) throw e; errorHandler.error("element parse error: " + e), end = -1 } end > start ? start = end : appendText(Math.max(tagStart, start) + 1)
}
} function copyLocator(f, t) { return t.lineNumber = f.lineNumber, t.columnNumber = f.columnNumber, t } function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) { function addAttribute(qname, value, startIndex) { el.attributeNames.hasOwnProperty(qname) && errorHandler.fatalError("Attribute " + qname + " redefined"), el.addValue(qname, value.replace(/[\t\n\r]/g, " ").replace(/?\w+;/g, entityReplacer), startIndex) } for (var attrName, value, p = ++start, s = S_TAG; ;) { var c = source.charAt(p); switch (c) { case "=": if (s === S_ATTR) attrName = source.slice(start, p), s = S_EQ; else { if (s !== S_ATTR_SPACE) throw new Error("attribute equal must after attrName"); s = S_EQ } break; case "'": case '"': if (s === S_EQ || s === S_ATTR) { if (s === S_ATTR && (errorHandler.warning('attribute value must after "="'), attrName = source.slice(start, p)), start = p + 1, p = source.indexOf(c, start), !(p > 0)) throw new Error("attribute value no end '" + c + "' match"); value = source.slice(start, p), addAttribute(attrName, value, start - 1), s = S_ATTR_END } else { if (s != S_ATTR_NOQUOT_VALUE) throw new Error('attribute value must after "="'); value = source.slice(start, p), addAttribute(attrName, value, start), errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ")!!"), start = p + 1, s = S_ATTR_END } break; case "/": switch (s) { case S_TAG: el.setTagName(source.slice(start, p)); case S_ATTR_END: case S_TAG_SPACE: case S_TAG_CLOSE: s = S_TAG_CLOSE, el.closed = !0; case S_ATTR_NOQUOT_VALUE: case S_ATTR: case S_ATTR_SPACE: break; default: throw new Error("attribute invalid close char('/')") }break; case "": return errorHandler.error("unexpected end of input"), s == S_TAG && el.setTagName(source.slice(start, p)), p; case ">": switch (s) { case S_TAG: el.setTagName(source.slice(start, p)); case S_ATTR_END: case S_TAG_SPACE: case S_TAG_CLOSE: break; case S_ATTR_NOQUOT_VALUE: case S_ATTR: value = source.slice(start, p), "/" === value.slice(-1) && (el.closed = !0, value = value.slice(0, -1)); case S_ATTR_SPACE: s === S_ATTR_SPACE && (value = attrName), s == S_ATTR_NOQUOT_VALUE ? (errorHandler.warning('attribute "' + value + '" missed quot(")!'), addAttribute(attrName, value, start)) : (NAMESPACE.isHTML(currentNSMap[""]) && value.match(/^(?:disabled|checked|selected)$/i) || errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!'), addAttribute(value, value, start)); break; case S_EQ: throw new Error("attribute value missed!!") }return p; case "": c = " "; default: if (" " >= c) switch (s) { case S_TAG: el.setTagName(source.slice(start, p)), s = S_TAG_SPACE; break; case S_ATTR: attrName = source.slice(start, p), s = S_ATTR_SPACE; break; case S_ATTR_NOQUOT_VALUE: var value = source.slice(start, p); errorHandler.warning('attribute "' + value + '" missed quot(")!!'), addAttribute(attrName, value, start); case S_ATTR_END: s = S_TAG_SPACE } else switch (s) { case S_ATTR_SPACE: el.tagName; NAMESPACE.isHTML(currentNSMap[""]) && attrName.match(/^(?:disabled|checked|selected)$/i) || errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!'), addAttribute(attrName, attrName, start), start = p, s = S_ATTR; break; case S_ATTR_END: errorHandler.warning('attribute space is required"' + attrName + '"!!'); case S_TAG_SPACE: s = S_ATTR, start = p; break; case S_EQ: s = S_ATTR_NOQUOT_VALUE, start = p; break; case S_TAG_CLOSE: throw new Error("elements closed character '/' and '>' must be connected to") } }p++ } } function appendElement(el, domBuilder, currentNSMap) { for (var tagName = el.tagName, localNSMap = null, i = el.length; i--;) { var a = el[i], qName = a.qName, value = a.value, nsp = qName.indexOf(":"); if (nsp > 0) var prefix = a.prefix = qName.slice(0, nsp), localName = qName.slice(nsp + 1), nsPrefix = "xmlns" === prefix && localName; else localName = qName, prefix = null, nsPrefix = "xmlns" === qName && ""; a.localName = localName, nsPrefix !== !1 && (null == localNSMap && (localNSMap = {}, _copy(currentNSMap, currentNSMap = {})), currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value, a.uri = NAMESPACE.XMLNS, domBuilder.startPrefixMapping(nsPrefix, value)) } for (var i = el.length; i--;) { a = el[i]; var prefix = a.prefix; prefix && ("xml" === prefix && (a.uri = NAMESPACE.XML), "xmlns" !== prefix && (a.uri = currentNSMap[prefix || ""])) } var nsp = tagName.indexOf(":"); nsp > 0 ? (prefix = el.prefix = tagName.slice(0, nsp), localName = el.localName = tagName.slice(nsp + 1)) : (prefix = null, localName = el.localName = tagName); var ns = el.uri = currentNSMap[prefix || ""]; if (domBuilder.startElement(ns, localName, tagName, el), !el.closed) return el.currentNSMap = currentNSMap, el.localNSMap = localNSMap, !0; if (domBuilder.endElement(ns, localName, tagName), localNSMap) for (prefix in localNSMap) Object.prototype.hasOwnProperty.call(localNSMap, prefix) && domBuilder.endPrefixMapping(prefix) } function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) { if (/^(?:script|textarea)$/i.test(tagName)) { var elEndStart = source.indexOf("" + tagName + ">", elStartEnd), text = source.substring(elStartEnd + 1, elEndStart); if (/[&<]/.test(text)) return /^script$/i.test(tagName) ? (domBuilder.characters(text, 0, text.length), elEndStart) : (text = text.replace(/?\w+;/g, entityReplacer), domBuilder.characters(text, 0, text.length), elEndStart) } return elStartEnd + 1 } function fixSelfClosed(source, elStartEnd, tagName, closeMap) { var pos = closeMap[tagName]; return null == pos && (pos = source.lastIndexOf("" + tagName + ">"), elStartEnd > pos && (pos = source.lastIndexOf("" + tagName)), closeMap[tagName] = pos), elStartEnd > pos } function _copy(source, target) { for (var n in source) Object.prototype.hasOwnProperty.call(source, n) && (target[n] = source[n]) } function parseDCC(source, start, domBuilder, errorHandler) { var next = source.charAt(start + 2); switch (next) { case "-": if ("-" === source.charAt(start + 3)) { var end = source.indexOf("-->", start + 4); return end > start ? (domBuilder.comment(source, start + 4, end - start - 4), end + 3) : (errorHandler.error("Unclosed comment"), -1) } return -1; default: if ("CDATA[" == source.substr(start + 3, 6)) { var end = source.indexOf("]]>", start + 9); return domBuilder.startCDATA(), domBuilder.characters(source, start + 9, end - start - 9), domBuilder.endCDATA(), end + 3 } var matchs = split(source, start), len = matchs.length; if (len > 1 && /!doctype/i.test(matchs[0][0])) { var name = matchs[1][0], pubid = !1, sysid = !1; len > 3 && (/^public$/i.test(matchs[2][0]) ? (pubid = matchs[3][0], sysid = len > 4 && matchs[4][0]) : /^system$/i.test(matchs[2][0]) && (sysid = matchs[3][0])); var lastMatch = matchs[len - 1]; return domBuilder.startDTD(name, pubid, sysid), domBuilder.endDTD(), lastMatch.index + lastMatch[0].length } }return -1 } function parseInstruction(source, start, domBuilder) { var end = source.indexOf("?>", start); if (end) { var match = source.substring(start, end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/); if (match) { match[0].length; return domBuilder.processingInstruction(match[1], match[2]), end + 2 } return -1 } return -1 } function ElementAttributes() { this.attributeNames = {} } function split(source, start) { var match, buf = [], reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g; for (reg.lastIndex = start, reg.exec(source); match = reg.exec(source);)if (buf.push(match), match[1]) return buf } var NAMESPACE = require("./conventions").NAMESPACE, nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"), tagNamePattern = new RegExp("^" + nameStartChar.source + nameChar.source + "*(?::" + nameStartChar.source + nameChar.source + "*)?$"), S_TAG = 0, S_ATTR = 1, S_ATTR_SPACE = 2, S_EQ = 3, S_ATTR_NOQUOT_VALUE = 4, S_ATTR_END = 5, S_TAG_SPACE = 6, S_TAG_CLOSE = 7; ParseError.prototype = new Error, ParseError.prototype.name = ParseError.name, XMLReader.prototype = { parse: function (source, defaultNSMap, entityMap) { var domBuilder = this.domBuilder; domBuilder.startDocument(), _copy(defaultNSMap, defaultNSMap = {}), parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler), domBuilder.endDocument() } }, ElementAttributes.prototype = { setTagName: function (tagName) { if (!tagNamePattern.test(tagName)) throw new Error("invalid tagName:" + tagName); this.tagName = tagName }, addValue: function (qName, value, offset) { if (!tagNamePattern.test(qName)) throw new Error("invalid attribute:" + qName); this.attributeNames[qName] = this.length, this[this.length++] = { qName: qName, value: value, offset: offset } }, length: 0, getLocalName: function (i) { return this[i].localName }, getLocator: function (i) { return this[i].locator }, getQName: function (i) { return this[i].qName }, getURI: function (i) { return this[i].uri }, getValue: function (i) { return this[i].value } }, exports.XMLReader = XMLReader, exports.ParseError = ParseError
}, { "./conventions": 41 }], 47: [function (require, module, exports) { "use strict"; function getLens(b64) { var len = b64.length; if (len % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var validLen = b64.indexOf("="); -1 === validLen && (validLen = len); var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; return [validLen, placeHoldersLen] } function byteLength(b64) { var lens = getLens(b64), validLen = lens[0], placeHoldersLen = lens[1]; return 3 * (validLen + placeHoldersLen) / 4 - placeHoldersLen } function _byteLength(b64, validLen, placeHoldersLen) { return 3 * (validLen + placeHoldersLen) / 4 - placeHoldersLen } function toByteArray(b64) { var tmp, i, lens = getLens(b64), validLen = lens[0], placeHoldersLen = lens[1], arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)), curByte = 0, len = placeHoldersLen > 0 ? validLen - 4 : validLen; for (i = 0; len > i; i += 4)tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)], arr[curByte++] = tmp >> 16 & 255, arr[curByte++] = tmp >> 8 & 255, arr[curByte++] = 255 & tmp; return 2 === placeHoldersLen && (tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4, arr[curByte++] = 255 & tmp), 1 === placeHoldersLen && (tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2, arr[curByte++] = tmp >> 8 & 255, arr[curByte++] = 255 & tmp), arr } function tripletToBase64(num) { return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[63 & num] } function encodeChunk(uint8, start, end) { for (var tmp, output = [], i = start; end > i; i += 3)tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (255 & uint8[i + 2]), output.push(tripletToBase64(tmp)); return output.join("") } function fromByteArray(uint8) { for (var tmp, len = uint8.length, extraBytes = len % 3, parts = [], maxChunkLength = 16383, i = 0, len2 = len - extraBytes; len2 > i; i += maxChunkLength)parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); return 1 === extraBytes ? (tmp = uint8[len - 1], parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==")) : 2 === extraBytes && (tmp = (uint8[len - 2] << 8) + uint8[len - 1], parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=")), parts.join("") } exports.byteLength = byteLength, exports.toByteArray = toByteArray, exports.fromByteArray = fromByteArray; for (var lookup = [], revLookup = [], Arr = "undefined" != typeof Uint8Array ? Uint8Array : Array, code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", i = 0, len = code.length; len > i; ++i)lookup[i] = code[i], revLookup[code.charCodeAt(i)] = i; revLookup["-".charCodeAt(0)] = 62, revLookup["_".charCodeAt(0)] = 63 }, {}], 48: [function (require, module, exports) { "use strict"; module.exports = function (Promise) { function any(promises) { var ret = new SomePromiseArray(promises), promise = ret.promise(); return ret.setHowMany(1), ret.setUnwrap(), ret.init(), promise } var SomePromiseArray = Promise._SomePromiseArray; Promise.any = function (promises) { return any(promises) }, Promise.prototype.any = function () { return any(this) } } }, {}], 49: [function (require, module, exports) { (function (process) { "use strict"; function Async() { this._customScheduler = !1, this._isTickUsed = !1, this._lateQueue = new Queue(16), this._normalQueue = new Queue(16), this._haveDrainedQueues = !1, this._trampolineEnabled = !0; var self = this; this.drainQueues = function () { self._drainQueues() }, this._schedule = schedule } function AsyncInvokeLater(fn, receiver, arg) { this._lateQueue.push(fn, receiver, arg), this._queueTick() } function AsyncInvoke(fn, receiver, arg) { this._normalQueue.push(fn, receiver, arg), this._queueTick() } function AsyncSettlePromises(promise) { this._normalQueue._pushOne(promise), this._queueTick() } var firstLineError; try { throw new Error } catch (e) { firstLineError = e } var schedule = require("./schedule"), Queue = require("./queue"), util = require("./util"); Async.prototype.setScheduler = function (fn) { var prev = this._schedule; return this._schedule = fn, this._customScheduler = !0, prev }, Async.prototype.hasCustomScheduler = function () { return this._customScheduler }, Async.prototype.enableTrampoline = function () { this._trampolineEnabled = !0 }, Async.prototype.disableTrampolineIfNecessary = function () { util.hasDevTools && (this._trampolineEnabled = !1) }, Async.prototype.haveItemsQueued = function () { return this._isTickUsed || this._haveDrainedQueues }, Async.prototype.fatalError = function (e, isNode) { isNode ? (process.stderr.write("Fatal " + (e instanceof Error ? e.stack : e) + "\n"), process.exit(2)) : this.throwLater(e) }, Async.prototype.throwLater = function (fn, arg) { if (1 === arguments.length && (arg = fn, fn = function () { throw arg }), "undefined" != typeof setTimeout) setTimeout(function () { fn(arg) }, 0); else try { this._schedule(function () { fn(arg) }) } catch (e) { throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n") } }, util.hasDevTools ? (Async.prototype.invokeLater = function (fn, receiver, arg) { this._trampolineEnabled ? AsyncInvokeLater.call(this, fn, receiver, arg) : this._schedule(function () { setTimeout(function () { fn.call(receiver, arg) }, 100) }) }, Async.prototype.invoke = function (fn, receiver, arg) { this._trampolineEnabled ? AsyncInvoke.call(this, fn, receiver, arg) : this._schedule(function () { fn.call(receiver, arg) }) }, Async.prototype.settlePromises = function (promise) { this._trampolineEnabled ? AsyncSettlePromises.call(this, promise) : this._schedule(function () { promise._settlePromises() }) }) : (Async.prototype.invokeLater = AsyncInvokeLater, Async.prototype.invoke = AsyncInvoke, Async.prototype.settlePromises = AsyncSettlePromises), Async.prototype._drainQueue = function (queue) { for (; queue.length() > 0;) { var fn = queue.shift(); if ("function" == typeof fn) { var receiver = queue.shift(), arg = queue.shift(); fn.call(receiver, arg) } else fn._settlePromises() } }, Async.prototype._drainQueues = function () { this._drainQueue(this._normalQueue), this._reset(), this._haveDrainedQueues = !0, this._drainQueue(this._lateQueue) }, Async.prototype._queueTick = function () { this._isTickUsed || (this._isTickUsed = !0, this._schedule(this.drainQueues)) }, Async.prototype._reset = function () { this._isTickUsed = !1 }, module.exports = Async, module.exports.firstLineError = firstLineError }).call(this, require("_process")) }, { "./queue": 72, "./schedule": 75, "./util": 82, _process: 102 }], 50: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL, tryConvertToPromise, debug) { var calledBind = !1, rejectThis = function (_, e) { this._reject(e) }, targetRejected = function (e, context) { context.promiseRejectionQueued = !0, context.bindingPromise._then(rejectThis, rejectThis, null, this, e) }, bindingResolved = function (thisArg, context) { 0 === (50397184 & this._bitField) && this._resolveCallback(context.target) }, bindingRejected = function (e, context) { context.promiseRejectionQueued || this._reject(e) }; Promise.prototype.bind = function (thisArg) { calledBind || (calledBind = !0, Promise.prototype._propagateFrom = debug.propagateFromFunction(), Promise.prototype._boundValue = debug.boundValueFunction()); var maybePromise = tryConvertToPromise(thisArg), ret = new Promise(INTERNAL); ret._propagateFrom(this, 1); var target = this._target(); if (ret._setBoundTo(maybePromise), maybePromise instanceof Promise) { var context = { promiseRejectionQueued: !1, promise: ret, target: target, bindingPromise: maybePromise }; target._then(INTERNAL, targetRejected, void 0, ret, context), maybePromise._then(bindingResolved, bindingRejected, void 0, ret, context), ret._setOnCancel(maybePromise) } else ret._resolveCallback(target); return ret }, Promise.prototype._setBoundTo = function (obj) { void 0 !== obj ? (this._bitField = 2097152 | this._bitField, this._boundTo = obj) : this._bitField = -2097153 & this._bitField }, Promise.prototype._isBound = function () { return 2097152 === (2097152 & this._bitField) }, Promise.bind = function (thisArg, value) { return Promise.resolve(value).bind(thisArg) } } }, {}], 51: [function (require, module, exports) { "use strict"; var cr = Object.create; if (cr) { var callerCache = cr(null), getterCache = cr(null); callerCache[" size"] = getterCache[" size"] = 0 } module.exports = function (Promise) { function ensureMethod(obj, methodName) { var fn; if (null != obj && (fn = obj[methodName]), "function" != typeof fn) { var message = "Object " + util.classString(obj) + " has no method '" + util.toString(methodName) + "'"; throw new Promise.TypeError(message) } return fn } function caller(obj) { var methodName = this.pop(), fn = ensureMethod(obj, methodName); return fn.apply(obj, this) } function namedGetter(obj) { return obj[this] } function indexedGetter(obj) { var index = +this; return 0 > index && (index = Math.max(0, index + obj.length)), obj[index] } var getMethodCaller, getGetter, util = require("./util"), canEvaluate = util.canEvaluate, isIdentifier = util.isIdentifier, makeMethodCaller = function (methodName) { return new Function("ensureMethod", " \n return function(obj) { \n 'use strict' \n var len = this.length; \n ensureMethod(obj, 'methodName'); \n switch(len) { \n case 1: return obj.methodName(this[0]); \n case 2: return obj.methodName(this[0], this[1]); \n case 3: return obj.methodName(this[0], this[1], this[2]); \n case 0: return obj.methodName(); \n default: \n return obj.methodName.apply(obj, this); \n } \n }; \n ".replace(/methodName/g, methodName))(ensureMethod) }, makeGetter = function (propertyName) { return new Function("obj", " \n 'use strict'; \n return obj.propertyName; \n ".replace("propertyName", propertyName)) }, getCompiled = function (name, compiler, cache) { var ret = cache[name]; if ("function" != typeof ret) { if (!isIdentifier(name)) return null; if (ret = compiler(name), cache[name] = ret, cache[" size"]++, cache[" size"] > 512) { for (var keys = Object.keys(cache), i = 0; 256 > i; ++i)delete cache[keys[i]]; cache[" size"] = keys.length - 256 } } return ret }; getMethodCaller = function (name) { return getCompiled(name, makeMethodCaller, callerCache) }, getGetter = function (name) { return getCompiled(name, makeGetter, getterCache) }, Promise.prototype.call = function (methodName) { for (var $_len = arguments.length, args = new Array(Math.max($_len - 1, 0)), $_i = 1; $_len > $_i; ++$_i)args[$_i - 1] = arguments[$_i]; if (canEvaluate) { var maybeCaller = getMethodCaller(methodName); if (null !== maybeCaller) return this._then(maybeCaller, void 0, void 0, args, void 0) } return args.push(methodName), this._then(caller, void 0, void 0, args, void 0) }, Promise.prototype.get = function (propertyName) { var getter, isIndex = "number" == typeof propertyName; if (isIndex) getter = indexedGetter; else if (canEvaluate) { var maybeGetter = getGetter(propertyName); getter = null !== maybeGetter ? maybeGetter : namedGetter } else getter = namedGetter; return this._then(getter, void 0, void 0, propertyName, void 0) } } }, { "./util": 82 }], 52: [function (require, module, exports) { "use strict"; module.exports = function (Promise, PromiseArray, apiRejection, debug) { var util = require("./util"), tryCatch = util.tryCatch, errorObj = util.errorObj, async = Promise._async; Promise.prototype["break"] = Promise.prototype.cancel = function () { if (!debug.cancellation()) return this._warn("cancellation is disabled"); for (var promise = this, child = promise; promise._isCancellable();) { if (!promise._cancelBy(child)) { child._isFollowing() ? child._followee().cancel() : child._cancelBranched(); break } var parent = promise._cancellationParent; if (null == parent || !parent._isCancellable()) { promise._isFollowing() ? promise._followee().cancel() : promise._cancelBranched(); break } promise._isFollowing() && promise._followee().cancel(), promise._setWillBeCancelled(), child = promise, promise = parent } }, Promise.prototype._branchHasCancelled = function () { this._branchesRemainingToCancel-- }, Promise.prototype._enoughBranchesHaveCancelled = function () { return void 0 === this._branchesRemainingToCancel || this._branchesRemainingToCancel <= 0 }, Promise.prototype._cancelBy = function (canceller) { return canceller === this ? (this._branchesRemainingToCancel = 0, this._invokeOnCancel(), !0) : (this._branchHasCancelled(), this._enoughBranchesHaveCancelled() ? (this._invokeOnCancel(), !0) : !1) }, Promise.prototype._cancelBranched = function () { this._enoughBranchesHaveCancelled() && this._cancel() }, Promise.prototype._cancel = function () { this._isCancellable() && (this._setCancelled(), async.invoke(this._cancelPromises, this, void 0)) }, Promise.prototype._cancelPromises = function () { this._length() > 0 && this._settlePromises() }, Promise.prototype._unsetOnCancel = function () { this._onCancelField = void 0 }, Promise.prototype._isCancellable = function () { return this.isPending() && !this._isCancelled() }, Promise.prototype.isCancellable = function () { return this.isPending() && !this.isCancelled() }, Promise.prototype._doInvokeOnCancel = function (onCancelCallback, internalOnly) { if (util.isArray(onCancelCallback)) for (var i = 0; i < onCancelCallback.length; ++i)this._doInvokeOnCancel(onCancelCallback[i], internalOnly); else if (void 0 !== onCancelCallback) if ("function" == typeof onCancelCallback) { if (!internalOnly) { var e = tryCatch(onCancelCallback).call(this._boundValue()); e === errorObj && (this._attachExtraTrace(e.e), async.throwLater(e.e)) } } else onCancelCallback._resultCancelled(this) }, Promise.prototype._invokeOnCancel = function () { var onCancelCallback = this._onCancel(); this._unsetOnCancel(), async.invoke(this._doInvokeOnCancel, this, onCancelCallback) }, Promise.prototype._invokeInternalOnCancel = function () { this._isCancellable() && (this._doInvokeOnCancel(this._onCancel(), !0), this._unsetOnCancel()) }, Promise.prototype._resultCancelled = function () { this.cancel() } } }, { "./util": 82 }], 53: [function (require, module, exports) { "use strict"; module.exports = function (NEXT_FILTER) { function catchFilter(instances, cb, promise) { return function (e) { var boundTo = promise._boundValue(); predicateLoop: for (var i = 0; i < instances.length; ++i) { var item = instances[i]; if (item === Error || null != item && item.prototype instanceof Error) { if (e instanceof item) return tryCatch(cb).call(boundTo, e) } else if ("function" == typeof item) { var matchesPredicate = tryCatch(item).call(boundTo, e); if (matchesPredicate === errorObj) return matchesPredicate; if (matchesPredicate) return tryCatch(cb).call(boundTo, e) } else if (util.isObject(e)) { for (var keys = getKeys(item), j = 0; j < keys.length; ++j) { var key = keys[j]; if (item[key] != e[key]) continue predicateLoop } return tryCatch(cb).call(boundTo, e) } } return NEXT_FILTER } } var util = require("./util"), getKeys = require("./es5").keys, tryCatch = util.tryCatch, errorObj = util.errorObj; return catchFilter } }, { "./es5": 59, "./util": 82 }], 54: [function (require, module, exports) { "use strict"; module.exports = function (Promise) { function Context() { this._trace = new Context.CapturedTrace(peekContext()) } function createContext() { return longStackTraces ? new Context : void 0 } function peekContext() { var lastIndex = contextStack.length - 1; return lastIndex >= 0 ? contextStack[lastIndex] : void 0 } var longStackTraces = !1, contextStack = []; return Promise.prototype._promiseCreated = function () { }, Promise.prototype._pushContext = function () { }, Promise.prototype._popContext = function () { return null }, Promise._peekContext = Promise.prototype._peekContext = function () { }, Context.prototype._pushContext = function () { void 0 !== this._trace && (this._trace._promiseCreated = null, contextStack.push(this._trace)) }, Context.prototype._popContext = function () { if (void 0 !== this._trace) { var trace = contextStack.pop(), ret = trace._promiseCreated; return trace._promiseCreated = null, ret } return null }, Context.CapturedTrace = null, Context.create = createContext, Context.deactivateLongStackTraces = function () { }, Context.activateLongStackTraces = function () { var Promise_pushContext = Promise.prototype._pushContext, Promise_popContext = Promise.prototype._popContext, Promise_PeekContext = Promise._peekContext, Promise_peekContext = Promise.prototype._peekContext, Promise_promiseCreated = Promise.prototype._promiseCreated; Context.deactivateLongStackTraces = function () { Promise.prototype._pushContext = Promise_pushContext, Promise.prototype._popContext = Promise_popContext, Promise._peekContext = Promise_PeekContext, Promise.prototype._peekContext = Promise_peekContext, Promise.prototype._promiseCreated = Promise_promiseCreated, longStackTraces = !1 }, longStackTraces = !0, Promise.prototype._pushContext = Context.prototype._pushContext, Promise.prototype._popContext = Context.prototype._popContext, Promise._peekContext = Promise.prototype._peekContext = peekContext, Promise.prototype._promiseCreated = function () { var ctx = this._peekContext(); ctx && null == ctx._promiseCreated && (ctx._promiseCreated = this) } }, Context } }, {}], 55: [function (require, module, exports) {
(function (process) {
"use strict"; module.exports = function (Promise, Context) {
function generatePromiseLifecycleEventObject(name, promise) { return { promise: promise } } function defaultFireEvent() { return !1 } function cancellationExecute(executor, resolve, reject) { var promise = this; try { executor(resolve, reject, function (onCancel) { if ("function" != typeof onCancel) throw new TypeError("onCancel must be a function, got: " + util.toString(onCancel)); promise._attachCancellationCallback(onCancel) }) } catch (e) { return e } } function cancellationAttachCancellationCallback(onCancel) { if (!this._isCancellable()) return this; var previousOnCancel = this._onCancel(); void 0 !== previousOnCancel ? util.isArray(previousOnCancel) ? previousOnCancel.push(onCancel) : this._setOnCancel([previousOnCancel, onCancel]) : this._setOnCancel(onCancel) } function cancellationOnCancel() { return this._onCancelField } function cancellationSetOnCancel(onCancel) { this._onCancelField = onCancel } function cancellationClearCancellationData() { this._cancellationParent = void 0, this._onCancelField = void 0 } function cancellationPropagateFrom(parent, flags) { if (0 !== (1 & flags)) { this._cancellationParent = parent; var branchesRemainingToCancel = parent._branchesRemainingToCancel; void 0 === branchesRemainingToCancel && (branchesRemainingToCancel = 0), parent._branchesRemainingToCancel = branchesRemainingToCancel + 1 } 0 !== (2 & flags) && parent._isBound() && this._setBoundTo(parent._boundTo) } function bindingPropagateFrom(parent, flags) { 0 !== (2 & flags) && parent._isBound() && this._setBoundTo(parent._boundTo) } function boundValueFunction() { var ret = this._boundTo; return void 0 !== ret && ret instanceof Promise ? ret.isFulfilled() ? ret.value() : void 0 : ret } function longStackTracesCaptureStackTrace() { this._trace = new CapturedTrace(this._peekContext()) } function longStackTracesAttachExtraTrace(error, ignoreSelf) { if (canAttachTrace(error)) { var trace = this._trace; if (void 0 !== trace && ignoreSelf && (trace = trace._parent), void 0 !== trace) trace.attachExtraTrace(error); else if (!error.__stackCleaned__) { var parsed = parseStackAndMessage(error); util.notEnumerableProp(error, "stack", parsed.message + "\n" + parsed.stack.join("\n")), util.notEnumerableProp(error, "__stackCleaned__", !0) } } } function checkForgottenReturns(returnValue, promiseCreated, name, promise, parent) { if (void 0 === returnValue && null !== promiseCreated && wForgottenReturn) { if (void 0 !== parent && parent._returnedNonUndefined()) return; if (0 === (65535 & promise._bitField)) return; name && (name += " "); var handlerLine = "", creatorLine = ""; if (promiseCreated._trace) { for (var traceLines = promiseCreated._trace.stack.split("\n"), stack = cleanStack(traceLines), i = stack.length - 1; i >= 0; --i) { var line = stack[i]; if (!nodeFramePattern.test(line)) { var lineMatches = line.match(parseLinePattern); lineMatches && (handlerLine = "at " + lineMatches[1] + ":" + lineMatches[2] + ":" + lineMatches[3] + " "); break } } if (stack.length > 0) for (var firstUserLine = stack[0], i = 0; i < traceLines.length; ++i)if (traceLines[i] === firstUserLine) { i > 0 && (creatorLine = "\n" + traceLines[i - 1]); break } } var msg = "a promise was created in a " + name + "handler " + handlerLine + "but was not returned from it, see http://goo.gl/rRqMUw" + creatorLine; promise._warn(msg, !0, promiseCreated) } } function deprecated(name, replacement) { var message = name + " is deprecated and will be removed in a future version."; return replacement && (message += " Use " + replacement + " instead."), warn(message) } function warn(message, shouldUseOwnTrace, promise) { if (config.warnings) { var ctx, warning = new Warning(message); if (shouldUseOwnTrace) promise._attachExtraTrace(warning); else if (config.longStackTraces && (ctx = Promise._peekContext())) ctx.attachExtraTrace(warning); else { var parsed = parseStackAndMessage(warning); warning.stack = parsed.message + "\n" + parsed.stack.join("\n") } activeFireEvent("warning", warning) || formatAndLogError(warning, "", !0) } } function reconstructStack(message, stacks) { for (var i = 0; i < stacks.length - 1; ++i)stacks[i].push("From previous event:"), stacks[i] = stacks[i].join("\n"); return i < stacks.length && (stacks[i] = stacks[i].join("\n")), message + "\n" + stacks.join("\n") } function removeDuplicateOrEmptyJumps(stacks) { for (var i = 0; i < stacks.length; ++i)(0 === stacks[i].length || i + 1 < stacks.length && stacks[i][0] === stacks[i + 1][0]) && (stacks.splice(i, 1), i--) } function removeCommonRoots(stacks) { for (var current = stacks[0], i = 1; i < stacks.length; ++i) { for (var prev = stacks[i], currentLastIndex = current.length - 1, currentLastLine = current[currentLastIndex], commonRootMeetPoint = -1, j = prev.length - 1; j >= 0; --j)if (prev[j] === currentLastLine) { commonRootMeetPoint = j; break } for (var j = commonRootMeetPoint; j >= 0; --j) { var line = prev[j]; if (current[currentLastIndex] !== line) break; current.pop(), currentLastIndex-- } current = prev } } function cleanStack(stack) { for (var ret = [], i = 0; i < stack.length; ++i) { var line = stack[i], isTraceLine = " (No stack trace)" === line || stackFramePattern.test(line), isInternalFrame = isTraceLine && shouldIgnore(line); isTraceLine && !isInternalFrame && (indentStackFrames && " " !== line.charAt(0) && (line = " " + line), ret.push(line)) } return ret } function stackFramesAsArray(error) { for (var stack = error.stack.replace(/\s+$/g, "").split("\n"), i = 0; i < stack.length; ++i) { var line = stack[i]; if (" (No stack trace)" === line || stackFramePattern.test(line)) break } return i > 0 && "SyntaxError" != error.name && (stack = stack.slice(i)), stack } function parseStackAndMessage(error) {
var stack = error.stack, message = error.toString(); return stack = "string" == typeof stack && stack.length > 0 ? stackFramesAsArray(error) : [" (No stack trace)"], { message: message, stack: "SyntaxError" == error.name ? stack : cleanStack(stack) }
} function formatAndLogError(error, title, isSoft) { if ("undefined" != typeof console) { var message; if (util.isObject(error)) { var stack = error.stack; message = title + formatStack(stack, error) } else message = title + String(error); "function" == typeof printWarning ? printWarning(message, isSoft) : ("function" == typeof console.log || "object" == typeof console.log) && console.log(message) } } function fireRejectionEvent(name, localHandler, reason, promise) { var localEventFired = !1; try { "function" == typeof localHandler && (localEventFired = !0, "rejectionHandled" === name ? localHandler(promise) : localHandler(reason, promise)) } catch (e) { async.throwLater(e) } "unhandledRejection" === name ? activeFireEvent(name, reason, promise) || localEventFired || formatAndLogError(reason, "Unhandled rejection ") : activeFireEvent(name, promise) } function formatNonError(obj) { var str; if ("function" == typeof obj) str = "[function " + (obj.name || "anonymous") + "]"; else { str = obj && "function" == typeof obj.toString ? obj.toString() : util.toString(obj); var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; if (ruselessToString.test(str)) try { var newStr = JSON.stringify(obj); str = newStr } catch (e) { } 0 === str.length && (str = "(empty array)") } return "(<" + snip(str) + ">, no stack trace)" } function snip(str) { var maxChars = 41; return str.length < maxChars ? str : str.substr(0, maxChars - 3) + "..." } function longStackTracesIsSupported() { return "function" == typeof captureStackTrace } function parseLineInfo(line) { var matches = line.match(parseLineInfoRegex); return matches ? { fileName: matches[1], line: parseInt(matches[2], 10) } : void 0 } function setBounds(firstLineError, lastLineError) { if (longStackTracesIsSupported()) { for (var firstFileName, lastFileName, firstStackLines = firstLineError.stack.split("\n"), lastStackLines = lastLineError.stack.split("\n"), firstIndex = -1, lastIndex = -1, i = 0; i < firstStackLines.length; ++i) { var result = parseLineInfo(firstStackLines[i]); if (result) { firstFileName = result.fileName, firstIndex = result.line; break } } for (var i = 0; i < lastStackLines.length; ++i) { var result = parseLineInfo(lastStackLines[i]); if (result) { lastFileName = result.fileName, lastIndex = result.line; break } } 0 > firstIndex || 0 > lastIndex || !firstFileName || !lastFileName || firstFileName !== lastFileName || firstIndex >= lastIndex || (shouldIgnore = function (line) { if (bluebirdFramePattern.test(line)) return !0; var info = parseLineInfo(line); return info && info.fileName === firstFileName && firstIndex <= info.line && info.line <= lastIndex ? !0 : !1 }) } } function CapturedTrace(parent) { this._parent = parent, this._promisesCreated = 0; var length = this._length = 1 + (void 0 === parent ? 0 : parent._length); captureStackTrace(this, CapturedTrace), length > 32 && this.uncycle() } var unhandledRejectionHandled, possiblyUnhandledRejection, printWarning, getDomain = Promise._getDomain, async = Promise._async, Warning = require("./errors").Warning, util = require("./util"), canAttachTrace = util.canAttachTrace, bluebirdFramePattern = /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/, nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/, parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/, stackFramePattern = null, formatStack = null, indentStackFrames = !1, debugging = !(0 == util.env("BLUEBIRD_DEBUG") || !util.env("BLUEBIRD_DEBUG") && "development" !== util.env("NODE_ENV")), warnings = !(0 == util.env("BLUEBIRD_WARNINGS") || !debugging && !util.env("BLUEBIRD_WARNINGS")), longStackTraces = !(0 == util.env("BLUEBIRD_LONG_STACK_TRACES") || !debugging && !util.env("BLUEBIRD_LONG_STACK_TRACES")), wForgottenReturn = 0 != util.env("BLUEBIRD_W_FORGOTTEN_RETURN") && (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); Promise.prototype.suppressUnhandledRejections = function () { var target = this._target(); target._bitField = -1048577 & target._bitField | 524288 }, Promise.prototype._ensurePossibleRejectionHandled = function () { 0 === (524288 & this._bitField) && (this._setRejectionIsUnhandled(), async.invokeLater(this._notifyUnhandledRejection, this, void 0)) }, Promise.prototype._notifyUnhandledRejectionIsHandled = function () { fireRejectionEvent("rejectionHandled", unhandledRejectionHandled, void 0, this) }, Promise.prototype._setReturnedNonUndefined = function () { this._bitField = 268435456 | this._bitField }, Promise.prototype._returnedNonUndefined = function () { return 0 !== (268435456 & this._bitField) }, Promise.prototype._notifyUnhandledRejection = function () { if (this._isRejectionUnhandled()) { var reason = this._settledValue(); this._setUnhandledRejectionIsNotified(), fireRejectionEvent("unhandledRejection", possiblyUnhandledRejection, reason, this) } }, Promise.prototype._setUnhandledRejectionIsNotified = function () { this._bitField = 262144 | this._bitField }, Promise.prototype._unsetUnhandledRejectionIsNotified = function () { this._bitField = -262145 & this._bitField }, Promise.prototype._isUnhandledRejectionNotified = function () { return (262144 & this._bitField) > 0 }, Promise.prototype._setRejectionIsUnhandled = function () { this._bitField = 1048576 | this._bitField }, Promise.prototype._unsetRejectionIsUnhandled = function () { this._bitField = -1048577 & this._bitField, this._isUnhandledRejectionNotified() && (this._unsetUnhandledRejectionIsNotified(), this._notifyUnhandledRejectionIsHandled()) }, Promise.prototype._isRejectionUnhandled = function () { return (1048576 & this._bitField) > 0 }, Promise.prototype._warn = function (message, shouldUseOwnTrace, promise) { return warn(message, shouldUseOwnTrace, promise || this) }, Promise.onPossiblyUnhandledRejection = function (fn) { var domain = getDomain(); possiblyUnhandledRejection = "function" == typeof fn ? null === domain ? fn : util.domainBind(domain, fn) : void 0 }, Promise.onUnhandledRejectionHandled = function (fn) { var domain = getDomain(); unhandledRejectionHandled = "function" == typeof fn ? null === domain ? fn : util.domainBind(domain, fn) : void 0 }; var disableLongStackTraces = function () { }; Promise.longStackTraces = function () { if (async.haveItemsQueued() && !config.longStackTraces) throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n"); if (!config.longStackTraces && longStackTracesIsSupported()) { var Promise_captureStackTrace = Promise.prototype._captureStackTrace, Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; config.longStackTraces = !0, disableLongStackTraces = function () { if (async.haveItemsQueued() && !config.longStackTraces) throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n"); Promise.prototype._captureStackTrace = Promise_captureStackTrace, Promise.prototype._attachExtraTrace = Promise_attachExtraTrace, Context.deactivateLongStackTraces(), async.enableTrampoline(), config.longStackTraces = !1 }, Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace, Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace, Context.activateLongStackTraces(), async.disableTrampolineIfNecessary() } }, Promise.hasLongStackTraces = function () { return config.longStackTraces && longStackTracesIsSupported() }; var fireDomEvent = function () { try { if ("function" == typeof CustomEvent) { var event = new CustomEvent("CustomEvent"); return util.global.dispatchEvent(event), function (name, event) { var domEvent = new CustomEvent(name.toLowerCase(), { detail: event, cancelable: !0 }); return !util.global.dispatchEvent(domEvent) } } if ("function" == typeof Event) { var event = new Event("CustomEvent"); return util.global.dispatchEvent(event), function (name, event) { var domEvent = new Event(name.toLowerCase(), { cancelable: !0 }); return domEvent.detail = event, !util.global.dispatchEvent(domEvent) } } var event = document.createEvent("CustomEvent"); return event.initCustomEvent("testingtheevent", !1, !0, {}), util.global.dispatchEvent(event), function (name, event) { var domEvent = document.createEvent("CustomEvent"); return domEvent.initCustomEvent(name.toLowerCase(), !1, !0, event), !util.global.dispatchEvent(domEvent) } } catch (e) { } return function () { return !1 } }(), fireGlobalEvent = function () { return util.isNode ? function () { return process.emit.apply(process, arguments) } : util.global ? function (name) { var methodName = "on" + name.toLowerCase(), method = util.global[methodName]; return method ? (method.apply(util.global, [].slice.call(arguments, 1)), !0) : !1 } : function () { return !1 } }(), eventToObjectGenerator = { promiseCreated: generatePromiseLifecycleEventObject, promiseFulfilled: generatePromiseLifecycleEventObject, promiseRejected: generatePromiseLifecycleEventObject, promiseResolved: generatePromiseLifecycleEventObject, promiseCancelled: generatePromiseLifecycleEventObject, promiseChained: function (name, promise, child) { return { promise: promise, child: child } }, warning: function (name, warning) { return { warning: warning } }, unhandledRejection: function (name, reason, promise) { return { reason: reason, promise: promise } }, rejectionHandled: generatePromiseLifecycleEventObject }, activeFireEvent = function (name) { var globalEventFired = !1; try { globalEventFired = fireGlobalEvent.apply(null, arguments) } catch (e) { async.throwLater(e), globalEventFired = !0 } var domEventFired = !1; try { domEventFired = fireDomEvent(name, eventToObjectGenerator[name].apply(null, arguments)) } catch (e) { async.throwLater(e), domEventFired = !0 } return domEventFired || globalEventFired }; Promise.config = function (opts) { if (opts = Object(opts), "longStackTraces" in opts && (opts.longStackTraces ? Promise.longStackTraces() : !opts.longStackTraces && Promise.hasLongStackTraces() && disableLongStackTraces()), "warnings" in opts) { var warningsOption = opts.warnings; config.warnings = !!warningsOption, wForgottenReturn = config.warnings, util.isObject(warningsOption) && "wForgottenReturn" in warningsOption && (wForgottenReturn = !!warningsOption.wForgottenReturn) } if ("cancellation" in opts && opts.cancellation && !config.cancellation) { if (async.haveItemsQueued()) throw new Error("cannot enable cancellation after promises are in use"); Promise.prototype._clearCancellationData = cancellationClearCancellationData, Promise.prototype._propagateFrom = cancellationPropagateFrom, Promise.prototype._onCancel = cancellationOnCancel, Promise.prototype._setOnCancel = cancellationSetOnCancel, Promise.prototype._attachCancellationCallback = cancellationAttachCancellationCallback, Promise.prototype._execute = cancellationExecute, propagateFromFunction = cancellationPropagateFrom, config.cancellation = !0 } return "monitoring" in opts && (opts.monitoring && !config.monitoring ? (config.monitoring = !0, Promise.prototype._fireEvent = activeFireEvent) : !opts.monitoring && config.monitoring && (config.monitoring = !1, Promise.prototype._fireEvent = defaultFireEvent)), Promise }, Promise.prototype._fireEvent = defaultFireEvent, Promise.prototype._execute = function (executor, resolve, reject) { try { executor(resolve, reject) } catch (e) { return e } }, Promise.prototype._onCancel = function () { }, Promise.prototype._setOnCancel = function (handler) { }, Promise.prototype._attachCancellationCallback = function (onCancel) { }, Promise.prototype._captureStackTrace = function () { }, Promise.prototype._attachExtraTrace = function () { }, Promise.prototype._clearCancellationData = function () { }, Promise.prototype._propagateFrom = function (parent, flags) { }; var propagateFromFunction = bindingPropagateFrom, shouldIgnore = function () { return !1 }, parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; util.inherits(CapturedTrace, Error), Context.CapturedTrace = CapturedTrace, CapturedTrace.prototype.uncycle = function () { var length = this._length; if (!(2 > length)) { for (var nodes = [], stackToIndex = {}, i = 0, node = this; void 0 !== node; ++i)nodes.push(node), node = node._parent; length = this._length = i; for (var i = length - 1; i >= 0; --i) { var stack = nodes[i].stack; void 0 === stackToIndex[stack] && (stackToIndex[stack] = i) } for (var i = 0; length > i; ++i) { var currentStack = nodes[i].stack, index = stackToIndex[currentStack]; if (void 0 !== index && index !== i) { index > 0 && (nodes[index - 1]._parent = void 0, nodes[index - 1]._length = 1), nodes[i]._parent = void 0, nodes[i]._length = 1; var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; length - 1 > index ? (cycleEdgeNode._parent = nodes[index + 1], cycleEdgeNode._parent.uncycle(), cycleEdgeNode._length = cycleEdgeNode._parent._length + 1) : (cycleEdgeNode._parent = void 0, cycleEdgeNode._length = 1); for (var currentChildLength = cycleEdgeNode._length + 1, j = i - 2; j >= 0; --j)nodes[j]._length = currentChildLength, currentChildLength++; return } } } }, CapturedTrace.prototype.attachExtraTrace = function (error) { if (!error.__stackCleaned__) { this.uncycle(); for (var parsed = parseStackAndMessage(error), message = parsed.message, stacks = [parsed.stack], trace = this; void 0 !== trace;)stacks.push(cleanStack(trace.stack.split("\n"))), trace = trace._parent; removeCommonRoots(stacks), removeDuplicateOrEmptyJumps(stacks), util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)), util.notEnumerableProp(error, "__stackCleaned__", !0) } }; var captureStackTrace = function () { var v8stackFramePattern = /^\s*at\s*/, v8stackFormatter = function (stack, error) { return "string" == typeof stack ? stack : void 0 !== error.name && void 0 !== error.message ? error.toString() : formatNonError(error) }; if ("number" == typeof Error.stackTraceLimit && "function" == typeof Error.captureStackTrace) { Error.stackTraceLimit += 6, stackFramePattern = v8stackFramePattern, formatStack = v8stackFormatter; var captureStackTrace = Error.captureStackTrace; return shouldIgnore = function (line) { return bluebirdFramePattern.test(line) }, function (receiver, ignoreUntil) { Error.stackTraceLimit += 6, captureStackTrace(receiver, ignoreUntil), Error.stackTraceLimit -= 6 } } var err = new Error; if ("string" == typeof err.stack && err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) return stackFramePattern = /@/, formatStack = v8stackFormatter, indentStackFrames = !0, function (o) { o.stack = (new Error).stack }; var hasStackAfterThrow; try { throw new Error } catch (e) { hasStackAfterThrow = "stack" in e } return "stack" in err || !hasStackAfterThrow || "number" != typeof Error.stackTraceLimit ? (formatStack = function (stack, error) { return "string" == typeof stack ? stack : "object" != typeof error && "function" != typeof error || void 0 === error.name || void 0 === error.message ? formatNonError(error) : error.toString() }, null) : (stackFramePattern = v8stackFramePattern, formatStack = v8stackFormatter, function (o) { Error.stackTraceLimit += 6; try { throw new Error } catch (e) { o.stack = e.stack } Error.stackTraceLimit -= 6 }) }([]); "undefined" != typeof console && "undefined" != typeof console.warn && (printWarning = function (message) { console.warn(message) }, util.isNode && process.stderr.isTTY ? printWarning = function (message, isSoft) { var color = isSoft ? "[33m" : "[31m"; console.warn(color + message + "[0m\n") } : util.isNode || "string" != typeof (new Error).stack || (printWarning = function (message, isSoft) { console.warn("%c" + message, isSoft ? "color: darkorange" : "color: red") })); var config = { warnings: warnings, longStackTraces: !1, cancellation: !1, monitoring: !1 }; return longStackTraces && Promise.longStackTraces(), { longStackTraces: function () { return config.longStackTraces }, warnings: function () { return config.warnings }, cancellation: function () { return config.cancellation }, monitoring: function () { return config.monitoring }, propagateFromFunction: function () { return propagateFromFunction }, boundValueFunction: function () { return boundValueFunction }, checkForgottenReturns: checkForgottenReturns, setBounds: setBounds, warn: warn, deprecated: deprecated, CapturedTrace: CapturedTrace, fireDomEvent: fireDomEvent, fireGlobalEvent: fireGlobalEvent }
}
}).call(this, require("_process"))
}, { "./errors": 58, "./util": 82, _process: 102 }], 56: [function (require, module, exports) { "use strict"; module.exports = function (Promise) { function returner() { return this.value } function thrower() { throw this.reason } Promise.prototype["return"] = Promise.prototype.thenReturn = function (value) { return value instanceof Promise && value.suppressUnhandledRejections(), this._then(returner, void 0, void 0, { value: value }, void 0) }, Promise.prototype["throw"] = Promise.prototype.thenThrow = function (reason) { return this._then(thrower, void 0, void 0, { reason: reason }, void 0) }, Promise.prototype.catchThrow = function (reason) { if (arguments.length <= 1) return this._then(void 0, thrower, void 0, { reason: reason }, void 0); var _reason = arguments[1], handler = function () { throw _reason }; return this.caught(reason, handler) }, Promise.prototype.catchReturn = function (value) { if (arguments.length <= 1) return value instanceof Promise && value.suppressUnhandledRejections(), this._then(void 0, returner, void 0, { value: value }, void 0); var _value = arguments[1]; _value instanceof Promise && _value.suppressUnhandledRejections(); var handler = function () { return _value }; return this.caught(value, handler) } } }, {}], 57: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL) { function promiseAllThis() { return PromiseAll(this) } function PromiseMapSeries(promises, fn) { return PromiseReduce(promises, fn, INTERNAL, INTERNAL) } var PromiseReduce = Promise.reduce, PromiseAll = Promise.all; Promise.prototype.each = function (fn) { return PromiseReduce(this, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, this, void 0) }, Promise.prototype.mapSeries = function (fn) { return PromiseReduce(this, fn, INTERNAL, INTERNAL) }, Promise.each = function (promises, fn) { return PromiseReduce(promises, fn, INTERNAL, 0)._then(promiseAllThis, void 0, void 0, promises, void 0) }, Promise.mapSeries = PromiseMapSeries } }, {}], 58: [function (require, module, exports) { "use strict"; function subError(nameProperty, defaultMessage) { function SubError(message) { return this instanceof SubError ? (notEnumerableProp(this, "message", "string" == typeof message ? message : defaultMessage), notEnumerableProp(this, "name", nameProperty), void (Error.captureStackTrace ? Error.captureStackTrace(this, this.constructor) : Error.call(this))) : new SubError(message) } return inherits(SubError, Error), SubError } function OperationalError(message) { return this instanceof OperationalError ? (notEnumerableProp(this, "name", "OperationalError"), notEnumerableProp(this, "message", message), this.cause = message, this.isOperational = !0, void (message instanceof Error ? (notEnumerableProp(this, "message", message.message), notEnumerableProp(this, "stack", message.stack)) : Error.captureStackTrace && Error.captureStackTrace(this, this.constructor))) : new OperationalError(message) } var _TypeError, _RangeError, es5 = require("./es5"), Objectfreeze = es5.freeze, util = require("./util"), inherits = util.inherits, notEnumerableProp = util.notEnumerableProp, Warning = subError("Warning", "warning"), CancellationError = subError("CancellationError", "cancellation error"), TimeoutError = subError("TimeoutError", "timeout error"), AggregateError = subError("AggregateError", "aggregate error"); try { _TypeError = TypeError, _RangeError = RangeError } catch (e) { _TypeError = subError("TypeError", "type error"), _RangeError = subError("RangeError", "range error") } for (var methods = "join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "), i = 0; i < methods.length; ++i)"function" == typeof Array.prototype[methods[i]] && (AggregateError.prototype[methods[i]] = Array.prototype[methods[i]]); es5.defineProperty(AggregateError.prototype, "length", { value: 0, configurable: !1, writable: !0, enumerable: !0 }), AggregateError.prototype.isOperational = !0; var level = 0; AggregateError.prototype.toString = function () { var indent = Array(4 * level + 1).join(" "), ret = "\n" + indent + "AggregateError of:\n"; level++, indent = Array(4 * level + 1).join(" "); for (var i = 0; i < this.length; ++i) { for (var str = this[i] === this ? "[Circular AggregateError]" : this[i] + "", lines = str.split("\n"), j = 0; j < lines.length; ++j)lines[j] = indent + lines[j]; str = lines.join("\n"), ret += str + "\n" } return level--, ret }, inherits(OperationalError, Error); var errorTypes = Error.__BluebirdErrorTypes__; errorTypes || (errorTypes = Objectfreeze({ CancellationError: CancellationError, TimeoutError: TimeoutError, OperationalError: OperationalError, RejectionError: OperationalError, AggregateError: AggregateError }), es5.defineProperty(Error, "__BluebirdErrorTypes__", { value: errorTypes, writable: !1, enumerable: !1, configurable: !1 })), module.exports = { Error: Error, TypeError: _TypeError, RangeError: _RangeError, CancellationError: errorTypes.CancellationError, OperationalError: errorTypes.OperationalError, TimeoutError: errorTypes.TimeoutError, AggregateError: errorTypes.AggregateError, Warning: Warning } }, { "./es5": 59, "./util": 82 }], 59: [function (require, module, exports) { var isES5 = function () { "use strict"; return void 0 === this }(); if (isES5) module.exports = { freeze: Object.freeze, defineProperty: Object.defineProperty, getDescriptor: Object.getOwnPropertyDescriptor, keys: Object.keys, names: Object.getOwnPropertyNames, getPrototypeOf: Object.getPrototypeOf, isArray: Array.isArray, isES5: isES5, propertyIsWritable: function (obj, prop) { var descriptor = Object.getOwnPropertyDescriptor(obj, prop); return !(descriptor && !descriptor.writable && !descriptor.set) } }; else { var has = {}.hasOwnProperty, str = {}.toString, proto = {}.constructor.prototype, ObjectKeys = function (o) { var ret = []; for (var key in o) has.call(o, key) && ret.push(key); return ret }, ObjectGetDescriptor = function (o, key) { return { value: o[key] } }, ObjectDefineProperty = function (o, key, desc) { return o[key] = desc.value, o }, ObjectFreeze = function (obj) { return obj }, ObjectGetPrototypeOf = function (obj) { try { return Object(obj).constructor.prototype } catch (e) { return proto } }, ArrayIsArray = function (obj) { try { return "[object Array]" === str.call(obj) } catch (e) { return !1 } }; module.exports = { isArray: ArrayIsArray, keys: ObjectKeys, names: ObjectKeys, defineProperty: ObjectDefineProperty, getDescriptor: ObjectGetDescriptor, freeze: ObjectFreeze, getPrototypeOf: ObjectGetPrototypeOf, isES5: isES5, propertyIsWritable: function () { return !0 } } } }, {}], 60: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL) { var PromiseMap = Promise.map; Promise.prototype.filter = function (fn, options) { return PromiseMap(this, fn, options, INTERNAL) }, Promise.filter = function (promises, fn, options) { return PromiseMap(promises, fn, options, INTERNAL) } } }, {}], 61: [function (require, module, exports) { "use strict"; module.exports = function (Promise, tryConvertToPromise) { function PassThroughHandlerContext(promise, type, handler) { this.promise = promise, this.type = type, this.handler = handler, this.called = !1, this.cancelPromise = null } function FinallyHandlerCancelReaction(finallyHandler) { this.finallyHandler = finallyHandler } function checkCancel(ctx, reason) { return null != ctx.cancelPromise ? (arguments.length > 1 ? ctx.cancelPromise._reject(reason) : ctx.cancelPromise._cancel(), ctx.cancelPromise = null, !0) : !1 } function succeed() { return finallyHandler.call(this, this.promise._target()._settledValue()) } function fail(reason) { return checkCancel(this, reason) ? void 0 : (errorObj.e = reason, errorObj) } function finallyHandler(reasonOrValue) { var promise = this.promise, handler = this.handler; if (!this.called) { this.called = !0; var ret = this.isFinallyHandler() ? handler.call(promise._boundValue()) : handler.call(promise._boundValue(), reasonOrValue); if (void 0 !== ret) { promise._setReturnedNonUndefined(); var maybePromise = tryConvertToPromise(ret, promise); if (maybePromise instanceof Promise) { if (null != this.cancelPromise) { if (maybePromise._isCancelled()) { var reason = new CancellationError("late cancellation observer"); return promise._attachExtraTrace(reason), errorObj.e = reason, errorObj } maybePromise.isPending() && maybePromise._attachCancellationCallback(new FinallyHandlerCancelReaction(this)) } return maybePromise._then(succeed, fail, void 0, this, void 0) } } } return promise.isRejected() ? (checkCancel(this), errorObj.e = reasonOrValue, errorObj) : (checkCancel(this), reasonOrValue) } var util = require("./util"), CancellationError = Promise.CancellationError, errorObj = util.errorObj; return PassThroughHandlerContext.prototype.isFinallyHandler = function () { return 0 === this.type }, FinallyHandlerCancelReaction.prototype._resultCancelled = function () { checkCancel(this.finallyHandler) }, Promise.prototype._passThrough = function (handler, type, success, fail) { return "function" != typeof handler ? this.then() : this._then(success, fail, void 0, new PassThroughHandlerContext(this, type, handler), void 0) }, Promise.prototype.lastly = Promise.prototype["finally"] = function (handler) { return this._passThrough(handler, 0, finallyHandler, finallyHandler) }, Promise.prototype.tap = function (handler) { return this._passThrough(handler, 1, finallyHandler) }, PassThroughHandlerContext } }, { "./util": 82 }], 62: [function (require, module, exports) { "use strict"; module.exports = function (Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug) { function promiseFromYieldHandler(value, yieldHandlers, traceParent) { for (var i = 0; i < yieldHandlers.length; ++i) { traceParent._pushContext(); var result = tryCatch(yieldHandlers[i])(value); if (traceParent._popContext(), result === errorObj) { traceParent._pushContext(); var ret = Promise.reject(errorObj.e); return traceParent._popContext(), ret } var maybePromise = tryConvertToPromise(result, traceParent); if (maybePromise instanceof Promise) return maybePromise } return null } function PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) { if (debug.cancellation()) { var internal = new Promise(INTERNAL), _finallyPromise = this._finallyPromise = new Promise(INTERNAL); this._promise = internal.lastly(function () { return _finallyPromise }), internal._captureStackTrace(), internal._setOnCancel(this) } else { var promise = this._promise = new Promise(INTERNAL); promise._captureStackTrace() } this._stack = stack, this._generatorFunction = generatorFunction, this._receiver = receiver, this._generator = void 0, this._yieldHandlers = "function" == typeof yieldHandler ? [yieldHandler].concat(yieldHandlers) : yieldHandlers, this._yieldedPromise = null, this._cancellationPhase = !1 } var errors = require("./errors"), TypeError = errors.TypeError, util = require("./util"), errorObj = util.errorObj, tryCatch = util.tryCatch, yieldHandlers = []; util.inherits(PromiseSpawn, Proxyable), PromiseSpawn.prototype._isResolved = function () { return null === this._promise }, PromiseSpawn.prototype._cleanup = function () { this._promise = this._generator = null, debug.cancellation() && null !== this._finallyPromise && (this._finallyPromise._fulfill(), this._finallyPromise = null) }, PromiseSpawn.prototype._promiseCancelled = function () { if (!this._isResolved()) { var result, implementsReturn = "undefined" != typeof this._generator["return"]; if (implementsReturn) this._promise._pushContext(), result = tryCatch(this._generator["return"]).call(this._generator, void 0), this._promise._popContext(); else { var reason = new Promise.CancellationError("generator .return() sentinel"); Promise.coroutine.returnSentinel = reason, this._promise._attachExtraTrace(reason), this._promise._pushContext(), result = tryCatch(this._generator["throw"]).call(this._generator, reason), this._promise._popContext() } this._cancellationPhase = !0, this._yieldedPromise = null, this._continue(result) } }, PromiseSpawn.prototype._promiseFulfilled = function (value) { this._yieldedPromise = null, this._promise._pushContext(); var result = tryCatch(this._generator.next).call(this._generator, value); this._promise._popContext(), this._continue(result) }, PromiseSpawn.prototype._promiseRejected = function (reason) { this._yieldedPromise = null, this._promise._attachExtraTrace(reason), this._promise._pushContext(); var result = tryCatch(this._generator["throw"]).call(this._generator, reason); this._promise._popContext(), this._continue(result) }, PromiseSpawn.prototype._resultCancelled = function () { if (this._yieldedPromise instanceof Promise) { var promise = this._yieldedPromise; this._yieldedPromise = null, promise.cancel() } }, PromiseSpawn.prototype.promise = function () { return this._promise }, PromiseSpawn.prototype._run = function () { this._generator = this._generatorFunction.call(this._receiver), this._receiver = this._generatorFunction = void 0, this._promiseFulfilled(void 0) }, PromiseSpawn.prototype._continue = function (result) { var promise = this._promise; if (result === errorObj) return this._cleanup(), this._cancellationPhase ? promise.cancel() : promise._rejectCallback(result.e, !1); var value = result.value; if (result.done === !0) return this._cleanup(), this._cancellationPhase ? promise.cancel() : promise._resolveCallback(value); var maybePromise = tryConvertToPromise(value, this._promise); if (!(maybePromise instanceof Promise) && (maybePromise = promiseFromYieldHandler(maybePromise, this._yieldHandlers, this._promise), null === maybePromise)) return void this._promiseRejected(new TypeError("A value %s was yielded that could not be treated as a promise\n\n See http://goo.gl/MqrFmX\n\n".replace("%s", value) + "From coroutine:\n" + this._stack.split("\n").slice(1, -7).join("\n"))); maybePromise = maybePromise._target(); var bitField = maybePromise._bitField; 0 === (50397184 & bitField) ? (this._yieldedPromise = maybePromise, maybePromise._proxy(this, null)) : 0 !== (33554432 & bitField) ? Promise._async.invoke(this._promiseFulfilled, this, maybePromise._value()) : 0 !== (16777216 & bitField) ? Promise._async.invoke(this._promiseRejected, this, maybePromise._reason()) : this._promiseCancelled() }, Promise.coroutine = function (generatorFunction, options) { if ("function" != typeof generatorFunction) throw new TypeError("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n"); var yieldHandler = Object(options).yieldHandler, PromiseSpawn$ = PromiseSpawn, stack = (new Error).stack; return function () { var generator = generatorFunction.apply(this, arguments), spawn = new PromiseSpawn$(void 0, void 0, yieldHandler, stack), ret = spawn.promise(); return spawn._generator = generator, spawn._promiseFulfilled(void 0), ret } }, Promise.coroutine.addYieldHandler = function (fn) { if ("function" != typeof fn) throw new TypeError("expecting a function but got " + util.classString(fn)); yieldHandlers.push(fn) }, Promise.spawn = function (generatorFunction) { if (debug.deprecated("Promise.spawn()", "Promise.coroutine()"), "function" != typeof generatorFunction) return apiRejection("generatorFunction must be a function\n\n See http://goo.gl/MqrFmX\n"); var spawn = new PromiseSpawn(generatorFunction, this), ret = spawn.promise(); return spawn._run(Promise.spawn), ret } } }, { "./errors": 58, "./util": 82 }], 63: [function (require, module, exports) {
"use strict"; module.exports = function (Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain) {
var reject, util = require("./util"), canEvaluate = util.canEvaluate, tryCatch = util.tryCatch, errorObj = util.errorObj; if (canEvaluate) {
for (var thenCallback = function (i) { return new Function("value", "holder", " \n 'use strict'; \n holder.pIndex = value; \n holder.checkFulfillment(this); \n ".replace(/Index/g, i)) }, promiseSetter = function (i) { return new Function("promise", "holder", " \n 'use strict'; \n holder.pIndex = promise; \n ".replace(/Index/g, i)) }, generateHolderClass = function (total) {
for (var props = new Array(total), i = 0; i < props.length; ++i)props[i] = "this.p" + (i + 1); var assignment = props.join(" = ") + " = null;", cancellationCode = "var promise;\n" + props.map(function (prop) { return " \n promise = " + prop + "; \n if (promise instanceof Promise) { \n promise.cancel(); \n } \n " }).join("\n"), passedArguments = props.join(", "), name = "Holder$" + total, code = "return function(tryCatch, errorObj, Promise, async) { \n 'use strict'; \n function [TheName](fn) { \n [TheProperties] \n this.fn = fn; \n this.asyncNeeded = true; \n this.now = 0; \n } \n \n [TheName].prototype._callFunction = function(promise) { \n promise._pushContext(); \n var ret = tryCatch(this.fn)([ThePassedArguments]); \n promise._popContext(); \n if (ret === errorObj) { \n promise._rejectCallback(ret.e, false); \n } else { \n promise._resolveCallback(ret); \n } \n }; \n \n [TheName].prototype.checkFulfillment = function(promise) { \n var now = ++this.now; \n if (now === [TheTotal]) { \n if (this.asyncNeeded) { \n async.invoke(this._callFunction, this, promise); \n } else { \n this._callFunction(promise); \n } \n \n } \n }; \n \n [TheName].prototype._resultCancelled = function() { \n [CancellationCode] \n }; \n \n return [TheName]; \n }(tryCatch, errorObj, Promise, async); \n ";
return code = code.replace(/\[TheName\]/g, name).replace(/\[TheTotal\]/g, total).replace(/\[ThePassedArguments\]/g, passedArguments).replace(/\[TheProperties\]/g, assignment).replace(/\[CancellationCode\]/g, cancellationCode), new Function("tryCatch", "errorObj", "Promise", "async", code)(tryCatch, errorObj, Promise, async)
}, holderClasses = [], thenCallbacks = [], promiseSetters = [], i = 0; 8 > i; ++i)holderClasses.push(generateHolderClass(i + 1)), thenCallbacks.push(thenCallback(i + 1)), promiseSetters.push(promiseSetter(i + 1)); reject = function (reason) { this._reject(reason) }
} Promise.join = function () { var fn, last = arguments.length - 1; if (last > 0 && "function" == typeof arguments[last] && (fn = arguments[last], 8 >= last && canEvaluate)) { var ret = new Promise(INTERNAL); ret._captureStackTrace(); for (var HolderClass = holderClasses[last - 1], holder = new HolderClass(fn), callbacks = thenCallbacks, i = 0; last > i; ++i) { var maybePromise = tryConvertToPromise(arguments[i], ret); if (maybePromise instanceof Promise) { maybePromise = maybePromise._target(); var bitField = maybePromise._bitField; 0 === (50397184 & bitField) ? (maybePromise._then(callbacks[i], reject, void 0, ret, holder), promiseSetters[i](maybePromise, holder), holder.asyncNeeded = !1) : 0 !== (33554432 & bitField) ? callbacks[i].call(ret, maybePromise._value(), holder) : 0 !== (16777216 & bitField) ? ret._reject(maybePromise._reason()) : ret._cancel() } else callbacks[i].call(ret, maybePromise, holder) } if (!ret._isFateSealed()) { if (holder.asyncNeeded) { var domain = getDomain(); null !== domain && (holder.fn = util.domainBind(domain, holder.fn)) } ret._setAsyncGuaranteed(), ret._setOnCancel(holder) } return ret } for (var $_len = arguments.length, args = new Array($_len), $_i = 0; $_len > $_i; ++$_i)args[$_i] = arguments[$_i]; fn && args.pop(); var ret = new PromiseArray(args).promise(); return void 0 !== fn ? ret.spread(fn) : ret }
}
}, { "./util": 82 }], 64: [function (require, module, exports) { "use strict"; module.exports = function (Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) { function MappingPromiseArray(promises, fn, limit, _filter) { this.constructor$(promises), this._promise._captureStackTrace(); var domain = getDomain(); this._callback = null === domain ? fn : util.domainBind(domain, fn), this._preservedValues = _filter === INTERNAL ? new Array(this.length()) : null, this._limit = limit, this._inFlight = 0, this._queue = [], async.invoke(this._asyncInit, this, void 0) } function map(promises, fn, options, _filter) { if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn)); var limit = 0; if (void 0 !== options) { if ("object" != typeof options || null === options) return Promise.reject(new TypeError("options argument must be an object but it is " + util.classString(options))); if ("number" != typeof options.concurrency) return Promise.reject(new TypeError("'concurrency' must be a number but it is " + util.classString(options.concurrency))); limit = options.concurrency } return limit = "number" == typeof limit && isFinite(limit) && limit >= 1 ? limit : 0, new MappingPromiseArray(promises, fn, limit, _filter).promise() } var getDomain = Promise._getDomain, util = require("./util"), tryCatch = util.tryCatch, errorObj = util.errorObj, async = Promise._async; util.inherits(MappingPromiseArray, PromiseArray), MappingPromiseArray.prototype._asyncInit = function () { this._init$(void 0, -2) }, MappingPromiseArray.prototype._init = function () { }, MappingPromiseArray.prototype._promiseFulfilled = function (value, index) { var values = this._values, length = this.length(), preservedValues = this._preservedValues, limit = this._limit; if (0 > index) { if (index = -1 * index - 1, values[index] = value, limit >= 1 && (this._inFlight--, this._drainQueue(), this._isResolved())) return !0 } else { if (limit >= 1 && this._inFlight >= limit) return values[index] = value, this._queue.push(index), !1; null !== preservedValues && (preservedValues[index] = value); var promise = this._promise, callback = this._callback, receiver = promise._boundValue(); promise._pushContext(); var ret = tryCatch(callback).call(receiver, value, index, length), promiseCreated = promise._popContext(); if (debug.checkForgottenReturns(ret, promiseCreated, null !== preservedValues ? "Promise.filter" : "Promise.map", promise), ret === errorObj) return this._reject(ret.e), !0; var maybePromise = tryConvertToPromise(ret, this._promise); if (maybePromise instanceof Promise) { maybePromise = maybePromise._target(); var bitField = maybePromise._bitField; if (0 === (50397184 & bitField)) return limit >= 1 && this._inFlight++, values[index] = maybePromise, maybePromise._proxy(this, -1 * (index + 1)), !1; if (0 === (33554432 & bitField)) return 0 !== (16777216 & bitField) ? (this._reject(maybePromise._reason()), !0) : (this._cancel(), !0); ret = maybePromise._value() } values[index] = ret } var totalResolved = ++this._totalResolved; return totalResolved >= length ? (null !== preservedValues ? this._filter(values, preservedValues) : this._resolve(values), !0) : !1 }, MappingPromiseArray.prototype._drainQueue = function () { for (var queue = this._queue, limit = this._limit, values = this._values; queue.length > 0 && this._inFlight < limit;) { if (this._isResolved()) return; var index = queue.pop(); this._promiseFulfilled(values[index], index) } }, MappingPromiseArray.prototype._filter = function (booleans, values) { for (var len = values.length, ret = new Array(len), j = 0, i = 0; len > i; ++i)booleans[i] && (ret[j++] = values[i]); ret.length = j, this._resolve(ret) }, MappingPromiseArray.prototype.preservedValues = function () { return this._preservedValues }, Promise.prototype.map = function (fn, options) { return map(this, fn, options, null) }, Promise.map = function (promises, fn, options, _filter) { return map(promises, fn, options, _filter) } } }, { "./util": 82 }], 65: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) { var util = require("./util"), tryCatch = util.tryCatch; Promise.method = function (fn) { if ("function" != typeof fn) throw new Promise.TypeError("expecting a function but got " + util.classString(fn)); return function () { var ret = new Promise(INTERNAL); ret._captureStackTrace(), ret._pushContext(); var value = tryCatch(fn).apply(this, arguments), promiseCreated = ret._popContext(); return debug.checkForgottenReturns(value, promiseCreated, "Promise.method", ret), ret._resolveFromSyncValue(value), ret } }, Promise.attempt = Promise["try"] = function (fn) { if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn)); var ret = new Promise(INTERNAL); ret._captureStackTrace(), ret._pushContext(); var value; if (arguments.length > 1) { debug.deprecated("calling Promise.try with more than 1 argument"); var arg = arguments[1], ctx = arguments[2]; value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg) : tryCatch(fn).call(ctx, arg) } else value = tryCatch(fn)(); var promiseCreated = ret._popContext(); return debug.checkForgottenReturns(value, promiseCreated, "Promise.try", ret), ret._resolveFromSyncValue(value), ret }, Promise.prototype._resolveFromSyncValue = function (value) { value === util.errorObj ? this._rejectCallback(value.e, !1) : this._resolveCallback(value, !0) } } }, { "./util": 82 }], 66: [function (require, module, exports) { "use strict"; function isUntypedError(obj) { return obj instanceof Error && es5.getPrototypeOf(obj) === Error.prototype } function wrapAsOperationalError(obj) { var ret; if (isUntypedError(obj)) { ret = new OperationalError(obj), ret.name = obj.name, ret.message = obj.message, ret.stack = obj.stack; for (var keys = es5.keys(obj), i = 0; i < keys.length; ++i) { var key = keys[i]; rErrorKey.test(key) || (ret[key] = obj[key]) } return ret } return util.markAsOriginatingFromRejection(obj), obj } function nodebackForPromise(promise, multiArgs) { return function (err, value) { if (null !== promise) { if (err) { var wrapped = wrapAsOperationalError(maybeWrapAsError(err)); promise._attachExtraTrace(wrapped), promise._reject(wrapped) } else if (multiArgs) { for (var $_len = arguments.length, args = new Array(Math.max($_len - 1, 0)), $_i = 1; $_len > $_i; ++$_i)args[$_i - 1] = arguments[$_i]; promise._fulfill(args) } else promise._fulfill(value); promise = null } } } var util = require("./util"), maybeWrapAsError = util.maybeWrapAsError, errors = require("./errors"), OperationalError = errors.OperationalError, es5 = require("./es5"), rErrorKey = /^(?:name|message|stack|cause)$/; module.exports = nodebackForPromise }, { "./errors": 58, "./es5": 59, "./util": 82 }], 67: [function (require, module, exports) { "use strict"; module.exports = function (Promise) { function spreadAdapter(val, nodeback) { var promise = this; if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); var ret = tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); ret === errorObj && async.throwLater(ret.e) } function successAdapter(val, nodeback) { var promise = this, receiver = promise._boundValue(), ret = void 0 === val ? tryCatch(nodeback).call(receiver, null) : tryCatch(nodeback).call(receiver, null, val); ret === errorObj && async.throwLater(ret.e) } function errorAdapter(reason, nodeback) { var promise = this; if (!reason) { var newReason = new Error(reason + ""); newReason.cause = reason, reason = newReason } var ret = tryCatch(nodeback).call(promise._boundValue(), reason); ret === errorObj && async.throwLater(ret.e) } var util = require("./util"), async = Promise._async, tryCatch = util.tryCatch, errorObj = util.errorObj; Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, options) { if ("function" == typeof nodeback) { var adapter = successAdapter; void 0 !== options && Object(options).spread && (adapter = spreadAdapter), this._then(adapter, errorAdapter, void 0, this, nodeback) } return this } } }, { "./util": 82 }], 68: [function (require, module, exports) { (function (process) { "use strict"; module.exports = function () { function Proxyable() { } function check(self, executor) { if ("function" != typeof executor) throw new TypeError("expecting a function but got " + util.classString(executor)); if (self.constructor !== Promise) throw new TypeError("the promise constructor cannot be invoked directly\n\n See http://goo.gl/MqrFmX\n") } function Promise(executor) { this._bitField = 0, this._fulfillmentHandler0 = void 0, this._rejectionHandler0 = void 0, this._promise0 = void 0, this._receiver0 = void 0, executor !== INTERNAL && (check(this, executor), this._resolveFromExecutor(executor)), this._promiseCreated(), this._fireEvent("promiseCreated", this) } function deferResolve(v) { this.promise._resolveCallback(v) } function deferReject(v) { this.promise._rejectCallback(v, !1) } function fillTypes(value) { var p = new Promise(INTERNAL); p._fulfillmentHandler0 = value, p._rejectionHandler0 = value, p._promise0 = value, p._receiver0 = value } var getDomain, makeSelfResolutionError = function () { return new TypeError("circular promise resolution chain\n\n See http://goo.gl/MqrFmX\n") }, reflectHandler = function () { return new Promise.PromiseInspection(this._target()) }, apiRejection = function (msg) { return Promise.reject(new TypeError(msg)) }, UNDEFINED_BINDING = {}, util = require("./util"); getDomain = util.isNode ? function () { var ret = process.domain; return void 0 === ret && (ret = null), ret } : function () { return null }, util.notEnumerableProp(Promise, "_getDomain", getDomain); var es5 = require("./es5"), Async = require("./async"), async = new Async; es5.defineProperty(Promise, "_async", { value: async }); var errors = require("./errors"), TypeError = Promise.TypeError = errors.TypeError; Promise.RangeError = errors.RangeError; var CancellationError = Promise.CancellationError = errors.CancellationError; Promise.TimeoutError = errors.TimeoutError, Promise.OperationalError = errors.OperationalError, Promise.RejectionError = errors.OperationalError, Promise.AggregateError = errors.AggregateError; var INTERNAL = function () { }, APPLY = {}, NEXT_FILTER = {}, tryConvertToPromise = require("./thenables")(Promise, INTERNAL), PromiseArray = require("./promise_array")(Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable), Context = require("./context")(Promise), createContext = Context.create, debug = require("./debuggability")(Promise, Context), PassThroughHandlerContext = (debug.CapturedTrace, require("./finally")(Promise, tryConvertToPromise)), catchFilter = require("./catch_filter")(NEXT_FILTER), nodebackForPromise = require("./nodeback"), errorObj = util.errorObj, tryCatch = util.tryCatch; return Promise.prototype.toString = function () { return "[object Promise]" }, Promise.prototype.caught = Promise.prototype["catch"] = function (fn) { var len = arguments.length; if (len > 1) { var i, catchInstances = new Array(len - 1), j = 0; for (i = 0; len - 1 > i; ++i) { var item = arguments[i]; if (!util.isObject(item)) return apiRejection("expecting an object but got A catch statement predicate " + util.classString(item)); catchInstances[j++] = item } return catchInstances.length = j, fn = arguments[i], this.then(void 0, catchFilter(catchInstances, fn, this)) } return this.then(void 0, fn) }, Promise.prototype.reflect = function () { return this._then(reflectHandler, reflectHandler, void 0, this, void 0) }, Promise.prototype.then = function (didFulfill, didReject) { if (debug.warnings() && arguments.length > 0 && "function" != typeof didFulfill && "function" != typeof didReject) { var msg = ".then() only accepts functions but was passed: " + util.classString(didFulfill); arguments.length > 1 && (msg += ", " + util.classString(didReject)), this._warn(msg) } return this._then(didFulfill, didReject, void 0, void 0, void 0) }, Promise.prototype.done = function (didFulfill, didReject) { var promise = this._then(didFulfill, didReject, void 0, void 0, void 0); promise._setIsFinal() }, Promise.prototype.spread = function (fn) { return "function" != typeof fn ? apiRejection("expecting a function but got " + util.classString(fn)) : this.all()._then(fn, void 0, void 0, APPLY, void 0) }, Promise.prototype.toJSON = function () { var ret = { isFulfilled: !1, isRejected: !1, fulfillmentValue: void 0, rejectionReason: void 0 }; return this.isFulfilled() ? (ret.fulfillmentValue = this.value(), ret.isFulfilled = !0) : this.isRejected() && (ret.rejectionReason = this.reason(), ret.isRejected = !0), ret }, Promise.prototype.all = function () { return arguments.length > 0 && this._warn(".all() was passed arguments but it does not take any"), new PromiseArray(this).promise() }, Promise.prototype.error = function (fn) { return this.caught(util.originatesFromRejection, fn) }, Promise.getNewLibraryCopy = module.exports, Promise.is = function (val) { return val instanceof Promise }, Promise.fromNode = Promise.fromCallback = function (fn) { var ret = new Promise(INTERNAL); ret._captureStackTrace(); var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs : !1, result = tryCatch(fn)(nodebackForPromise(ret, multiArgs)); return result === errorObj && ret._rejectCallback(result.e, !0), ret._isFateSealed() || ret._setAsyncGuaranteed(), ret }, Promise.all = function (promises) { return new PromiseArray(promises).promise() }, Promise.cast = function (obj) { var ret = tryConvertToPromise(obj); return ret instanceof Promise || (ret = new Promise(INTERNAL), ret._captureStackTrace(), ret._setFulfilled(), ret._rejectionHandler0 = obj), ret }, Promise.resolve = Promise.fulfilled = Promise.cast, Promise.reject = Promise.rejected = function (reason) { var ret = new Promise(INTERNAL); return ret._captureStackTrace(), ret._rejectCallback(reason, !0), ret }, Promise.setScheduler = function (fn) { if ("function" != typeof fn) throw new TypeError("expecting a function but got " + util.classString(fn)); return async.setScheduler(fn) }, Promise.prototype._then = function (didFulfill, didReject, _, receiver, internalData) { var haveInternalData = void 0 !== internalData, promise = haveInternalData ? internalData : new Promise(INTERNAL), target = this._target(), bitField = target._bitField; haveInternalData || (promise._propagateFrom(this, 3), promise._captureStackTrace(), void 0 === receiver && 0 !== (2097152 & this._bitField) && (receiver = 0 !== (50397184 & bitField) ? this._boundValue() : target === this ? void 0 : this._boundTo), this._fireEvent("promiseChained", this, promise)); var domain = getDomain(); if (0 !== (50397184 & bitField)) { var handler, value, settler = target._settlePromiseCtx; 0 !== (33554432 & bitField) ? (value = target._rejectionHandler0, handler = didFulfill) : 0 !== (16777216 & bitField) ? (value = target._fulfillmentHandler0, handler = didReject, target._unsetRejectionIsUnhandled()) : (settler = target._settlePromiseLateCancellationObserver, value = new CancellationError("late cancellation observer"), target._attachExtraTrace(value), handler = didReject), async.invoke(settler, target, { handler: null === domain ? handler : "function" == typeof handler && util.domainBind(domain, handler), promise: promise, receiver: receiver, value: value }) } else target._addCallbacks(didFulfill, didReject, promise, receiver, domain); return promise }, Promise.prototype._length = function () { return 65535 & this._bitField }, Promise.prototype._isFateSealed = function () { return 0 !== (117506048 & this._bitField) }, Promise.prototype._isFollowing = function () { return 67108864 === (67108864 & this._bitField) }, Promise.prototype._setLength = function (len) { this._bitField = -65536 & this._bitField | 65535 & len }, Promise.prototype._setFulfilled = function () { this._bitField = 33554432 | this._bitField, this._fireEvent("promiseFulfilled", this) }, Promise.prototype._setRejected = function () { this._bitField = 16777216 | this._bitField, this._fireEvent("promiseRejected", this) }, Promise.prototype._setFollowing = function () { this._bitField = 67108864 | this._bitField, this._fireEvent("promiseResolved", this) }, Promise.prototype._setIsFinal = function () { this._bitField = 4194304 | this._bitField }, Promise.prototype._isFinal = function () { return (4194304 & this._bitField) > 0 }, Promise.prototype._unsetCancelled = function () { this._bitField = -65537 & this._bitField }, Promise.prototype._setCancelled = function () { this._bitField = 65536 | this._bitField, this._fireEvent("promiseCancelled", this) }, Promise.prototype._setWillBeCancelled = function () { this._bitField = 8388608 | this._bitField }, Promise.prototype._setAsyncGuaranteed = function () { async.hasCustomScheduler() || (this._bitField = 134217728 | this._bitField) }, Promise.prototype._receiverAt = function (index) { var ret = 0 === index ? this._receiver0 : this[4 * index - 4 + 3]; return ret === UNDEFINED_BINDING ? void 0 : void 0 === ret && this._isBound() ? this._boundValue() : ret }, Promise.prototype._promiseAt = function (index) { return this[4 * index - 4 + 2] }, Promise.prototype._fulfillmentHandlerAt = function (index) { return this[4 * index - 4 + 0] }, Promise.prototype._rejectionHandlerAt = function (index) { return this[4 * index - 4 + 1] }, Promise.prototype._boundValue = function () { }, Promise.prototype._migrateCallback0 = function (follower) { var fulfill = (follower._bitField, follower._fulfillmentHandler0), reject = follower._rejectionHandler0, promise = follower._promise0, receiver = follower._receiverAt(0); void 0 === receiver && (receiver = UNDEFINED_BINDING), this._addCallbacks(fulfill, reject, promise, receiver, null) }, Promise.prototype._migrateCallbackAt = function (follower, index) { var fulfill = follower._fulfillmentHandlerAt(index), reject = follower._rejectionHandlerAt(index), promise = follower._promiseAt(index), receiver = follower._receiverAt(index); void 0 === receiver && (receiver = UNDEFINED_BINDING), this._addCallbacks(fulfill, reject, promise, receiver, null) }, Promise.prototype._addCallbacks = function (fulfill, reject, promise, receiver, domain) { var index = this._length(); if (index >= 65531 && (index = 0, this._setLength(0)), 0 === index) this._promise0 = promise, this._receiver0 = receiver, "function" == typeof fulfill && (this._fulfillmentHandler0 = null === domain ? fulfill : util.domainBind(domain, fulfill)), "function" == typeof reject && (this._rejectionHandler0 = null === domain ? reject : util.domainBind(domain, reject)); else { var base = 4 * index - 4; this[base + 2] = promise, this[base + 3] = receiver, "function" == typeof fulfill && (this[base + 0] = null === domain ? fulfill : util.domainBind(domain, fulfill)), "function" == typeof reject && (this[base + 1] = null === domain ? reject : util.domainBind(domain, reject)) } return this._setLength(index + 1), index }, Promise.prototype._proxy = function (proxyable, arg) { this._addCallbacks(void 0, void 0, arg, proxyable, null) }, Promise.prototype._resolveCallback = function (value, shouldBind) { if (0 === (117506048 & this._bitField)) { if (value === this) return this._rejectCallback(makeSelfResolutionError(), !1); var maybePromise = tryConvertToPromise(value, this); if (!(maybePromise instanceof Promise)) return this._fulfill(value); shouldBind && this._propagateFrom(maybePromise, 2); var promise = maybePromise._target(); if (promise === this) return void this._reject(makeSelfResolutionError()); var bitField = promise._bitField; if (0 === (50397184 & bitField)) { var len = this._length(); len > 0 && promise._migrateCallback0(this); for (var i = 1; len > i; ++i)promise._migrateCallbackAt(this, i); this._setFollowing(), this._setLength(0), this._setFollowee(promise) } else if (0 !== (33554432 & bitField)) this._fulfill(promise._value()); else if (0 !== (16777216 & bitField)) this._reject(promise._reason()); else { var reason = new CancellationError("late cancellation observer"); promise._attachExtraTrace(reason), this._reject(reason) } } }, Promise.prototype._rejectCallback = function (reason, synchronous, ignoreNonErrorWarnings) { var trace = util.ensureErrorObject(reason), hasStack = trace === reason; if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) { var message = "a promise was rejected with a non-error: " + util.classString(reason); this._warn(message, !0) } this._attachExtraTrace(trace, synchronous ? hasStack : !1), this._reject(reason) }, Promise.prototype._resolveFromExecutor = function (executor) { var promise = this; this._captureStackTrace(), this._pushContext(); var synchronous = !0, r = this._execute(executor, function (value) { promise._resolveCallback(value) }, function (reason) { promise._rejectCallback(reason, synchronous) }); synchronous = !1, this._popContext(), void 0 !== r && promise._rejectCallback(r, !0) }, Promise.prototype._settlePromiseFromHandler = function (handler, receiver, value, promise) { var bitField = promise._bitField; if (0 === (65536 & bitField)) { promise._pushContext(); var x; receiver === APPLY ? value && "number" == typeof value.length ? x = tryCatch(handler).apply(this._boundValue(), value) : (x = errorObj, x.e = new TypeError("cannot .spread() a non-array: " + util.classString(value))) : x = tryCatch(handler).call(receiver, value); var promiseCreated = promise._popContext(); bitField = promise._bitField, 0 === (65536 & bitField) && (x === NEXT_FILTER ? promise._reject(value) : x === errorObj ? promise._rejectCallback(x.e, !1) : (debug.checkForgottenReturns(x, promiseCreated, "", promise, this), promise._resolveCallback(x))) } }, Promise.prototype._target = function () { for (var ret = this; ret._isFollowing();)ret = ret._followee(); return ret }, Promise.prototype._followee = function () { return this._rejectionHandler0 }, Promise.prototype._setFollowee = function (promise) { this._rejectionHandler0 = promise }, Promise.prototype._settlePromise = function (promise, handler, receiver, value) { var isPromise = promise instanceof Promise, bitField = this._bitField, asyncGuaranteed = 0 !== (134217728 & bitField); 0 !== (65536 & bitField) ? (isPromise && promise._invokeInternalOnCancel(), receiver instanceof PassThroughHandlerContext && receiver.isFinallyHandler() ? (receiver.cancelPromise = promise, tryCatch(handler).call(receiver, value) === errorObj && promise._reject(errorObj.e)) : handler === reflectHandler ? promise._fulfill(reflectHandler.call(receiver)) : receiver instanceof Proxyable ? receiver._promiseCancelled(promise) : isPromise || promise instanceof PromiseArray ? promise._cancel() : receiver.cancel()) : "function" == typeof handler ? isPromise ? (asyncGuaranteed && promise._setAsyncGuaranteed(), this._settlePromiseFromHandler(handler, receiver, value, promise)) : handler.call(receiver, value, promise) : receiver instanceof Proxyable ? receiver._isResolved() || (0 !== (33554432 & bitField) ? receiver._promiseFulfilled(value, promise) : receiver._promiseRejected(value, promise)) : isPromise && (asyncGuaranteed && promise._setAsyncGuaranteed(), 0 !== (33554432 & bitField) ? promise._fulfill(value) : promise._reject(value)) }, Promise.prototype._settlePromiseLateCancellationObserver = function (ctx) { var handler = ctx.handler, promise = ctx.promise, receiver = ctx.receiver, value = ctx.value; "function" == typeof handler ? promise instanceof Promise ? this._settlePromiseFromHandler(handler, receiver, value, promise) : handler.call(receiver, value, promise) : promise instanceof Promise && promise._reject(value) }, Promise.prototype._settlePromiseCtx = function (ctx) { this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value) }, Promise.prototype._settlePromise0 = function (handler, value, bitField) { var promise = this._promise0, receiver = this._receiverAt(0); this._promise0 = void 0, this._receiver0 = void 0, this._settlePromise(promise, handler, receiver, value) }, Promise.prototype._clearCallbackDataAtIndex = function (index) { var base = 4 * index - 4; this[base + 2] = this[base + 3] = this[base + 0] = this[base + 1] = void 0 }, Promise.prototype._fulfill = function (value) { var bitField = this._bitField; if (!((117506048 & bitField) >>> 16)) { if (value === this) { var err = makeSelfResolutionError(); return this._attachExtraTrace(err), this._reject(err) } this._setFulfilled(), this._rejectionHandler0 = value, (65535 & bitField) > 0 && (0 !== (134217728 & bitField) ? this._settlePromises() : async.settlePromises(this)) } }, Promise.prototype._reject = function (reason) { var bitField = this._bitField; if (!((117506048 & bitField) >>> 16)) return this._setRejected(), this._fulfillmentHandler0 = reason, this._isFinal() ? async.fatalError(reason, util.isNode) : void ((65535 & bitField) > 0 ? async.settlePromises(this) : this._ensurePossibleRejectionHandled()) }, Promise.prototype._fulfillPromises = function (len, value) { for (var i = 1; len > i; i++) { var handler = this._fulfillmentHandlerAt(i), promise = this._promiseAt(i), receiver = this._receiverAt(i); this._clearCallbackDataAtIndex(i), this._settlePromise(promise, handler, receiver, value) } }, Promise.prototype._rejectPromises = function (len, reason) { for (var i = 1; len > i; i++) { var handler = this._rejectionHandlerAt(i), promise = this._promiseAt(i), receiver = this._receiverAt(i); this._clearCallbackDataAtIndex(i), this._settlePromise(promise, handler, receiver, reason) } }, Promise.prototype._settlePromises = function () { var bitField = this._bitField, len = 65535 & bitField; if (len > 0) { if (0 !== (16842752 & bitField)) { var reason = this._fulfillmentHandler0; this._settlePromise0(this._rejectionHandler0, reason, bitField), this._rejectPromises(len, reason) } else { var value = this._rejectionHandler0; this._settlePromise0(this._fulfillmentHandler0, value, bitField), this._fulfillPromises(len, value) } this._setLength(0) } this._clearCancellationData() }, Promise.prototype._settledValue = function () { var bitField = this._bitField; return 0 !== (33554432 & bitField) ? this._rejectionHandler0 : 0 !== (16777216 & bitField) ? this._fulfillmentHandler0 : void 0 }, Promise.defer = Promise.pending = function () { debug.deprecated("Promise.defer", "new Promise"); var promise = new Promise(INTERNAL); return { promise: promise, resolve: deferResolve, reject: deferReject } }, util.notEnumerableProp(Promise, "_makeSelfResolutionError", makeSelfResolutionError), require("./method")(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug), require("./bind")(Promise, INTERNAL, tryConvertToPromise, debug), require("./cancel")(Promise, PromiseArray, apiRejection, debug), require("./direct_resolve")(Promise), require("./synchronous_inspection")(Promise), require("./join")(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain), Promise.Promise = Promise, Promise.version = "3.4.7", require("./map.js")(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug), require("./call_get.js")(Promise), require("./using.js")(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug), require("./timers.js")(Promise, INTERNAL, debug), require("./generators.js")(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug), require("./nodeify.js")(Promise), require("./promisify.js")(Promise, INTERNAL), require("./props.js")(Promise, PromiseArray, tryConvertToPromise, apiRejection), require("./race.js")(Promise, INTERNAL, tryConvertToPromise, apiRejection), require("./reduce.js")(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug), require("./settle.js")(Promise, PromiseArray, debug), require("./some.js")(Promise, PromiseArray, apiRejection), require("./filter.js")(Promise, INTERNAL), require("./each.js")(Promise, INTERNAL), require("./any.js")(Promise), util.toFastProperties(Promise), util.toFastProperties(Promise.prototype), fillTypes({ a: 1 }), fillTypes({ b: 2 }), fillTypes({ c: 3 }), fillTypes(1), fillTypes(function () { }), fillTypes(void 0), fillTypes(!1), fillTypes(new Promise(INTERNAL)), debug.setBounds(Async.firstLineError, util.lastLineError), Promise } }).call(this, require("_process")) }, { "./any.js": 48, "./async": 49, "./bind": 50, "./call_get.js": 51, "./cancel": 52, "./catch_filter": 53, "./context": 54, "./debuggability": 55, "./direct_resolve": 56, "./each.js": 57, "./errors": 58, "./es5": 59, "./filter.js": 60, "./finally": 61, "./generators.js": 62, "./join": 63, "./map.js": 64, "./method": 65, "./nodeback": 66, "./nodeify.js": 67, "./promise_array": 69, "./promisify.js": 70, "./props.js": 71, "./race.js": 73, "./reduce.js": 74, "./settle.js": 76, "./some.js": 77, "./synchronous_inspection": 78, "./thenables": 79, "./timers.js": 80, "./using.js": 81, "./util": 82, _process: 102 }], 69: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection, Proxyable) { function toResolutionValue(val) { switch (val) { case -2: return []; case -3: return {} } } function PromiseArray(values) { var promise = this._promise = new Promise(INTERNAL); values instanceof Promise && promise._propagateFrom(values, 3), promise._setOnCancel(this), this._values = values, this._length = 0, this._totalResolved = 0, this._init(void 0, -2) } var util = require("./util"); util.isArray; return util.inherits(PromiseArray, Proxyable), PromiseArray.prototype.length = function () { return this._length }, PromiseArray.prototype.promise = function () { return this._promise }, PromiseArray.prototype._init = function init(_, resolveValueIfEmpty) { var values = tryConvertToPromise(this._values, this._promise); if (values instanceof Promise) { values = values._target(); var bitField = values._bitField; if (this._values = values, 0 === (50397184 & bitField)) return this._promise._setAsyncGuaranteed(), values._then(init, this._reject, void 0, this, resolveValueIfEmpty); if (0 === (33554432 & bitField)) return 0 !== (16777216 & bitField) ? this._reject(values._reason()) : this._cancel(); values = values._value() } if (values = util.asArray(values), null === values) { var err = apiRejection("expecting an array or an iterable object but got " + util.classString(values)).reason(); return void this._promise._rejectCallback(err, !1) } return 0 === values.length ? void (-5 === resolveValueIfEmpty ? this._resolveEmptyArray() : this._resolve(toResolutionValue(resolveValueIfEmpty))) : void this._iterate(values) }, PromiseArray.prototype._iterate = function (values) { var len = this.getActualLength(values.length); this._length = len, this._values = this.shouldCopyValues() ? new Array(len) : this._values; for (var result = this._promise, isResolved = !1, bitField = null, i = 0; len > i; ++i) { var maybePromise = tryConvertToPromise(values[i], result); maybePromise instanceof Promise ? (maybePromise = maybePromise._target(), bitField = maybePromise._bitField) : bitField = null, isResolved ? null !== bitField && maybePromise.suppressUnhandledRejections() : null !== bitField ? 0 === (50397184 & bitField) ? (maybePromise._proxy(this, i), this._values[i] = maybePromise) : isResolved = 0 !== (33554432 & bitField) ? this._promiseFulfilled(maybePromise._value(), i) : 0 !== (16777216 & bitField) ? this._promiseRejected(maybePromise._reason(), i) : this._promiseCancelled(i) : isResolved = this._promiseFulfilled(maybePromise, i) } isResolved || result._setAsyncGuaranteed() }, PromiseArray.prototype._isResolved = function () { return null === this._values }, PromiseArray.prototype._resolve = function (value) { this._values = null, this._promise._fulfill(value) }, PromiseArray.prototype._cancel = function () { !this._isResolved() && this._promise._isCancellable() && (this._values = null, this._promise._cancel()) }, PromiseArray.prototype._reject = function (reason) { this._values = null, this._promise._rejectCallback(reason, !1) }, PromiseArray.prototype._promiseFulfilled = function (value, index) { this._values[index] = value; var totalResolved = ++this._totalResolved; return totalResolved >= this._length ? (this._resolve(this._values), !0) : !1 }, PromiseArray.prototype._promiseCancelled = function () { return this._cancel(), !0 }, PromiseArray.prototype._promiseRejected = function (reason) { return this._totalResolved++, this._reject(reason), !0 }, PromiseArray.prototype._resultCancelled = function () { if (!this._isResolved()) { var values = this._values; if (this._cancel(), values instanceof Promise) values.cancel(); else for (var i = 0; i < values.length; ++i)values[i] instanceof Promise && values[i].cancel() } }, PromiseArray.prototype.shouldCopyValues = function () { return !0 }, PromiseArray.prototype.getActualLength = function (len) { return len }, PromiseArray } }, { "./util": 82 }], 70: [function (require, module, exports) {
"use strict"; module.exports = function (Promise, INTERNAL) {
function propsFilter(key) { return !noCopyPropsPattern.test(key) } function isPromisified(fn) { try { return fn.__isPromisified__ === !0 } catch (e) { return !1 } } function hasPromisified(obj, key, suffix) { var val = util.getDataPropertyOrDefault(obj, key + suffix, defaultPromisified); return val ? isPromisified(val) : !1 } function checkValid(ret, suffix, suffixRegexp) {
for (var i = 0; i < ret.length; i += 2) {
var key = ret[i]; if (suffixRegexp.test(key)) for (var keyWithoutAsyncSuffix = key.replace(suffixRegexp, ""), j = 0; j < ret.length; j += 2)if (ret[j] === keyWithoutAsyncSuffix) throw new TypeError("Cannot promisify an API that has normal methods with '%s'-suffix\n\n See http://goo.gl/MqrFmX\n".replace("%s", suffix));
}
} function promisifiableMethods(obj, suffix, suffixRegexp, filter) { for (var keys = util.inheritedDataKeys(obj), ret = [], i = 0; i < keys.length; ++i) { var key = keys[i], value = obj[key], passesDefaultFilter = filter === defaultFilter ? !0 : defaultFilter(key, value, obj); "function" != typeof value || isPromisified(value) || hasPromisified(obj, key, suffix) || !filter(key, value, obj, passesDefaultFilter) || ret.push(key, value) } return checkValid(ret, suffix, suffixRegexp), ret } function makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) { function promisified() { var _receiver = receiver; receiver === THIS && (_receiver = this); var promise = new Promise(INTERNAL); promise._captureStackTrace(); var cb = "string" == typeof method && this !== defaultThis ? this[method] : callback, fn = nodebackForPromise(promise, multiArgs); try { cb.apply(_receiver, withAppended(arguments, fn)) } catch (e) { promise._rejectCallback(maybeWrapAsError(e), !0, !0) } return promise._isFateSealed() || promise._setAsyncGuaranteed(), promise } var defaultThis = function () { return this }(), method = callback; return "string" == typeof method && (callback = fn), util.notEnumerableProp(promisified, "__isPromisified__", !0), promisified } function promisifyAll(obj, suffix, filter, promisifier, multiArgs) { for (var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + "$"), methods = promisifiableMethods(obj, suffix, suffixRegexp, filter), i = 0, len = methods.length; len > i; i += 2) { var key = methods[i], fn = methods[i + 1], promisifiedKey = key + suffix; if (promisifier === makeNodePromisified) obj[promisifiedKey] = makeNodePromisified(key, THIS, key, fn, suffix, multiArgs); else { var promisified = promisifier(fn, function () { return makeNodePromisified(key, THIS, key, fn, suffix, multiArgs) }); util.notEnumerableProp(promisified, "__isPromisified__", !0), obj[promisifiedKey] = promisified } } return util.toFastProperties(obj), obj } function promisify(callback, receiver, multiArgs) { return makeNodePromisified(callback, receiver, void 0, callback, null, multiArgs) } var makeNodePromisifiedEval, THIS = {}, util = require("./util"), nodebackForPromise = require("./nodeback"), withAppended = util.withAppended, maybeWrapAsError = util.maybeWrapAsError, canEvaluate = util.canEvaluate, TypeError = require("./errors").TypeError, defaultSuffix = "Async", defaultPromisified = { __isPromisified__: !0 }, noCopyProps = ["arity", "length", "name", "arguments", "caller", "callee", "prototype", "__isPromisified__"], noCopyPropsPattern = new RegExp("^(?:" + noCopyProps.join("|") + ")$"), defaultFilter = function (name) { return util.isIdentifier(name) && "_" !== name.charAt(0) && "constructor" !== name }, escapeIdentRegex = function (str) { return str.replace(/([$])/, "\\$") }, switchCaseArgumentOrder = function (likelyArgumentCount) { for (var ret = [likelyArgumentCount], min = Math.max(0, likelyArgumentCount - 1 - 3), i = likelyArgumentCount - 1; i >= min; --i)ret.push(i); for (var i = likelyArgumentCount + 1; 3 >= i; ++i)ret.push(i); return ret }, argumentSequence = function (argumentCount) { return util.filledRange(argumentCount, "_arg", "") }, parameterDeclaration = function (parameterCount) { return util.filledRange(Math.max(parameterCount, 3), "_arg", "") }, parameterCount = function (fn) { return "number" == typeof fn.length ? Math.max(Math.min(fn.length, 1024), 0) : 0 }; makeNodePromisifiedEval = function (callback, receiver, originalName, fn, _, multiArgs) { function generateCallForArgumentCount(count) { var ret, args = argumentSequence(count).join(", "), comma = count > 0 ? ", " : ""; return ret = shouldProxyThis ? "ret = callback.call(this, {{args}}, nodeback); break;\n" : void 0 === receiver ? "ret = callback({{args}}, nodeback); break;\n" : "ret = callback.call(receiver, {{args}}, nodeback); break;\n", ret.replace("{{args}}", args).replace(", ", comma) } function generateArgumentSwitchCase() { for (var ret = "", i = 0; i < argumentOrder.length; ++i)ret += "case " + argumentOrder[i] + ":" + generateCallForArgumentCount(argumentOrder[i]); return ret += " \n default: \n var args = new Array(len + 1); \n var i = 0; \n for (var i = 0; i < len; ++i) { \n args[i] = arguments[i]; \n } \n args[i] = nodeback; \n [CodeForCall] \n break; \n ".replace("[CodeForCall]", shouldProxyThis ? "ret = callback.apply(this, args);\n" : "ret = callback.apply(receiver, args);\n") } var newParameterCount = Math.max(0, parameterCount(fn) - 1), argumentOrder = switchCaseArgumentOrder(newParameterCount), shouldProxyThis = "string" == typeof callback || receiver === THIS, getFunctionCode = "string" == typeof callback ? "this != null ? this['" + callback + "'] : fn" : "fn", body = "'use strict'; \n var ret = function (Parameters) { \n 'use strict'; \n var len = arguments.length; \n var promise = new Promise(INTERNAL); \n promise._captureStackTrace(); \n var nodeback = nodebackForPromise(promise, " + multiArgs + "); \n var ret; \n var callback = tryCatch([GetFunctionCode]); \n switch(len) { \n [CodeForSwitchCase] \n } \n if (ret === errorObj) { \n promise._rejectCallback(maybeWrapAsError(ret.e), true, true);\n } \n if (!promise._isFateSealed()) promise._setAsyncGuaranteed(); \n return promise; \n }; \n notEnumerableProp(ret, '__isPromisified__', true); \n return ret; \n ".replace("[CodeForSwitchCase]", generateArgumentSwitchCase()).replace("[GetFunctionCode]", getFunctionCode); return body = body.replace("Parameters", parameterDeclaration(newParameterCount)), new Function("Promise", "fn", "receiver", "withAppended", "maybeWrapAsError", "nodebackForPromise", "tryCatch", "errorObj", "notEnumerableProp", "INTERNAL", body)(Promise, fn, receiver, withAppended, maybeWrapAsError, nodebackForPromise, util.tryCatch, util.errorObj, util.notEnumerableProp, INTERNAL) }; var makeNodePromisified = canEvaluate ? makeNodePromisifiedEval : makeNodePromisifiedClosure; Promise.promisify = function (fn, options) { if ("function" != typeof fn) throw new TypeError("expecting a function but got " + util.classString(fn)); if (isPromisified(fn)) return fn; options = Object(options); var receiver = void 0 === options.context ? THIS : options.context, multiArgs = !!options.multiArgs, ret = promisify(fn, receiver, multiArgs); return util.copyDescriptors(fn, ret, propsFilter), ret }, Promise.promisifyAll = function (target, options) { if ("function" != typeof target && "object" != typeof target) throw new TypeError("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n"); options = Object(options); var multiArgs = !!options.multiArgs, suffix = options.suffix; "string" != typeof suffix && (suffix = defaultSuffix); var filter = options.filter; "function" != typeof filter && (filter = defaultFilter); var promisifier = options.promisifier; if ("function" != typeof promisifier && (promisifier = makeNodePromisified), !util.isIdentifier(suffix)) throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n"); for (var keys = util.inheritedDataKeys(target), i = 0; i < keys.length; ++i) { var value = target[keys[i]]; "constructor" !== keys[i] && util.isClass(value) && (promisifyAll(value.prototype, suffix, filter, promisifier, multiArgs), promisifyAll(value, suffix, filter, promisifier, multiArgs)) } return promisifyAll(target, suffix, filter, promisifier, multiArgs) }
}
}, { "./errors": 58, "./nodeback": 66, "./util": 82 }], 71: [function (require, module, exports) { "use strict"; module.exports = function (Promise, PromiseArray, tryConvertToPromise, apiRejection) { function PropertiesPromiseArray(obj) { var entries, isMap = !1; if (void 0 !== Es6Map && obj instanceof Es6Map) entries = mapToEntries(obj), isMap = !0; else { var keys = es5.keys(obj), len = keys.length; entries = new Array(2 * len); for (var i = 0; len > i; ++i) { var key = keys[i]; entries[i] = obj[key], entries[i + len] = key } } this.constructor$(entries), this._isMap = isMap, this._init$(void 0, -3) } function props(promises) { var ret, castValue = tryConvertToPromise(promises); return isObject(castValue) ? (ret = castValue instanceof Promise ? castValue._then(Promise.props, void 0, void 0, void 0, void 0) : new PropertiesPromiseArray(castValue).promise(), castValue instanceof Promise && ret._propagateFrom(castValue, 2), ret) : apiRejection("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n") } var Es6Map, util = require("./util"), isObject = util.isObject, es5 = require("./es5"); "function" == typeof Map && (Es6Map = Map); var mapToEntries = function () { function extractEntry(value, key) { this[index] = value, this[index + size] = key, index++ } var index = 0, size = 0; return function (map) { size = map.size, index = 0; var ret = new Array(2 * map.size); return map.forEach(extractEntry, ret), ret } }(), entriesToMap = function (entries) { for (var ret = new Es6Map, length = entries.length / 2 | 0, i = 0; length > i; ++i) { var key = entries[length + i], value = entries[i]; ret.set(key, value) } return ret }; util.inherits(PropertiesPromiseArray, PromiseArray), PropertiesPromiseArray.prototype._init = function () { }, PropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) { this._values[index] = value; var totalResolved = ++this._totalResolved; if (totalResolved >= this._length) { var val; if (this._isMap) val = entriesToMap(this._values); else { val = {}; for (var keyOffset = this.length(), i = 0, len = this.length(); len > i; ++i)val[this._values[i + keyOffset]] = this._values[i] } return this._resolve(val), !0 } return !1 }, PropertiesPromiseArray.prototype.shouldCopyValues = function () { return !1 }, PropertiesPromiseArray.prototype.getActualLength = function (len) { return len >> 1 }, Promise.prototype.props = function () { return props(this) }, Promise.props = function (promises) { return props(promises) } } }, { "./es5": 59, "./util": 82 }], 72: [function (require, module, exports) { "use strict"; function arrayMove(src, srcIndex, dst, dstIndex, len) { for (var j = 0; len > j; ++j)dst[j + dstIndex] = src[j + srcIndex], src[j + srcIndex] = void 0 } function Queue(capacity) { this._capacity = capacity, this._length = 0, this._front = 0 } Queue.prototype._willBeOverCapacity = function (size) { return this._capacity < size }, Queue.prototype._pushOne = function (arg) { var length = this.length(); this._checkCapacity(length + 1); var i = this._front + length & this._capacity - 1; this[i] = arg, this._length = length + 1 }, Queue.prototype.push = function (fn, receiver, arg) { var length = this.length() + 3; if (this._willBeOverCapacity(length)) return this._pushOne(fn), this._pushOne(receiver), void this._pushOne(arg); var j = this._front + length - 3; this._checkCapacity(length); var wrapMask = this._capacity - 1; this[j + 0 & wrapMask] = fn, this[j + 1 & wrapMask] = receiver, this[j + 2 & wrapMask] = arg, this._length = length }, Queue.prototype.shift = function () { var front = this._front, ret = this[front]; return this[front] = void 0, this._front = front + 1 & this._capacity - 1, this._length--, ret }, Queue.prototype.length = function () { return this._length }, Queue.prototype._checkCapacity = function (size) { this._capacity < size && this._resizeTo(this._capacity << 1) }, Queue.prototype._resizeTo = function (capacity) { var oldCapacity = this._capacity; this._capacity = capacity; var front = this._front, length = this._length, moveItemsCount = front + length & oldCapacity - 1; arrayMove(this, 0, this, oldCapacity, moveItemsCount) }, module.exports = Queue }, {}], 73: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL, tryConvertToPromise, apiRejection) { function race(promises, parent) { var maybePromise = tryConvertToPromise(promises); if (maybePromise instanceof Promise) return raceLater(maybePromise); if (promises = util.asArray(promises), null === promises) return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); var ret = new Promise(INTERNAL); void 0 !== parent && ret._propagateFrom(parent, 3); for (var fulfill = ret._fulfill, reject = ret._reject, i = 0, len = promises.length; len > i; ++i) { var val = promises[i]; (void 0 !== val || i in promises) && Promise.cast(val)._then(fulfill, reject, void 0, ret, null) } return ret } var util = require("./util"), raceLater = function (promise) { return promise.then(function (array) { return race(array, promise) }) }; Promise.race = function (promises) { return race(promises, void 0) }, Promise.prototype.race = function () { return race(this, void 0) } } }, { "./util": 82 }], 74: [function (require, module, exports) { "use strict"; module.exports = function (Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug) { function ReductionPromiseArray(promises, fn, initialValue, _each) { this.constructor$(promises); var domain = getDomain(); this._fn = null === domain ? fn : util.domainBind(domain, fn), void 0 !== initialValue && (initialValue = Promise.resolve(initialValue), initialValue._attachCancellationCallback(this)), this._initialValue = initialValue, this._currentCancellable = null, _each === INTERNAL ? this._eachValues = Array(this._length) : 0 === _each ? this._eachValues = null : this._eachValues = void 0, this._promise._captureStackTrace(), this._init$(void 0, -5) } function completed(valueOrReason, array) { this.isFulfilled() ? array._resolve(valueOrReason) : array._reject(valueOrReason) } function reduce(promises, fn, initialValue, _each) { if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn)); var array = new ReductionPromiseArray(promises, fn, initialValue, _each); return array.promise() } function gotAccum(accum) { this.accum = accum, this.array._gotAccum(accum); var value = tryConvertToPromise(this.value, this.array._promise); return value instanceof Promise ? (this.array._currentCancellable = value, value._then(gotValue, void 0, void 0, this, void 0)) : gotValue.call(this, value) } function gotValue(value) { var array = this.array, promise = array._promise, fn = tryCatch(array._fn); promise._pushContext(); var ret; ret = void 0 !== array._eachValues ? fn.call(promise._boundValue(), value, this.index, this.length) : fn.call(promise._boundValue(), this.accum, value, this.index, this.length), ret instanceof Promise && (array._currentCancellable = ret); var promiseCreated = promise._popContext(); return debug.checkForgottenReturns(ret, promiseCreated, void 0 !== array._eachValues ? "Promise.each" : "Promise.reduce", promise), ret } var getDomain = Promise._getDomain, util = require("./util"), tryCatch = util.tryCatch; util.inherits(ReductionPromiseArray, PromiseArray), ReductionPromiseArray.prototype._gotAccum = function (accum) { void 0 !== this._eachValues && null !== this._eachValues && accum !== INTERNAL && this._eachValues.push(accum) }, ReductionPromiseArray.prototype._eachComplete = function (value) { return null !== this._eachValues && this._eachValues.push(value), this._eachValues }, ReductionPromiseArray.prototype._init = function () { }, ReductionPromiseArray.prototype._resolveEmptyArray = function () { this._resolve(void 0 !== this._eachValues ? this._eachValues : this._initialValue) }, ReductionPromiseArray.prototype.shouldCopyValues = function () { return !1 }, ReductionPromiseArray.prototype._resolve = function (value) { this._promise._resolveCallback(value), this._values = null }, ReductionPromiseArray.prototype._resultCancelled = function (sender) { return sender === this._initialValue ? this._cancel() : void (this._isResolved() || (this._resultCancelled$(), this._currentCancellable instanceof Promise && this._currentCancellable.cancel(), this._initialValue instanceof Promise && this._initialValue.cancel())) }, ReductionPromiseArray.prototype._iterate = function (values) { this._values = values; var value, i, length = values.length; if (void 0 !== this._initialValue ? (value = this._initialValue, i = 0) : (value = Promise.resolve(values[0]), i = 1), this._currentCancellable = value, !value.isRejected()) for (; length > i; ++i) { var ctx = { accum: null, value: values[i], index: i, length: length, array: this }; value = value._then(gotAccum, void 0, void 0, ctx, void 0) } void 0 !== this._eachValues && (value = value._then(this._eachComplete, void 0, void 0, this, void 0)), value._then(completed, completed, void 0, value, this) }, Promise.prototype.reduce = function (fn, initialValue) { return reduce(this, fn, initialValue, null) }, Promise.reduce = function (promises, fn, initialValue, _each) { return reduce(promises, fn, initialValue, _each) } } }, { "./util": 82 }], 75: [function (require, module, exports) { (function (process, global) { "use strict"; var schedule, util = require("./util"), noAsyncScheduler = function () { throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n") }, NativePromise = util.getNativePromise(); if (util.isNode && "undefined" == typeof MutationObserver) { var GlobalSetImmediate = global.setImmediate, ProcessNextTick = process.nextTick; schedule = util.isRecentNode ? function (fn) { GlobalSetImmediate.call(global, fn) } : function (fn) { ProcessNextTick.call(process, fn) } } else if ("function" == typeof NativePromise && "function" == typeof NativePromise.resolve) { var nativePromise = NativePromise.resolve(); schedule = function (fn) { nativePromise.then(fn) } } else schedule = "undefined" == typeof MutationObserver || "undefined" != typeof window && window.navigator && (window.navigator.standalone || window.cordova) ? "undefined" != typeof setImmediate ? function (fn) { setImmediate(fn) } : "undefined" != typeof setTimeout ? function (fn) { setTimeout(fn, 0) } : noAsyncScheduler : function () { var div = document.createElement("div"), opts = { attributes: !0 }, toggleScheduled = !1, div2 = document.createElement("div"), o2 = new MutationObserver(function () { div.classList.toggle("foo"), toggleScheduled = !1 }); o2.observe(div2, opts); var scheduleToggle = function () { toggleScheduled || (toggleScheduled = !0, div2.classList.toggle("foo")) }; return function (fn) { var o = new MutationObserver(function () { o.disconnect(), fn() }); o.observe(div, opts), scheduleToggle() } }(); module.exports = schedule }).call(this, require("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./util": 82, _process: 102 }], 76: [function (require, module, exports) { "use strict"; module.exports = function (Promise, PromiseArray, debug) { function SettledPromiseArray(values) { this.constructor$(values) } var PromiseInspection = Promise.PromiseInspection, util = require("./util"); util.inherits(SettledPromiseArray, PromiseArray), SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { this._values[index] = inspection; var totalResolved = ++this._totalResolved; return totalResolved >= this._length ? (this._resolve(this._values), !0) : !1 }, SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { var ret = new PromiseInspection; return ret._bitField = 33554432, ret._settledValueField = value, this._promiseResolved(index, ret) }, SettledPromiseArray.prototype._promiseRejected = function (reason, index) { var ret = new PromiseInspection; return ret._bitField = 16777216, ret._settledValueField = reason, this._promiseResolved(index, ret) }, Promise.settle = function (promises) { return debug.deprecated(".settle()", ".reflect()"), new SettledPromiseArray(promises).promise() }, Promise.prototype.settle = function () { return Promise.settle(this) } } }, { "./util": 82 }], 77: [function (require, module, exports) { "use strict"; module.exports = function (Promise, PromiseArray, apiRejection) { function SomePromiseArray(values) { this.constructor$(values), this._howMany = 0, this._unwrap = !1, this._initialized = !1 } function some(promises, howMany) { if ((0 | howMany) !== howMany || 0 > howMany) return apiRejection("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n"); var ret = new SomePromiseArray(promises), promise = ret.promise(); return ret.setHowMany(howMany), ret.init(), promise } var util = require("./util"), RangeError = require("./errors").RangeError, AggregateError = require("./errors").AggregateError, isArray = util.isArray, CANCELLATION = {}; util.inherits(SomePromiseArray, PromiseArray), SomePromiseArray.prototype._init = function () { if (this._initialized) { if (0 === this._howMany) return void this._resolve([]); this._init$(void 0, -5); var isArrayResolved = isArray(this._values); !this._isResolved() && isArrayResolved && this._howMany > this._canPossiblyFulfill() && this._reject(this._getRangeError(this.length())) } }, SomePromiseArray.prototype.init = function () { this._initialized = !0, this._init() }, SomePromiseArray.prototype.setUnwrap = function () { this._unwrap = !0 }, SomePromiseArray.prototype.howMany = function () { return this._howMany }, SomePromiseArray.prototype.setHowMany = function (count) { this._howMany = count }, SomePromiseArray.prototype._promiseFulfilled = function (value) { return this._addFulfilled(value), this._fulfilled() === this.howMany() ? (this._values.length = this.howMany(), 1 === this.howMany() && this._unwrap ? this._resolve(this._values[0]) : this._resolve(this._values), !0) : !1 }, SomePromiseArray.prototype._promiseRejected = function (reason) { return this._addRejected(reason), this._checkOutcome() }, SomePromiseArray.prototype._promiseCancelled = function () { return this._values instanceof Promise || null == this._values ? this._cancel() : (this._addRejected(CANCELLATION), this._checkOutcome()) }, SomePromiseArray.prototype._checkOutcome = function () { if (this.howMany() > this._canPossiblyFulfill()) { for (var e = new AggregateError, i = this.length(); i < this._values.length; ++i)this._values[i] !== CANCELLATION && e.push(this._values[i]); return e.length > 0 ? this._reject(e) : this._cancel(), !0 } return !1 }, SomePromiseArray.prototype._fulfilled = function () { return this._totalResolved }, SomePromiseArray.prototype._rejected = function () { return this._values.length - this.length() }, SomePromiseArray.prototype._addRejected = function (reason) { this._values.push(reason) }, SomePromiseArray.prototype._addFulfilled = function (value) { this._values[this._totalResolved++] = value }, SomePromiseArray.prototype._canPossiblyFulfill = function () { return this.length() - this._rejected() }, SomePromiseArray.prototype._getRangeError = function (count) { var message = "Input array must contain at least " + this._howMany + " items but contains only " + count + " items"; return new RangeError(message) }, SomePromiseArray.prototype._resolveEmptyArray = function () { this._reject(this._getRangeError(0)) }, Promise.some = function (promises, howMany) { return some(promises, howMany) }, Promise.prototype.some = function (howMany) { return some(this, howMany) }, Promise._SomePromiseArray = SomePromiseArray } }, { "./errors": 58, "./util": 82 }], 78: [function (require, module, exports) { "use strict"; module.exports = function (Promise) { function PromiseInspection(promise) { void 0 !== promise ? (promise = promise._target(), this._bitField = promise._bitField, this._settledValueField = promise._isFateSealed() ? promise._settledValue() : void 0) : (this._bitField = 0, this._settledValueField = void 0) } PromiseInspection.prototype._settledValue = function () { return this._settledValueField }; var value = PromiseInspection.prototype.value = function () { if (!this.isFulfilled()) throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n"); return this._settledValue() }, reason = PromiseInspection.prototype.error = PromiseInspection.prototype.reason = function () { if (!this.isRejected()) throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n"); return this._settledValue() }, isFulfilled = PromiseInspection.prototype.isFulfilled = function () { return 0 !== (33554432 & this._bitField) }, isRejected = PromiseInspection.prototype.isRejected = function () { return 0 !== (16777216 & this._bitField) }, isPending = PromiseInspection.prototype.isPending = function () { return 0 === (50397184 & this._bitField) }, isResolved = PromiseInspection.prototype.isResolved = function () { return 0 !== (50331648 & this._bitField) }; PromiseInspection.prototype.isCancelled = function () { return 0 !== (8454144 & this._bitField) }, Promise.prototype.__isCancelled = function () { return 65536 === (65536 & this._bitField) }, Promise.prototype._isCancelled = function () { return this._target().__isCancelled() }, Promise.prototype.isCancelled = function () { return 0 !== (8454144 & this._target()._bitField) }, Promise.prototype.isPending = function () { return isPending.call(this._target()) }, Promise.prototype.isRejected = function () { return isRejected.call(this._target()) }, Promise.prototype.isFulfilled = function () { return isFulfilled.call(this._target()) }, Promise.prototype.isResolved = function () { return isResolved.call(this._target()) }, Promise.prototype.value = function () { return value.call(this._target()) }, Promise.prototype.reason = function () { var target = this._target(); return target._unsetRejectionIsUnhandled(), reason.call(target) }, Promise.prototype._value = function () { return this._settledValue() }, Promise.prototype._reason = function () { return this._unsetRejectionIsUnhandled(), this._settledValue() }, Promise.PromiseInspection = PromiseInspection } }, {}], 79: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL) { function tryConvertToPromise(obj, context) { if (isObject(obj)) { if (obj instanceof Promise) return obj; var then = getThen(obj); if (then === errorObj) { context && context._pushContext(); var ret = Promise.reject(then.e); return context && context._popContext(), ret } if ("function" == typeof then) { if (isAnyBluebirdPromise(obj)) { var ret = new Promise(INTERNAL); return obj._then(ret._fulfill, ret._reject, void 0, ret, null), ret } return doThenable(obj, then, context) } } return obj } function doGetThen(obj) { return obj.then } function getThen(obj) { try { return doGetThen(obj) } catch (e) { return errorObj.e = e, errorObj } } function isAnyBluebirdPromise(obj) { try { return hasProp.call(obj, "_promise0") } catch (e) { return !1 } } function doThenable(x, then, context) { function resolve(value) { promise && (promise._resolveCallback(value), promise = null) } function reject(reason) { promise && (promise._rejectCallback(reason, synchronous, !0), promise = null) } var promise = new Promise(INTERNAL), ret = promise; context && context._pushContext(), promise._captureStackTrace(), context && context._popContext(); var synchronous = !0, result = util.tryCatch(then).call(x, resolve, reject); return synchronous = !1, promise && result === errorObj && (promise._rejectCallback(result.e, !0, !0), promise = null), ret } var util = require("./util"), errorObj = util.errorObj, isObject = util.isObject, hasProp = {}.hasOwnProperty; return tryConvertToPromise } }, { "./util": 82 }], 80: [function (require, module, exports) { "use strict"; module.exports = function (Promise, INTERNAL, debug) { function HandleWrapper(handle) { this.handle = handle } function successClear(value) { return clearTimeout(this.handle), value } function failureClear(reason) { throw clearTimeout(this.handle), reason } var util = require("./util"), TimeoutError = Promise.TimeoutError; HandleWrapper.prototype._resultCancelled = function () { clearTimeout(this.handle) }; var afterValue = function (value) { return delay(+this).thenReturn(value) }, delay = Promise.delay = function (ms, value) { var ret, handle; return void 0 !== value ? (ret = Promise.resolve(value)._then(afterValue, null, null, ms, void 0), debug.cancellation() && value instanceof Promise && ret._setOnCancel(value)) : (ret = new Promise(INTERNAL), handle = setTimeout(function () { ret._fulfill() }, +ms), debug.cancellation() && ret._setOnCancel(new HandleWrapper(handle)), ret._captureStackTrace()), ret._setAsyncGuaranteed(), ret }; Promise.prototype.delay = function (ms) { return delay(ms, this) }; var afterTimeout = function (promise, message, parent) { var err; err = "string" != typeof message ? message instanceof Error ? message : new TimeoutError("operation timed out") : new TimeoutError(message), util.markAsOriginatingFromRejection(err), promise._attachExtraTrace(err), promise._reject(err), null != parent && parent.cancel() }; Promise.prototype.timeout = function (ms, message) { ms = +ms; var ret, parent, handleWrapper = new HandleWrapper(setTimeout(function () { ret.isPending() && afterTimeout(ret, message, parent) }, ms)); return debug.cancellation() ? (parent = this.then(), ret = parent._then(successClear, failureClear, void 0, handleWrapper, void 0), ret._setOnCancel(handleWrapper)) : ret = this._then(successClear, failureClear, void 0, handleWrapper, void 0), ret } } }, { "./util": 82 }], 81: [function (require, module, exports) {
"use strict"; module.exports = function (Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug) {
function thrower(e) { setTimeout(function () { throw e }, 0) } function castPreservingDisposable(thenable) { var maybePromise = tryConvertToPromise(thenable); return maybePromise !== thenable && "function" == typeof thenable._isDisposable && "function" == typeof thenable._getDisposer && thenable._isDisposable() && maybePromise._setDisposable(thenable._getDisposer()), maybePromise } function dispose(resources, inspection) { function iterator() { if (i >= len) return ret._fulfill(); var maybePromise = castPreservingDisposable(resources[i++]); if (maybePromise instanceof Promise && maybePromise._isDisposable()) { try { maybePromise = tryConvertToPromise(maybePromise._getDisposer().tryDispose(inspection), resources.promise) } catch (e) { return thrower(e) } if (maybePromise instanceof Promise) return maybePromise._then(iterator, thrower, null, null, null) } iterator() } var i = 0, len = resources.length, ret = new Promise(INTERNAL); return iterator(), ret } function Disposer(data, promise, context) { this._data = data, this._promise = promise, this._context = context } function FunctionDisposer(fn, promise, context) { this.constructor$(fn, promise, context) } function maybeUnwrapDisposer(value) { return Disposer.isDisposer(value) ? (this.resources[this.index]._setDisposable(value), value.promise()) : value } function ResourceList(length) { this.length = length, this.promise = null, this[length - 1] = null } var util = require("./util"), TypeError = require("./errors").TypeError, inherits = require("./util").inherits, errorObj = util.errorObj, tryCatch = util.tryCatch, NULL = {}; Disposer.prototype.data = function () { return this._data }, Disposer.prototype.promise = function () { return this._promise }, Disposer.prototype.resource = function () { return this.promise().isFulfilled() ? this.promise().value() : NULL }, Disposer.prototype.tryDispose = function (inspection) { var resource = this.resource(), context = this._context; void 0 !== context && context._pushContext(); var ret = resource !== NULL ? this.doDispose(resource, inspection) : null; return void 0 !== context && context._popContext(), this._promise._unsetDisposable(), this._data = null, ret }, Disposer.isDisposer = function (d) { return null != d && "function" == typeof d.resource && "function" == typeof d.tryDispose }, inherits(FunctionDisposer, Disposer), FunctionDisposer.prototype.doDispose = function (resource, inspection) { var fn = this.data(); return fn.call(resource, resource, inspection) }, ResourceList.prototype._resultCancelled = function () { for (var len = this.length, i = 0; len > i; ++i) { var item = this[i]; item instanceof Promise && item.cancel() } }, Promise.using = function () {
var len = arguments.length; if (2 > len) return apiRejection("you must pass at least 2 arguments to Promise.using"); var fn = arguments[len - 1]; if ("function" != typeof fn) return apiRejection("expecting a function but got " + util.classString(fn)); var input, spreadArgs = !0; 2 === len && Array.isArray(arguments[0]) ? (input = arguments[0], len = input.length, spreadArgs = !1) : (input = arguments, len--); for (var resources = new ResourceList(len), i = 0; len > i; ++i) { var resource = input[i]; if (Disposer.isDisposer(resource)) { var disposer = resource; resource = resource.promise(), resource._setDisposable(disposer) } else { var maybePromise = tryConvertToPromise(resource); maybePromise instanceof Promise && (resource = maybePromise._then(maybeUnwrapDisposer, null, null, { resources: resources, index: i }, void 0)) } resources[i] = resource } for (var reflectedResources = new Array(resources.length), i = 0; i < reflectedResources.length; ++i)reflectedResources[i] = Promise.resolve(resources[i]).reflect(); var resultPromise = Promise.all(reflectedResources).then(function (inspections) { for (var i = 0; i < inspections.length; ++i) { var inspection = inspections[i]; if (inspection.isRejected()) return errorObj.e = inspection.error(), errorObj; if (!inspection.isFulfilled()) return void resultPromise.cancel(); inspections[i] = inspection.value() } promise._pushContext(), fn = tryCatch(fn); var ret = spreadArgs ? fn.apply(void 0, inspections) : fn(inspections), promiseCreated = promise._popContext(); return debug.checkForgottenReturns(ret, promiseCreated, "Promise.using", promise), ret }), promise = resultPromise.lastly(function () {
var inspection = new Promise.PromiseInspection(resultPromise);
return dispose(resources, inspection)
}); return resources.promise = promise, promise._setOnCancel(resources), promise
}, Promise.prototype._setDisposable = function (disposer) { this._bitField = 131072 | this._bitField, this._disposer = disposer }, Promise.prototype._isDisposable = function () { return (131072 & this._bitField) > 0 }, Promise.prototype._getDisposer = function () { return this._disposer }, Promise.prototype._unsetDisposable = function () { this._bitField = -131073 & this._bitField, this._disposer = void 0 }, Promise.prototype.disposer = function (fn) { if ("function" == typeof fn) return new FunctionDisposer(fn, this, createContext()); throw new TypeError }
}
}, { "./errors": 58, "./util": 82 }], 82: [function (require, module, exports) { (function (process, global) { "use strict"; function tryCatcher() { try { var target = tryCatchTarget; return tryCatchTarget = null, target.apply(this, arguments) } catch (e) { return errorObj.e = e, errorObj } } function tryCatch(fn) { return tryCatchTarget = fn, tryCatcher } function isPrimitive(val) { return null == val || val === !0 || val === !1 || "string" == typeof val || "number" == typeof val } function isObject(value) { return "function" == typeof value || "object" == typeof value && null !== value } function maybeWrapAsError(maybeError) { return isPrimitive(maybeError) ? new Error(safeToString(maybeError)) : maybeError } function withAppended(target, appendee) { var i, len = target.length, ret = new Array(len + 1); for (i = 0; len > i; ++i)ret[i] = target[i]; return ret[i] = appendee, ret } function getDataPropertyOrDefault(obj, key, defaultValue) { if (!es5.isES5) return {}.hasOwnProperty.call(obj, key) ? obj[key] : void 0; var desc = Object.getOwnPropertyDescriptor(obj, key); return null != desc ? null == desc.get && null == desc.set ? desc.value : defaultValue : void 0 } function notEnumerableProp(obj, name, value) { if (isPrimitive(obj)) return obj; var descriptor = { value: value, configurable: !0, enumerable: !1, writable: !0 }; return es5.defineProperty(obj, name, descriptor), obj } function thrower(r) { throw r } function isClass(fn) { try { if ("function" == typeof fn) { var keys = es5.names(fn.prototype), hasMethods = es5.isES5 && keys.length > 1, hasMethodsOtherThanConstructor = keys.length > 0 && !(1 === keys.length && "constructor" === keys[0]), hasThisAssignmentAndStaticMethods = thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; if (hasMethods || hasMethodsOtherThanConstructor || hasThisAssignmentAndStaticMethods) return !0 } return !1 } catch (e) { return !1 } } function toFastProperties(obj) { function FakeConstructor() { } FakeConstructor.prototype = obj; for (var l = 8; l--;)new FakeConstructor; return obj } function isIdentifier(str) { return rident.test(str) } function filledRange(count, prefix, suffix) { for (var ret = new Array(count), i = 0; count > i; ++i)ret[i] = prefix + i + suffix; return ret } function safeToString(obj) { try { return obj + "" } catch (e) { return "[no string representation]" } } function isError(obj) { return null !== obj && "object" == typeof obj && "string" == typeof obj.message && "string" == typeof obj.name } function markAsOriginatingFromRejection(e) { try { notEnumerableProp(e, "isOperational", !0) } catch (ignore) { } } function originatesFromRejection(e) { return null == e ? !1 : e instanceof Error.__BluebirdErrorTypes__.OperationalError || e.isOperational === !0 } function canAttachTrace(obj) { return isError(obj) && es5.propertyIsWritable(obj, "stack") } function classString(obj) { return {}.toString.call(obj) } function copyDescriptors(from, to, filter) { for (var keys = es5.names(from), i = 0; i < keys.length; ++i) { var key = keys[i]; if (filter(key)) try { es5.defineProperty(to, key, es5.getDescriptor(from, key)) } catch (ignore) { } } } function env(key) { return hasEnvVariables ? process.env[key] : void 0 } function getNativePromise() { if ("function" == typeof Promise) try { var promise = new Promise(function () { }); if ("[object Promise]" === {}.toString.call(promise)) return Promise } catch (e) { } } function domainBind(self, cb) { return self.bind(cb) } var es5 = require("./es5"), canEvaluate = "undefined" == typeof navigator, errorObj = { e: {} }, tryCatchTarget, globalObject = "undefined" != typeof self ? self : "undefined" != typeof window ? window : "undefined" != typeof global ? global : void 0 !== this ? this : null, inherits = function (Child, Parent) { function T() { this.constructor = Child, this.constructor$ = Parent; for (var propertyName in Parent.prototype) hasProp.call(Parent.prototype, propertyName) && "$" !== propertyName.charAt(propertyName.length - 1) && (this[propertyName + "$"] = Parent.prototype[propertyName]) } var hasProp = {}.hasOwnProperty; return T.prototype = Parent.prototype, Child.prototype = new T, Child.prototype }, inheritedDataKeys = function () { var excludedPrototypes = [Array.prototype, Object.prototype, Function.prototype], isExcludedProto = function (val) { for (var i = 0; i < excludedPrototypes.length; ++i)if (excludedPrototypes[i] === val) return !0; return !1 }; if (es5.isES5) { var getKeys = Object.getOwnPropertyNames; return function (obj) { for (var ret = [], visitedKeys = Object.create(null); null != obj && !isExcludedProto(obj);) { var keys; try { keys = getKeys(obj) } catch (e) { return ret } for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!visitedKeys[key]) { visitedKeys[key] = !0; var desc = Object.getOwnPropertyDescriptor(obj, key); null != desc && null == desc.get && null == desc.set && ret.push(key) } } obj = es5.getPrototypeOf(obj) } return ret } } var hasProp = {}.hasOwnProperty; return function (obj) { if (isExcludedProto(obj)) return []; var ret = []; enumeration: for (var key in obj) if (hasProp.call(obj, key)) ret.push(key); else { for (var i = 0; i < excludedPrototypes.length; ++i)if (hasProp.call(excludedPrototypes[i], key)) continue enumeration; ret.push(key) } return ret } }(), thisAssignmentPattern = /this\s*\.\s*\S+\s*=/, rident = /^[a-z$_][a-z$_0-9]*$/i, ensureErrorObject = function () { return "stack" in new Error ? function (value) { return canAttachTrace(value) ? value : new Error(safeToString(value)) } : function (value) { if (canAttachTrace(value)) return value; try { throw new Error(safeToString(value)) } catch (err) { return err } } }(), asArray = function (v) { return es5.isArray(v) ? v : null }; if ("undefined" != typeof Symbol && Symbol.iterator) { var ArrayFrom = "function" == typeof Array.from ? function (v) { return Array.from(v) } : function (v) { for (var itResult, ret = [], it = v[Symbol.iterator](); !(itResult = it.next()).done;)ret.push(itResult.value); return ret }; asArray = function (v) { return es5.isArray(v) ? v : null != v && "function" == typeof v[Symbol.iterator] ? ArrayFrom(v) : null } } var isNode = "undefined" != typeof process && "[object process]" === classString(process).toLowerCase(), hasEnvVariables = "undefined" != typeof process && "undefined" != typeof process.env, ret = { isClass: isClass, isIdentifier: isIdentifier, inheritedDataKeys: inheritedDataKeys, getDataPropertyOrDefault: getDataPropertyOrDefault, thrower: thrower, isArray: es5.isArray, asArray: asArray, notEnumerableProp: notEnumerableProp, isPrimitive: isPrimitive, isObject: isObject, isError: isError, canEvaluate: canEvaluate, errorObj: errorObj, tryCatch: tryCatch, inherits: inherits, withAppended: withAppended, maybeWrapAsError: maybeWrapAsError, toFastProperties: toFastProperties, filledRange: filledRange, toString: safeToString, canAttachTrace: canAttachTrace, ensureErrorObject: ensureErrorObject, originatesFromRejection: originatesFromRejection, markAsOriginatingFromRejection: markAsOriginatingFromRejection, classString: classString, copyDescriptors: copyDescriptors, hasDevTools: "undefined" != typeof chrome && chrome && "function" == typeof chrome.loadTimes, isNode: isNode, hasEnvVariables: hasEnvVariables, env: env, global: globalObject, getNativePromise: getNativePromise, domainBind: domainBind }; ret.isRecentNode = ret.isNode && function () { var version = process.versions.node.split(".").map(Number); return 0 === version[0] && version[1] > 10 || version[0] > 0 }(), ret.isNode && ret.toFastProperties(process); try { throw new Error } catch (e) { ret.lastLineError = e } module.exports = ret }).call(this, require("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, { "./es5": 59, _process: 102 }], 83: [function (require, module, exports) {
(function (global) {
"use strict"; function typedArraySupport() { try { var arr = new Uint8Array(1); return arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }, 42 === arr.foo() && "function" == typeof arr.subarray && 0 === arr.subarray(1, 1).byteLength } catch (e) { return !1 } } function kMaxLength() { return Buffer.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 } function createBuffer(that, length) { if (kMaxLength() < length) throw new RangeError("Invalid typed array length"); return Buffer.TYPED_ARRAY_SUPPORT ? (that = new Uint8Array(length), that.__proto__ = Buffer.prototype) : (null === that && (that = new Buffer(length)), that.length = length), that } function Buffer(arg, encodingOrOffset, length) { if (!(Buffer.TYPED_ARRAY_SUPPORT || this instanceof Buffer)) return new Buffer(arg, encodingOrOffset, length); if ("number" == typeof arg) { if ("string" == typeof encodingOrOffset) throw new Error("If encoding is specified then the first argument must be a string"); return allocUnsafe(this, arg) } return from(this, arg, encodingOrOffset, length) } function from(that, value, encodingOrOffset, length) { if ("number" == typeof value) throw new TypeError('"value" argument must not be a number'); return "undefined" != typeof ArrayBuffer && value instanceof ArrayBuffer ? fromArrayBuffer(that, value, encodingOrOffset, length) : "string" == typeof value ? fromString(that, value, encodingOrOffset) : fromObject(that, value) } function assertSize(size) { if ("number" != typeof size) throw new TypeError('"size" argument must be a number'); if (0 > size) throw new RangeError('"size" argument must not be negative') } function alloc(that, size, fill, encoding) { return assertSize(size), 0 >= size ? createBuffer(that, size) : void 0 !== fill ? "string" == typeof encoding ? createBuffer(that, size).fill(fill, encoding) : createBuffer(that, size).fill(fill) : createBuffer(that, size) } function allocUnsafe(that, size) { if (assertSize(size), that = createBuffer(that, 0 > size ? 0 : 0 | checked(size)), !Buffer.TYPED_ARRAY_SUPPORT) for (var i = 0; size > i; ++i)that[i] = 0; return that } function fromString(that, string, encoding) { if (("string" != typeof encoding || "" === encoding) && (encoding = "utf8"), !Buffer.isEncoding(encoding)) throw new TypeError('"encoding" must be a valid string encoding'); var length = 0 | byteLength(string, encoding); that = createBuffer(that, length); var actual = that.write(string, encoding); return actual !== length && (that = that.slice(0, actual)), that } function fromArrayLike(that, array) { var length = array.length < 0 ? 0 : 0 | checked(array.length); that = createBuffer(that, length); for (var i = 0; length > i; i += 1)that[i] = 255 & array[i]; return that } function fromArrayBuffer(that, array, byteOffset, length) { if (array.byteLength, 0 > byteOffset || array.byteLength < byteOffset) throw new RangeError("'offset' is out of bounds"); if (array.byteLength < byteOffset + (length || 0)) throw new RangeError("'length' is out of bounds"); return array = void 0 === byteOffset && void 0 === length ? new Uint8Array(array) : void 0 === length ? new Uint8Array(array, byteOffset) : new Uint8Array(array, byteOffset, length), Buffer.TYPED_ARRAY_SUPPORT ? (that = array, that.__proto__ = Buffer.prototype) : that = fromArrayLike(that, array), that } function fromObject(that, obj) { if (Buffer.isBuffer(obj)) { var len = 0 | checked(obj.length); return that = createBuffer(that, len), 0 === that.length ? that : (obj.copy(that, 0, 0, len), that) } if (obj) { if ("undefined" != typeof ArrayBuffer && obj.buffer instanceof ArrayBuffer || "length" in obj) return "number" != typeof obj.length || isnan(obj.length) ? createBuffer(that, 0) : fromArrayLike(that, obj); if ("Buffer" === obj.type && isArray(obj.data)) return fromArrayLike(that, obj.data) } throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") } function checked(length) { if (length >= kMaxLength()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + kMaxLength().toString(16) + " bytes"); return 0 | length } function SlowBuffer(length) { return +length != length && (length = 0), Buffer.alloc(+length) } function byteLength(string, encoding) { if (Buffer.isBuffer(string)) return string.length; if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) return string.byteLength; "string" != typeof string && (string = "" + string); var len = string.length; if (0 === len) return 0; for (var loweredCase = !1; ;)switch (encoding) { case "ascii": case "latin1": case "binary": return len; case "utf8": case "utf-8": case void 0: return utf8ToBytes(string).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * len; case "hex": return len >>> 1; case "base64": return base64ToBytes(string).length; default: if (loweredCase) return utf8ToBytes(string).length; encoding = ("" + encoding).toLowerCase(), loweredCase = !0 } } function slowToString(encoding, start, end) { var loweredCase = !1; if ((void 0 === start || 0 > start) && (start = 0), start > this.length) return ""; if ((void 0 === end || end > this.length) && (end = this.length), 0 >= end) return ""; if (end >>>= 0, start >>>= 0, start >= end) return ""; for (encoding || (encoding = "utf8"); ;)switch (encoding) { case "hex": return hexSlice(this, start, end); case "utf8": case "utf-8": return utf8Slice(this, start, end); case "ascii": return asciiSlice(this, start, end); case "latin1": case "binary": return latin1Slice(this, start, end); case "base64": return base64Slice(this, start, end); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return utf16leSlice(this, start, end); default: if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); encoding = (encoding + "").toLowerCase(), loweredCase = !0 } } function swap(b, n, m) { var i = b[n]; b[n] = b[m], b[m] = i } function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { if (0 === buffer.length) return -1; if ("string" == typeof byteOffset ? (encoding = byteOffset, byteOffset = 0) : byteOffset > 2147483647 ? byteOffset = 2147483647 : -2147483648 > byteOffset && (byteOffset = -2147483648), byteOffset = +byteOffset, isNaN(byteOffset) && (byteOffset = dir ? 0 : buffer.length - 1), 0 > byteOffset && (byteOffset = buffer.length + byteOffset), byteOffset >= buffer.length) { if (dir) return -1; byteOffset = buffer.length - 1 } else if (0 > byteOffset) { if (!dir) return -1; byteOffset = 0 } if ("string" == typeof val && (val = Buffer.from(val, encoding)), Buffer.isBuffer(val)) return 0 === val.length ? -1 : arrayIndexOf(buffer, val, byteOffset, encoding, dir); if ("number" == typeof val) return val = 255 & val, Buffer.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? dir ? Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) : Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) : arrayIndexOf(buffer, [val], byteOffset, encoding, dir); throw new TypeError("val must be string, number or Buffer") } function arrayIndexOf(arr, val, byteOffset, encoding, dir) { function read(buf, i) { return 1 === indexSize ? buf[i] : buf.readUInt16BE(i * indexSize) } var indexSize = 1, arrLength = arr.length, valLength = val.length; if (void 0 !== encoding && (encoding = String(encoding).toLowerCase(), "ucs2" === encoding || "ucs-2" === encoding || "utf16le" === encoding || "utf-16le" === encoding)) { if (arr.length < 2 || val.length < 2) return -1; indexSize = 2, arrLength /= 2, valLength /= 2, byteOffset /= 2 } var i; if (dir) { var foundIndex = -1; for (i = byteOffset; arrLength > i; i++)if (read(arr, i) === read(val, -1 === foundIndex ? 0 : i - foundIndex)) { if (-1 === foundIndex && (foundIndex = i), i - foundIndex + 1 === valLength) return foundIndex * indexSize } else -1 !== foundIndex && (i -= i - foundIndex), foundIndex = -1 } else for (byteOffset + valLength > arrLength && (byteOffset = arrLength - valLength), i = byteOffset; i >= 0; i--) { for (var found = !0, j = 0; valLength > j; j++)if (read(arr, i + j) !== read(val, j)) { found = !1; break } if (found) return i } return -1 } function hexWrite(buf, string, offset, length) { offset = Number(offset) || 0; var remaining = buf.length - offset; length ? (length = Number(length), length > remaining && (length = remaining)) : length = remaining; var strLen = string.length; if (strLen % 2 !== 0) throw new TypeError("Invalid hex string"); length > strLen / 2 && (length = strLen / 2); for (var i = 0; length > i; ++i) { var parsed = parseInt(string.substr(2 * i, 2), 16); if (isNaN(parsed)) return i; buf[offset + i] = parsed } return i } function utf8Write(buf, string, offset, length) { return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) } function asciiWrite(buf, string, offset, length) { return blitBuffer(asciiToBytes(string), buf, offset, length) } function latin1Write(buf, string, offset, length) { return asciiWrite(buf, string, offset, length) } function base64Write(buf, string, offset, length) { return blitBuffer(base64ToBytes(string), buf, offset, length) } function ucs2Write(buf, string, offset, length) { return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) } function base64Slice(buf, start, end) { return 0 === start && end === buf.length ? base64.fromByteArray(buf) : base64.fromByteArray(buf.slice(start, end)) } function utf8Slice(buf, start, end) { end = Math.min(buf.length, end); for (var res = [], i = start; end > i;) { var firstByte = buf[i], codePoint = null, bytesPerSequence = firstByte > 239 ? 4 : firstByte > 223 ? 3 : firstByte > 191 ? 2 : 1; if (end >= i + bytesPerSequence) { var secondByte, thirdByte, fourthByte, tempCodePoint; switch (bytesPerSequence) { case 1: 128 > firstByte && (codePoint = firstByte); break; case 2: secondByte = buf[i + 1], 128 === (192 & secondByte) && (tempCodePoint = (31 & firstByte) << 6 | 63 & secondByte, tempCodePoint > 127 && (codePoint = tempCodePoint)); break; case 3: secondByte = buf[i + 1], thirdByte = buf[i + 2], 128 === (192 & secondByte) && 128 === (192 & thirdByte) && (tempCodePoint = (15 & firstByte) << 12 | (63 & secondByte) << 6 | 63 & thirdByte, tempCodePoint > 2047 && (55296 > tempCodePoint || tempCodePoint > 57343) && (codePoint = tempCodePoint)); break; case 4: secondByte = buf[i + 1], thirdByte = buf[i + 2], fourthByte = buf[i + 3], 128 === (192 & secondByte) && 128 === (192 & thirdByte) && 128 === (192 & fourthByte) && (tempCodePoint = (15 & firstByte) << 18 | (63 & secondByte) << 12 | (63 & thirdByte) << 6 | 63 & fourthByte, tempCodePoint > 65535 && 1114112 > tempCodePoint && (codePoint = tempCodePoint)) } } null === codePoint ? (codePoint = 65533, bytesPerSequence = 1) : codePoint > 65535 && (codePoint -= 65536, res.push(codePoint >>> 10 & 1023 | 55296), codePoint = 56320 | 1023 & codePoint), res.push(codePoint), i += bytesPerSequence } return decodeCodePointsArray(res) } function decodeCodePointsArray(codePoints) { var len = codePoints.length; if (MAX_ARGUMENTS_LENGTH >= len) return String.fromCharCode.apply(String, codePoints); for (var res = "", i = 0; len > i;)res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); return res } function asciiSlice(buf, start, end) { var ret = ""; end = Math.min(buf.length, end); for (var i = start; end > i; ++i)ret += String.fromCharCode(127 & buf[i]); return ret } function latin1Slice(buf, start, end) { var ret = ""; end = Math.min(buf.length, end); for (var i = start; end > i; ++i)ret += String.fromCharCode(buf[i]); return ret } function hexSlice(buf, start, end) { var len = buf.length; (!start || 0 > start) && (start = 0), (!end || 0 > end || end > len) && (end = len); for (var out = "", i = start; end > i; ++i)out += toHex(buf[i]); return out } function utf16leSlice(buf, start, end) { for (var bytes = buf.slice(start, end), res = "", i = 0; i < bytes.length; i += 2)res += String.fromCharCode(bytes[i] + 256 * bytes[i + 1]); return res } function checkOffset(offset, ext, length) { if (offset % 1 !== 0 || 0 > offset) throw new RangeError("offset is not uint"); if (offset + ext > length) throw new RangeError("Trying to access beyond buffer length") } function checkInt(buf, value, offset, ext, max, min) { if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (value > max || min > value) throw new RangeError('"value" argument is out of bounds'); if (offset + ext > buf.length) throw new RangeError("Index out of range") } function objectWriteUInt16(buf, value, offset, littleEndian) { 0 > value && (value = 65535 + value + 1); for (var i = 0, j = Math.min(buf.length - offset, 2); j > i; ++i)buf[offset + i] = (value & 255 << 8 * (littleEndian ? i : 1 - i)) >>> 8 * (littleEndian ? i : 1 - i) } function objectWriteUInt32(buf, value, offset, littleEndian) { 0 > value && (value = 4294967295 + value + 1); for (var i = 0, j = Math.min(buf.length - offset, 4); j > i; ++i)buf[offset + i] = value >>> 8 * (littleEndian ? i : 3 - i) & 255 } function checkIEEE754(buf, value, offset, ext, max, min) { if (offset + ext > buf.length) throw new RangeError("Index out of range"); if (0 > offset) throw new RangeError("Index out of range") } function writeFloat(buf, value, offset, littleEndian, noAssert) { return noAssert || checkIEEE754(buf, value, offset, 4, 3.4028234663852886e38, -3.4028234663852886e38), ieee754.write(buf, value, offset, littleEndian, 23, 4), offset + 4 } function writeDouble(buf, value, offset, littleEndian, noAssert) { return noAssert || checkIEEE754(buf, value, offset, 8, 1.7976931348623157e308, -1.7976931348623157e308), ieee754.write(buf, value, offset, littleEndian, 52, 8), offset + 8 } function base64clean(str) { if (str = stringtrim(str).replace(INVALID_BASE64_RE, ""), str.length < 2) return ""; for (; str.length % 4 !== 0;)str += "="; return str } function stringtrim(str) { return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, "") } function toHex(n) { return 16 > n ? "0" + n.toString(16) : n.toString(16) } function utf8ToBytes(string, units) { units = units || 1 / 0; for (var codePoint, length = string.length, leadSurrogate = null, bytes = [], i = 0; length > i; ++i) { if (codePoint = string.charCodeAt(i), codePoint > 55295 && 57344 > codePoint) { if (!leadSurrogate) { if (codePoint > 56319) { (units -= 3) > -1 && bytes.push(239, 191, 189); continue } if (i + 1 === length) { (units -= 3) > -1 && bytes.push(239, 191, 189); continue } leadSurrogate = codePoint; continue } if (56320 > codePoint) { (units -= 3) > -1 && bytes.push(239, 191, 189), leadSurrogate = codePoint; continue } codePoint = (leadSurrogate - 55296 << 10 | codePoint - 56320) + 65536 } else leadSurrogate && (units -= 3) > -1 && bytes.push(239, 191, 189); if (leadSurrogate = null, 128 > codePoint) { if ((units -= 1) < 0) break; bytes.push(codePoint) } else if (2048 > codePoint) { if ((units -= 2) < 0) break; bytes.push(codePoint >> 6 | 192, 63 & codePoint | 128) } else if (65536 > codePoint) { if ((units -= 3) < 0) break; bytes.push(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, 63 & codePoint | 128) } else { if (!(1114112 > codePoint)) throw new Error("Invalid code point"); if ((units -= 4) < 0) break; bytes.push(codePoint >> 18 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, 63 & codePoint | 128) } } return bytes } function asciiToBytes(str) { for (var byteArray = [], i = 0; i < str.length; ++i)byteArray.push(255 & str.charCodeAt(i)); return byteArray } function utf16leToBytes(str, units) { for (var c, hi, lo, byteArray = [], i = 0; i < str.length && !((units -= 2) < 0); ++i)c = str.charCodeAt(i), hi = c >> 8, lo = c % 256, byteArray.push(lo), byteArray.push(hi); return byteArray } function base64ToBytes(str) { return base64.toByteArray(base64clean(str)) } function blitBuffer(src, dst, offset, length) { for (var i = 0; length > i && !(i + offset >= dst.length || i >= src.length); ++i)dst[i + offset] = src[i]; return i } function isnan(val) { return val !== val } var base64 = require("base64-js"), ieee754 = require("ieee754"), isArray = require("isarray"); exports.Buffer = Buffer, exports.SlowBuffer = SlowBuffer, exports.INSPECT_MAX_BYTES = 50, Buffer.TYPED_ARRAY_SUPPORT = void 0 !== global.TYPED_ARRAY_SUPPORT ? global.TYPED_ARRAY_SUPPORT : typedArraySupport(), exports.kMaxLength = kMaxLength(), Buffer.poolSize = 8192, Buffer._augment = function (arr) { return arr.__proto__ = Buffer.prototype, arr }, Buffer.from = function (value, encodingOrOffset, length) { return from(null, value, encodingOrOffset, length) }, Buffer.TYPED_ARRAY_SUPPORT && (Buffer.prototype.__proto__ = Uint8Array.prototype, Buffer.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && Buffer[Symbol.species] === Buffer && Object.defineProperty(Buffer, Symbol.species, { value: null, configurable: !0 })), Buffer.alloc = function (size, fill, encoding) { return alloc(null, size, fill, encoding) }, Buffer.allocUnsafe = function (size) { return allocUnsafe(null, size) }, Buffer.allocUnsafeSlow = function (size) { return allocUnsafe(null, size) }, Buffer.isBuffer = function (b) { return !(null == b || !b._isBuffer) }, Buffer.compare = function (a, b) { if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) throw new TypeError("Arguments must be Buffers"); if (a === b) return 0; for (var x = a.length, y = b.length, i = 0, len = Math.min(x, y); len > i; ++i)if (a[i] !== b[i]) { x = a[i], y = b[i]; break } return y > x ? -1 : x > y ? 1 : 0 }, Buffer.isEncoding = function (encoding) { switch (String(encoding).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, Buffer.concat = function (list, length) { if (!isArray(list)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === list.length) return Buffer.alloc(0); var i; if (void 0 === length) for (length = 0, i = 0; i < list.length; ++i)length += list[i].length; var buffer = Buffer.allocUnsafe(length), pos = 0; for (i = 0; i < list.length; ++i) { var buf = list[i]; if (!Buffer.isBuffer(buf)) throw new TypeError('"list" argument must be an Array of Buffers'); buf.copy(buffer, pos), pos += buf.length } return buffer }, Buffer.byteLength = byteLength, Buffer.prototype._isBuffer = !0, Buffer.prototype.swap16 = function () { var len = this.length; if (len % 2 !== 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var i = 0; len > i; i += 2)swap(this, i, i + 1); return this }, Buffer.prototype.swap32 = function () { var len = this.length; if (len % 4 !== 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var i = 0; len > i; i += 4)swap(this, i, i + 3), swap(this, i + 1, i + 2); return this }, Buffer.prototype.swap64 = function () { var len = this.length; if (len % 8 !== 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var i = 0; len > i; i += 8)swap(this, i, i + 7), swap(this, i + 1, i + 6), swap(this, i + 2, i + 5), swap(this, i + 3, i + 4); return this }, Buffer.prototype.toString = function () { var length = 0 | this.length; return 0 === length ? "" : 0 === arguments.length ? utf8Slice(this, 0, length) : slowToString.apply(this, arguments) }, Buffer.prototype.equals = function (b) { if (!Buffer.isBuffer(b)) throw new TypeError("Argument must be a Buffer"); return this === b ? !0 : 0 === Buffer.compare(this, b) }, Buffer.prototype.inspect = function () { var str = "", max = exports.INSPECT_MAX_BYTES; return this.length > 0 && (str = this.toString("hex", 0, max).match(/.{2}/g).join(" "), this.length > max && (str += " ... ")), "" }, Buffer.prototype.compare = function (target, start, end, thisStart, thisEnd) { if (!Buffer.isBuffer(target)) throw new TypeError("Argument must be a Buffer"); if (void 0 === start && (start = 0), void 0 === end && (end = target ? target.length : 0), void 0 === thisStart && (thisStart = 0), void 0 === thisEnd && (thisEnd = this.length), 0 > start || end > target.length || 0 > thisStart || thisEnd > this.length) throw new RangeError("out of range index"); if (thisStart >= thisEnd && start >= end) return 0; if (thisStart >= thisEnd) return -1; if (start >= end) return 1; if (start >>>= 0, end >>>= 0, thisStart >>>= 0, thisEnd >>>= 0, this === target) return 0; for (var x = thisEnd - thisStart, y = end - start, len = Math.min(x, y), thisCopy = this.slice(thisStart, thisEnd), targetCopy = target.slice(start, end), i = 0; len > i; ++i)if (thisCopy[i] !== targetCopy[i]) { x = thisCopy[i], y = targetCopy[i]; break } return y > x ? -1 : x > y ? 1 : 0 }, Buffer.prototype.includes = function (val, byteOffset, encoding) { return -1 !== this.indexOf(val, byteOffset, encoding) }, Buffer.prototype.indexOf = function (val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, !0) }, Buffer.prototype.lastIndexOf = function (val, byteOffset, encoding) { return bidirectionalIndexOf(this, val, byteOffset, encoding, !1) }, Buffer.prototype.write = function (string, offset, length, encoding) { if (void 0 === offset) encoding = "utf8", length = this.length, offset = 0; else if (void 0 === length && "string" == typeof offset) encoding = offset, length = this.length, offset = 0; else { if (!isFinite(offset)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); offset = 0 | offset, isFinite(length) ? (length = 0 | length, void 0 === encoding && (encoding = "utf8")) : (encoding = length, length = void 0) } var remaining = this.length - offset; if ((void 0 === length || length > remaining) && (length = remaining), string.length > 0 && (0 > length || 0 > offset) || offset > this.length) throw new RangeError("Attempt to write outside buffer bounds"); encoding || (encoding = "utf8"); for (var loweredCase = !1; ;)switch (encoding) { case "hex": return hexWrite(this, string, offset, length); case "utf8": case "utf-8": return utf8Write(this, string, offset, length); case "ascii": return asciiWrite(this, string, offset, length); case "latin1": case "binary": return latin1Write(this, string, offset, length); case "base64": return base64Write(this, string, offset, length); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return ucs2Write(this, string, offset, length); default: if (loweredCase) throw new TypeError("Unknown encoding: " + encoding); encoding = ("" + encoding).toLowerCase(), loweredCase = !0 } }, Buffer.prototype.toJSON = function () { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }; var MAX_ARGUMENTS_LENGTH = 4096; Buffer.prototype.slice = function (start, end) { var len = this.length; start = ~~start, end = void 0 === end ? len : ~~end, 0 > start ? (start += len, 0 > start && (start = 0)) : start > len && (start = len), 0 > end ? (end += len, 0 > end && (end = 0)) : end > len && (end = len), start > end && (end = start); var newBuf; if (Buffer.TYPED_ARRAY_SUPPORT) newBuf = this.subarray(start, end), newBuf.__proto__ = Buffer.prototype; else { var sliceLen = end - start; newBuf = new Buffer(sliceLen, void 0); for (var i = 0; sliceLen > i; ++i)newBuf[i] = this[i + start] } return newBuf }, Buffer.prototype.readUIntLE = function (offset, byteLength, noAssert) { offset = 0 | offset, byteLength = 0 | byteLength, noAssert || checkOffset(offset, byteLength, this.length); for (var val = this[offset], mul = 1, i = 0; ++i < byteLength && (mul *= 256);)val += this[offset + i] * mul; return val }, Buffer.prototype.readUIntBE = function (offset, byteLength, noAssert) { offset = 0 | offset, byteLength = 0 | byteLength, noAssert || checkOffset(offset, byteLength, this.length); for (var val = this[offset + --byteLength], mul = 1; byteLength > 0 && (mul *= 256);)val += this[offset + --byteLength] * mul; return val }, Buffer.prototype.readUInt8 = function (offset, noAssert) { return noAssert || checkOffset(offset, 1, this.length), this[offset] }, Buffer.prototype.readUInt16LE = function (offset, noAssert) { return noAssert || checkOffset(offset, 2, this.length), this[offset] | this[offset + 1] << 8 }, Buffer.prototype.readUInt16BE = function (offset, noAssert) { return noAssert || checkOffset(offset, 2, this.length), this[offset] << 8 | this[offset + 1] }, Buffer.prototype.readUInt32LE = function (offset, noAssert) { return noAssert || checkOffset(offset, 4, this.length), (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + 16777216 * this[offset + 3] }, Buffer.prototype.readUInt32BE = function (offset, noAssert) { return noAssert || checkOffset(offset, 4, this.length), 16777216 * this[offset] + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]) }, Buffer.prototype.readIntLE = function (offset, byteLength, noAssert) { offset = 0 | offset, byteLength = 0 | byteLength, noAssert || checkOffset(offset, byteLength, this.length); for (var val = this[offset], mul = 1, i = 0; ++i < byteLength && (mul *= 256);)val += this[offset + i] * mul; return mul *= 128, val >= mul && (val -= Math.pow(2, 8 * byteLength)), val }, Buffer.prototype.readIntBE = function (offset, byteLength, noAssert) { offset = 0 | offset, byteLength = 0 | byteLength, noAssert || checkOffset(offset, byteLength, this.length); for (var i = byteLength, mul = 1, val = this[offset + --i]; i > 0 && (mul *= 256);)val += this[offset + --i] * mul; return mul *= 128, val >= mul && (val -= Math.pow(2, 8 * byteLength)), val }, Buffer.prototype.readInt8 = function (offset, noAssert) { return noAssert || checkOffset(offset, 1, this.length), 128 & this[offset] ? -1 * (255 - this[offset] + 1) : this[offset] }, Buffer.prototype.readInt16LE = function (offset, noAssert) { noAssert || checkOffset(offset, 2, this.length); var val = this[offset] | this[offset + 1] << 8; return 32768 & val ? 4294901760 | val : val }, Buffer.prototype.readInt16BE = function (offset, noAssert) { noAssert || checkOffset(offset, 2, this.length); var val = this[offset + 1] | this[offset] << 8; return 32768 & val ? 4294901760 | val : val }, Buffer.prototype.readInt32LE = function (offset, noAssert) { return noAssert || checkOffset(offset, 4, this.length), this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24 }, Buffer.prototype.readInt32BE = function (offset, noAssert) { return noAssert || checkOffset(offset, 4, this.length), this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3] }, Buffer.prototype.readFloatLE = function (offset, noAssert) { return noAssert || checkOffset(offset, 4, this.length), ieee754.read(this, offset, !0, 23, 4) }, Buffer.prototype.readFloatBE = function (offset, noAssert) { return noAssert || checkOffset(offset, 4, this.length), ieee754.read(this, offset, !1, 23, 4) }, Buffer.prototype.readDoubleLE = function (offset, noAssert) { return noAssert || checkOffset(offset, 8, this.length), ieee754.read(this, offset, !0, 52, 8) }, Buffer.prototype.readDoubleBE = function (offset, noAssert) { return noAssert || checkOffset(offset, 8, this.length), ieee754.read(this, offset, !1, 52, 8) }, Buffer.prototype.writeUIntLE = function (value, offset, byteLength, noAssert) { if (value = +value, offset = 0 | offset, byteLength = 0 | byteLength, !noAssert) { var maxBytes = Math.pow(2, 8 * byteLength) - 1; checkInt(this, value, offset, byteLength, maxBytes, 0) } var mul = 1, i = 0; for (this[offset] = 255 & value; ++i < byteLength && (mul *= 256);)this[offset + i] = value / mul & 255; return offset + byteLength }, Buffer.prototype.writeUIntBE = function (value, offset, byteLength, noAssert) { if (value = +value, offset = 0 | offset, byteLength = 0 | byteLength, !noAssert) { var maxBytes = Math.pow(2, 8 * byteLength) - 1; checkInt(this, value, offset, byteLength, maxBytes, 0) } var i = byteLength - 1, mul = 1; for (this[offset + i] = 255 & value; --i >= 0 && (mul *= 256);)this[offset + i] = value / mul & 255; return offset + byteLength }, Buffer.prototype.writeUInt8 = function (value, offset, noAssert) {
return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 1, 255, 0), Buffer.TYPED_ARRAY_SUPPORT || (value = Math.floor(value)), this[offset] = 255 & value, offset + 1
}, Buffer.prototype.writeUInt16LE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 2, 65535, 0), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = 255 & value, this[offset + 1] = value >>> 8) : objectWriteUInt16(this, value, offset, !0), offset + 2 }, Buffer.prototype.writeUInt16BE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 2, 65535, 0), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = value >>> 8, this[offset + 1] = 255 & value) : objectWriteUInt16(this, value, offset, !1), offset + 2 }, Buffer.prototype.writeUInt32LE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 4, 4294967295, 0), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset + 3] = value >>> 24, this[offset + 2] = value >>> 16, this[offset + 1] = value >>> 8, this[offset] = 255 & value) : objectWriteUInt32(this, value, offset, !0), offset + 4 }, Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 4, 4294967295, 0), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = value >>> 24, this[offset + 1] = value >>> 16, this[offset + 2] = value >>> 8, this[offset + 3] = 255 & value) : objectWriteUInt32(this, value, offset, !1), offset + 4 }, Buffer.prototype.writeIntLE = function (value, offset, byteLength, noAssert) { if (value = +value, offset = 0 | offset, !noAssert) { var limit = Math.pow(2, 8 * byteLength - 1); checkInt(this, value, offset, byteLength, limit - 1, -limit) } var i = 0, mul = 1, sub = 0; for (this[offset] = 255 & value; ++i < byteLength && (mul *= 256);)0 > value && 0 === sub && 0 !== this[offset + i - 1] && (sub = 1), this[offset + i] = (value / mul >> 0) - sub & 255; return offset + byteLength }, Buffer.prototype.writeIntBE = function (value, offset, byteLength, noAssert) { if (value = +value, offset = 0 | offset, !noAssert) { var limit = Math.pow(2, 8 * byteLength - 1); checkInt(this, value, offset, byteLength, limit - 1, -limit) } var i = byteLength - 1, mul = 1, sub = 0; for (this[offset + i] = 255 & value; --i >= 0 && (mul *= 256);)0 > value && 0 === sub && 0 !== this[offset + i + 1] && (sub = 1), this[offset + i] = (value / mul >> 0) - sub & 255; return offset + byteLength }, Buffer.prototype.writeInt8 = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 1, 127, -128), Buffer.TYPED_ARRAY_SUPPORT || (value = Math.floor(value)), 0 > value && (value = 255 + value + 1), this[offset] = 255 & value, offset + 1 }, Buffer.prototype.writeInt16LE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 2, 32767, -32768), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = 255 & value, this[offset + 1] = value >>> 8) : objectWriteUInt16(this, value, offset, !0), offset + 2 }, Buffer.prototype.writeInt16BE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 2, 32767, -32768), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = value >>> 8, this[offset + 1] = 255 & value) : objectWriteUInt16(this, value, offset, !1), offset + 2 }, Buffer.prototype.writeInt32LE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 4, 2147483647, -2147483648), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = 255 & value, this[offset + 1] = value >>> 8, this[offset + 2] = value >>> 16, this[offset + 3] = value >>> 24) : objectWriteUInt32(this, value, offset, !0), offset + 4 }, Buffer.prototype.writeInt32BE = function (value, offset, noAssert) { return value = +value, offset = 0 | offset, noAssert || checkInt(this, value, offset, 4, 2147483647, -2147483648), 0 > value && (value = 4294967295 + value + 1), Buffer.TYPED_ARRAY_SUPPORT ? (this[offset] = value >>> 24, this[offset + 1] = value >>> 16, this[offset + 2] = value >>> 8, this[offset + 3] = 255 & value) : objectWriteUInt32(this, value, offset, !1), offset + 4 }, Buffer.prototype.writeFloatLE = function (value, offset, noAssert) { return writeFloat(this, value, offset, !0, noAssert) }, Buffer.prototype.writeFloatBE = function (value, offset, noAssert) { return writeFloat(this, value, offset, !1, noAssert) }, Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) { return writeDouble(this, value, offset, !0, noAssert) }, Buffer.prototype.writeDoubleBE = function (value, offset, noAssert) { return writeDouble(this, value, offset, !1, noAssert) }, Buffer.prototype.copy = function (target, targetStart, start, end) { if (start || (start = 0), end || 0 === end || (end = this.length), targetStart >= target.length && (targetStart = target.length), targetStart || (targetStart = 0), end > 0 && start > end && (end = start), end === start) return 0; if (0 === target.length || 0 === this.length) return 0; if (0 > targetStart) throw new RangeError("targetStart out of bounds"); if (0 > start || start >= this.length) throw new RangeError("sourceStart out of bounds"); if (0 > end) throw new RangeError("sourceEnd out of bounds"); end > this.length && (end = this.length), target.length - targetStart < end - start && (end = target.length - targetStart + start); var i, len = end - start; if (this === target && targetStart > start && end > targetStart) for (i = len - 1; i >= 0; --i)target[i + targetStart] = this[i + start]; else if (1e3 > len || !Buffer.TYPED_ARRAY_SUPPORT) for (i = 0; len > i; ++i)target[i + targetStart] = this[i + start]; else Uint8Array.prototype.set.call(target, this.subarray(start, start + len), targetStart); return len }, Buffer.prototype.fill = function (val, start, end, encoding) { if ("string" == typeof val) { if ("string" == typeof start ? (encoding = start, start = 0, end = this.length) : "string" == typeof end && (encoding = end, end = this.length), 1 === val.length) { var code = val.charCodeAt(0); 256 > code && (val = code) } if (void 0 !== encoding && "string" != typeof encoding) throw new TypeError("encoding must be a string"); if ("string" == typeof encoding && !Buffer.isEncoding(encoding)) throw new TypeError("Unknown encoding: " + encoding) } else "number" == typeof val && (val = 255 & val); if (0 > start || this.length < start || this.length < end) throw new RangeError("Out of range index"); if (start >= end) return this; start >>>= 0, end = void 0 === end ? this.length : end >>> 0, val || (val = 0); var i; if ("number" == typeof val) for (i = start; end > i; ++i)this[i] = val; else { var bytes = Buffer.isBuffer(val) ? val : utf8ToBytes(new Buffer(val, encoding).toString()), len = bytes.length; for (i = 0; end - start > i; ++i)this[i + start] = bytes[i % len] } return this }; var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, { "base64-js": 47, ieee754: 86, isarray: 87 }], 84: [function (require, module, exports) {
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }); var dingbats = [{ "Typeface name": "Symbol", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, { "Typeface name": "Symbol", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "33", "Unicode hex": "21" }, { "Typeface name": "Symbol", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "8704", "Unicode hex": "2200" }, { "Typeface name": "Symbol", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "35", "Unicode hex": "23" }, { "Typeface name": "Symbol", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "8707", "Unicode hex": "2203" }, { "Typeface name": "Symbol", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "37", "Unicode hex": "25" }, { "Typeface name": "Symbol", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "38", "Unicode hex": "26" }, { "Typeface name": "Symbol", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "8717", "Unicode hex": "220D" }, { "Typeface name": "Symbol", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "40", "Unicode hex": "28" }, { "Typeface name": "Symbol", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "41", "Unicode hex": "29" }, { "Typeface name": "Symbol", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "42", "Unicode hex": "2A" }, { "Typeface name": "Symbol", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "43", "Unicode hex": "2B" }, { "Typeface name": "Symbol", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "44", "Unicode hex": "2C" }, { "Typeface name": "Symbol", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "8722", "Unicode hex": "2212" }, { "Typeface name": "Symbol", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "46", "Unicode hex": "2E" }, { "Typeface name": "Symbol", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "47", "Unicode hex": "2F" }, { "Typeface name": "Symbol", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "48", "Unicode hex": "30" }, { "Typeface name": "Symbol", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "49", "Unicode hex": "31" }, { "Typeface name": "Symbol", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "50", "Unicode hex": "32" }, { "Typeface name": "Symbol", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "51", "Unicode hex": "33" }, { "Typeface name": "Symbol", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "52", "Unicode hex": "34" }, { "Typeface name": "Symbol", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "53", "Unicode hex": "35" }, { "Typeface name": "Symbol", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "54", "Unicode hex": "36" }, { "Typeface name": "Symbol", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "55", "Unicode hex": "37" }, { "Typeface name": "Symbol", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "56", "Unicode hex": "38" }, { "Typeface name": "Symbol", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "57", "Unicode hex": "39" }, { "Typeface name": "Symbol", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "58", "Unicode hex": "3A" }, { "Typeface name": "Symbol", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "59", "Unicode hex": "3B" }, { "Typeface name": "Symbol", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "60", "Unicode hex": "3C" }, { "Typeface name": "Symbol", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "61", "Unicode hex": "3D" }, { "Typeface name": "Symbol", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "62", "Unicode hex": "3E" }, { "Typeface name": "Symbol", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "63", "Unicode hex": "3F" }, { "Typeface name": "Symbol", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "8773", "Unicode hex": "2245" }, { "Typeface name": "Symbol", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "913", "Unicode hex": "391" }, { "Typeface name": "Symbol", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "914", "Unicode hex": "392" }, { "Typeface name": "Symbol", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "935", "Unicode hex": "3A7" }, { "Typeface name": "Symbol", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "916", "Unicode hex": "394" }, { "Typeface name": "Symbol", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "917", "Unicode hex": "395" }, { "Typeface name": "Symbol", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "934", "Unicode hex": "3A6" }, { "Typeface name": "Symbol", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "915", "Unicode hex": "393" }, { "Typeface name": "Symbol", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "919", "Unicode hex": "397" }, { "Typeface name": "Symbol", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "921", "Unicode hex": "399" }, { "Typeface name": "Symbol", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "977", "Unicode hex": "3D1" }, { "Typeface name": "Symbol", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "922", "Unicode hex": "39A" }, { "Typeface name": "Symbol", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "923", "Unicode hex": "39B" }, { "Typeface name": "Symbol", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "924", "Unicode hex": "39C" }, { "Typeface name": "Symbol", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "925", "Unicode hex": "39D" }, { "Typeface name": "Symbol", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "927", "Unicode hex": "39F" }, { "Typeface name": "Symbol", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "928", "Unicode hex": "3A0" }, { "Typeface name": "Symbol", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "920", "Unicode hex": "398" }, { "Typeface name": "Symbol", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "929", "Unicode hex": "3A1" }, { "Typeface name": "Symbol", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "931", "Unicode hex": "3A3" }, { "Typeface name": "Symbol", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "932", "Unicode hex": "3A4" }, { "Typeface name": "Symbol", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "933", "Unicode hex": "3A5" }, { "Typeface name": "Symbol", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "962", "Unicode hex": "3C2" }, { "Typeface name": "Symbol", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "937", "Unicode hex": "3A9" }, { "Typeface name": "Symbol", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "926", "Unicode hex": "39E" }, { "Typeface name": "Symbol", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "936", "Unicode hex": "3A8" }, { "Typeface name": "Symbol", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "918", "Unicode hex": "396" }, { "Typeface name": "Symbol", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "91", "Unicode hex": "5B" }, { "Typeface name": "Symbol", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "8756", "Unicode hex": "2234" }, { "Typeface name": "Symbol", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "93", "Unicode hex": "5D" }, { "Typeface name": "Symbol", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "8869", "Unicode hex": "22A5" }, { "Typeface name": "Symbol", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "95", "Unicode hex": "5F" }, { "Typeface name": "Symbol", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "8254", "Unicode hex": "203E" }, { "Typeface name": "Symbol", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "945", "Unicode hex": "3B1" }, { "Typeface name": "Symbol", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "946", "Unicode hex": "3B2" }, { "Typeface name": "Symbol", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "967", "Unicode hex": "3C7" }, { "Typeface name": "Symbol", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "948", "Unicode hex": "3B4" }, { "Typeface name": "Symbol", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "949", "Unicode hex": "3B5" }, { "Typeface name": "Symbol", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "966", "Unicode hex": "3C6" }, { "Typeface name": "Symbol", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "947", "Unicode hex": "3B3" }, { "Typeface name": "Symbol", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "951", "Unicode hex": "3B7" }, { "Typeface name": "Symbol", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "953", "Unicode hex": "3B9" }, { "Typeface name": "Symbol", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "981", "Unicode hex": "3D5" }, { "Typeface name": "Symbol", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "954", "Unicode hex": "3BA" }, { "Typeface name": "Symbol", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "955", "Unicode hex": "3BB" }, { "Typeface name": "Symbol", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "956", "Unicode hex": "3BC" }, { "Typeface name": "Symbol", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "957", "Unicode hex": "3BD" }, { "Typeface name": "Symbol", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "959", "Unicode hex": "3BF" }, { "Typeface name": "Symbol", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "960", "Unicode hex": "3C0" }, { "Typeface name": "Symbol", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "952", "Unicode hex": "3B8" }, { "Typeface name": "Symbol", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "961", "Unicode hex": "3C1" }, { "Typeface name": "Symbol", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "963", "Unicode hex": "3C3" }, { "Typeface name": "Symbol", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "964", "Unicode hex": "3C4" }, { "Typeface name": "Symbol", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "965", "Unicode hex": "3C5" }, { "Typeface name": "Symbol", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "982", "Unicode hex": "3D6" }, { "Typeface name": "Symbol", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "969", "Unicode hex": "3C9" }, { "Typeface name": "Symbol", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "958", "Unicode hex": "3BE" }, { "Typeface name": "Symbol", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "968", "Unicode hex": "3C8" }, { "Typeface name": "Symbol", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "950", "Unicode hex": "3B6" }, { "Typeface name": "Symbol", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "123", "Unicode hex": "7B" }, { "Typeface name": "Symbol", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "124", "Unicode hex": "7C" }, { "Typeface name": "Symbol", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "125", "Unicode hex": "7D" }, { "Typeface name": "Symbol", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "126", "Unicode hex": "7E" }, { "Typeface name": "Symbol", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "8364", "Unicode hex": "20AC" }, { "Typeface name": "Symbol", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "978", "Unicode hex": "3D2" }, { "Typeface name": "Symbol", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "8242", "Unicode hex": "2032" }, { "Typeface name": "Symbol", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "8804", "Unicode hex": "2264" }, { "Typeface name": "Symbol", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "8260", "Unicode hex": "2044" }, { "Typeface name": "Symbol", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "8734", "Unicode hex": "221E" }, { "Typeface name": "Symbol", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "402", "Unicode hex": "192" }, { "Typeface name": "Symbol", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "9827", "Unicode hex": "2663" }, { "Typeface name": "Symbol", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "9830", "Unicode hex": "2666" }, { "Typeface name": "Symbol", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "9829", "Unicode hex": "2665" }, { "Typeface name": "Symbol", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "9824", "Unicode hex": "2660" }, { "Typeface name": "Symbol", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "8596", "Unicode hex": "2194" }, { "Typeface name": "Symbol", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "8592", "Unicode hex": "2190" }, { "Typeface name": "Symbol", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "8593", "Unicode hex": "2191" }, { "Typeface name": "Symbol", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "8594", "Unicode hex": "2192" }, { "Typeface name": "Symbol", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "8595", "Unicode hex": "2193" }, { "Typeface name": "Symbol", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "176", "Unicode hex": "B0" }, { "Typeface name": "Symbol", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "177", "Unicode hex": "B1" }, { "Typeface name": "Symbol", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "8243", "Unicode hex": "2033" }, { "Typeface name": "Symbol", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "8805", "Unicode hex": "2265" }, { "Typeface name": "Symbol", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "215", "Unicode hex": "D7" }, { "Typeface name": "Symbol", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "8733", "Unicode hex": "221D" }, { "Typeface name": "Symbol", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "8706", "Unicode hex": "2202" }, { "Typeface name": "Symbol", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "8226", "Unicode hex": "2022" }, { "Typeface name": "Symbol", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "247", "Unicode hex": "F7" }, { "Typeface name": "Symbol", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "8800", "Unicode hex": "2260" }, { "Typeface name": "Symbol", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "8801", "Unicode hex": "2261" }, { "Typeface name": "Symbol", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "8776", "Unicode hex": "2248" }, { "Typeface name": "Symbol", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "8230", "Unicode hex": "2026" }, { "Typeface name": "Symbol", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "9168", "Unicode hex": "23D0" }, { "Typeface name": "Symbol", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "9135", "Unicode hex": "23AF" }, { "Typeface name": "Symbol", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "8629", "Unicode hex": "21B5" }, { "Typeface name": "Symbol", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "8501", "Unicode hex": "2135" }, { "Typeface name": "Symbol", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "8465", "Unicode hex": "2111" }, { "Typeface name": "Symbol", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "8476", "Unicode hex": "211C" }, { "Typeface name": "Symbol", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "8472", "Unicode hex": "2118" }, { "Typeface name": "Symbol", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "8855", "Unicode hex": "2297" }, { "Typeface name": "Symbol", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "8853", "Unicode hex": "2295" }, { "Typeface name": "Symbol", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "8709", "Unicode hex": "2205" }, { "Typeface name": "Symbol", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "8745", "Unicode hex": "2229" }, { "Typeface name": "Symbol", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "8746", "Unicode hex": "222A" }, { "Typeface name": "Symbol", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "8835", "Unicode hex": "2283" }, { "Typeface name": "Symbol", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "8839", "Unicode hex": "2287" }, { "Typeface name": "Symbol", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "8836", "Unicode hex": "2284" }, { "Typeface name": "Symbol", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "8834", "Unicode hex": "2282" }, { "Typeface name": "Symbol", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "8838", "Unicode hex": "2286" }, { "Typeface name": "Symbol", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "8712", "Unicode hex": "2208" }, { "Typeface name": "Symbol", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "8713", "Unicode hex": "2209" }, { "Typeface name": "Symbol", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "8736", "Unicode hex": "2220" }, { "Typeface name": "Symbol", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "8711", "Unicode hex": "2207" }, { "Typeface name": "Symbol", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "174", "Unicode hex": "AE" }, { "Typeface name": "Symbol", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "169", "Unicode hex": "A9" }, { "Typeface name": "Symbol", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "8482", "Unicode hex": "2122" }, { "Typeface name": "Symbol", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "8719", "Unicode hex": "220F" }, { "Typeface name": "Symbol", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "8730", "Unicode hex": "221A" }, { "Typeface name": "Symbol", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "8901", "Unicode hex": "22C5" }, { "Typeface name": "Symbol", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "172", "Unicode hex": "AC" }, { "Typeface name": "Symbol", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "8743", "Unicode hex": "2227" }, { "Typeface name": "Symbol", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "8744", "Unicode hex": "2228" }, { "Typeface name": "Symbol", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "8660", "Unicode hex": "21D4" }, { "Typeface name": "Symbol", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "8656", "Unicode hex": "21D0" }, { "Typeface name": "Symbol", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "8657", "Unicode hex": "21D1" }, { "Typeface name": "Symbol", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "8658", "Unicode hex": "21D2" }, { "Typeface name": "Symbol", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "8659", "Unicode hex": "21D3" }, { "Typeface name": "Symbol", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "9674", "Unicode hex": "25CA" }, { "Typeface name": "Symbol", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "12296", "Unicode hex": "3008" }, { "Typeface name": "Symbol", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "174", "Unicode hex": "AE" }, { "Typeface name": "Symbol", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "169", "Unicode hex": "A9" }, { "Typeface name": "Symbol", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "8482", "Unicode hex": "2122" }, { "Typeface name": "Symbol", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "8721", "Unicode hex": "2211" }, { "Typeface name": "Symbol", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "9115", "Unicode hex": "239B" }, { "Typeface name": "Symbol", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "9116", "Unicode hex": "239C" }, { "Typeface name": "Symbol", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "9117", "Unicode hex": "239D" }, { "Typeface name": "Symbol", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "9121", "Unicode hex": "23A1" }, { "Typeface name": "Symbol", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "9122", "Unicode hex": "23A2" }, { "Typeface name": "Symbol", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "9123", "Unicode hex": "23A3" }, { "Typeface name": "Symbol", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "9127", "Unicode hex": "23A7" }, { "Typeface name": "Symbol", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "9128", "Unicode hex": "23A8" }, { "Typeface name": "Symbol", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "9129", "Unicode hex": "23A9" }, { "Typeface name": "Symbol", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "9130", "Unicode hex": "23AA" }, { "Typeface name": "Symbol", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "63743", "Unicode hex": "F8FF" }, { "Typeface name": "Symbol", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "12297", "Unicode hex": "3009" }, { "Typeface name": "Symbol", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "8747", "Unicode hex": "222B" }, { "Typeface name": "Symbol", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "8992", "Unicode hex": "2320" }, { "Typeface name": "Symbol", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "9134", "Unicode hex": "23AE" }, { "Typeface name": "Symbol", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "8993", "Unicode hex": "2321" }, { "Typeface name": "Symbol", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "9118", "Unicode hex": "239E" }, { "Typeface name": "Symbol", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "9119", "Unicode hex": "239F" }, { "Typeface name": "Symbol", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "9120", "Unicode hex": "23A0" }, { "Typeface name": "Symbol", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "9124", "Unicode hex": "23A4" }, { "Typeface name": "Symbol", "Dingbat dec": "250", "Dingbat hex": "FA", "Unicode dec": "9125", "Unicode hex": "23A5" }, { "Typeface name": "Symbol", "Dingbat dec": "251", "Dingbat hex": "FB", "Unicode dec": "9126", "Unicode hex": "23A6" }, { "Typeface name": "Symbol", "Dingbat dec": "252", "Dingbat hex": "FC", "Unicode dec": "9131", "Unicode hex": "23AB" }, { "Typeface name": "Symbol", "Dingbat dec": "253", "Dingbat hex": "FD", "Unicode dec": "9132", "Unicode hex": "23AC" }, { "Typeface name": "Symbol", "Dingbat dec": "254", "Dingbat hex": "FE", "Unicode dec": "9133", "Unicode hex": "23AD" }, { "Typeface name": "Webdings", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, { "Typeface name": "Webdings", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "128375", "Unicode hex": "1F577" }, { "Typeface name": "Webdings", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "128376", "Unicode hex": "1F578" }, { "Typeface name": "Webdings", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "128370", "Unicode hex": "1F572" }, { "Typeface name": "Webdings", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "128374", "Unicode hex": "1F576" }, { "Typeface name": "Webdings", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "127942", "Unicode hex": "1F3C6" }, { "Typeface name": "Webdings", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "127894", "Unicode hex": "1F396" }, { "Typeface name": "Webdings", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "128391", "Unicode hex": "1F587" }, { "Typeface name": "Webdings", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "128488", "Unicode hex": "1F5E8" }, { "Typeface name": "Webdings", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "128489", "Unicode hex": "1F5E9" }, { "Typeface name": "Webdings", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "128496", "Unicode hex": "1F5F0" }, { "Typeface name": "Webdings", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "128497", "Unicode hex": "1F5F1" }, { "Typeface name": "Webdings", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "127798", "Unicode hex": "1F336" }, { "Typeface name": "Webdings", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "127895", "Unicode hex": "1F397" }, { "Typeface name": "Webdings", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "128638", "Unicode hex": "1F67E" }, { "Typeface name": "Webdings", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "128636", "Unicode hex": "1F67C" }, { "Typeface name": "Webdings", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "128469", "Unicode hex": "1F5D5" }, { "Typeface name": "Webdings", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "128470", "Unicode hex": "1F5D6" }, { "Typeface name": "Webdings", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "128471", "Unicode hex": "1F5D7" }, { "Typeface name": "Webdings", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "9204", "Unicode hex": "23F4" }, { "Typeface name": "Webdings", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "9205", "Unicode hex": "23F5" }, { "Typeface name": "Webdings", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "9206", "Unicode hex": "23F6" }, { "Typeface name": "Webdings", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "9207", "Unicode hex": "23F7" }, { "Typeface name": "Webdings", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "9194", "Unicode hex": "23EA" }, { "Typeface name": "Webdings", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "9193", "Unicode hex": "23E9" }, { "Typeface name": "Webdings", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "9198", "Unicode hex": "23EE" }, { "Typeface name": "Webdings", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "9197", "Unicode hex": "23ED" }, { "Typeface name": "Webdings", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "9208", "Unicode hex": "23F8" }, { "Typeface name": "Webdings", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "9209", "Unicode hex": "23F9" }, { "Typeface name": "Webdings", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "9210", "Unicode hex": "23FA" }, { "Typeface name": "Webdings", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "128474", "Unicode hex": "1F5DA" }, { "Typeface name": "Webdings", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "128499", "Unicode hex": "1F5F3" }, { "Typeface name": "Webdings", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "128736", "Unicode hex": "1F6E0" }, { "Typeface name": "Webdings", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "127959", "Unicode hex": "1F3D7" }, { "Typeface name": "Webdings", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "127960", "Unicode hex": "1F3D8" }, { "Typeface name": "Webdings", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "127961", "Unicode hex": "1F3D9" }, { "Typeface name": "Webdings", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "127962", "Unicode hex": "1F3DA" }, { "Typeface name": "Webdings", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "127964", "Unicode hex": "1F3DC" }, { "Typeface name": "Webdings", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "127981", "Unicode hex": "1F3ED" }, { "Typeface name": "Webdings", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "127963", "Unicode hex": "1F3DB" }, { "Typeface name": "Webdings", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "127968", "Unicode hex": "1F3E0" }, { "Typeface name": "Webdings", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "127958", "Unicode hex": "1F3D6" }, { "Typeface name": "Webdings", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "127965", "Unicode hex": "1F3DD" }, { "Typeface name": "Webdings", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "128739", "Unicode hex": "1F6E3" }, { "Typeface name": "Webdings", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "128269", "Unicode hex": "1F50D" }, { "Typeface name": "Webdings", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "127956", "Unicode hex": "1F3D4" }, { "Typeface name": "Webdings", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "128065", "Unicode hex": "1F441" }, { "Typeface name": "Webdings", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "128066", "Unicode hex": "1F442" }, { "Typeface name": "Webdings", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "127966", "Unicode hex": "1F3DE" }, {
"Typeface name": "Webdings", "Dingbat dec": "81",
"Dingbat hex": "51", "Unicode dec": "127957", "Unicode hex": "1F3D5"
}, { "Typeface name": "Webdings", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "128740", "Unicode hex": "1F6E4" }, { "Typeface name": "Webdings", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "127967", "Unicode hex": "1F3DF" }, { "Typeface name": "Webdings", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "128755", "Unicode hex": "1F6F3" }, { "Typeface name": "Webdings", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "128364", "Unicode hex": "1F56C" }, { "Typeface name": "Webdings", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "128363", "Unicode hex": "1F56B" }, { "Typeface name": "Webdings", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "128360", "Unicode hex": "1F568" }, { "Typeface name": "Webdings", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "128264", "Unicode hex": "1F508" }, { "Typeface name": "Webdings", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "127892", "Unicode hex": "1F394" }, { "Typeface name": "Webdings", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "127893", "Unicode hex": "1F395" }, { "Typeface name": "Webdings", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "128492", "Unicode hex": "1F5EC" }, { "Typeface name": "Webdings", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "128637", "Unicode hex": "1F67D" }, { "Typeface name": "Webdings", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "128493", "Unicode hex": "1F5ED" }, { "Typeface name": "Webdings", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "128490", "Unicode hex": "1F5EA" }, { "Typeface name": "Webdings", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "128491", "Unicode hex": "1F5EB" }, { "Typeface name": "Webdings", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "11156", "Unicode hex": "2B94" }, { "Typeface name": "Webdings", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "10004", "Unicode hex": "2714" }, { "Typeface name": "Webdings", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "128690", "Unicode hex": "1F6B2" }, { "Typeface name": "Webdings", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "11036", "Unicode hex": "2B1C" }, { "Typeface name": "Webdings", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "128737", "Unicode hex": "1F6E1" }, { "Typeface name": "Webdings", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "128230", "Unicode hex": "1F4E6" }, { "Typeface name": "Webdings", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "128753", "Unicode hex": "1F6F1" }, { "Typeface name": "Webdings", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "11035", "Unicode hex": "2B1B" }, { "Typeface name": "Webdings", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "128657", "Unicode hex": "1F691" }, { "Typeface name": "Webdings", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "128712", "Unicode hex": "1F6C8" }, { "Typeface name": "Webdings", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "128745", "Unicode hex": "1F6E9" }, { "Typeface name": "Webdings", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "128752", "Unicode hex": "1F6F0" }, { "Typeface name": "Webdings", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "128968", "Unicode hex": "1F7C8" }, { "Typeface name": "Webdings", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "128372", "Unicode hex": "1F574" }, { "Typeface name": "Webdings", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "11044", "Unicode hex": "2B24" }, { "Typeface name": "Webdings", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "128741", "Unicode hex": "1F6E5" }, { "Typeface name": "Webdings", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "128660", "Unicode hex": "1F694" }, { "Typeface name": "Webdings", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "128472", "Unicode hex": "1F5D8" }, { "Typeface name": "Webdings", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "128473", "Unicode hex": "1F5D9" }, { "Typeface name": "Webdings", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "10067", "Unicode hex": "2753" }, { "Typeface name": "Webdings", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "128754", "Unicode hex": "1F6F2" }, { "Typeface name": "Webdings", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "128647", "Unicode hex": "1F687" }, { "Typeface name": "Webdings", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "128653", "Unicode hex": "1F68D" }, { "Typeface name": "Webdings", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "9971", "Unicode hex": "26F3" }, { "Typeface name": "Webdings", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "10680", "Unicode hex": "29B8" }, { "Typeface name": "Webdings", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "8854", "Unicode hex": "2296" }, { "Typeface name": "Webdings", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "128685", "Unicode hex": "1F6AD" }, { "Typeface name": "Webdings", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "128494", "Unicode hex": "1F5EE" }, { "Typeface name": "Webdings", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "9168", "Unicode hex": "23D0" }, { "Typeface name": "Webdings", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "128495", "Unicode hex": "1F5EF" }, { "Typeface name": "Webdings", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "128498", "Unicode hex": "1F5F2" }, { "Typeface name": "Webdings", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "128697", "Unicode hex": "1F6B9" }, { "Typeface name": "Webdings", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "128698", "Unicode hex": "1F6BA" }, { "Typeface name": "Webdings", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "128713", "Unicode hex": "1F6C9" }, { "Typeface name": "Webdings", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "128714", "Unicode hex": "1F6CA" }, { "Typeface name": "Webdings", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "128700", "Unicode hex": "1F6BC" }, { "Typeface name": "Webdings", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "128125", "Unicode hex": "1F47D" }, { "Typeface name": "Webdings", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "127947", "Unicode hex": "1F3CB" }, { "Typeface name": "Webdings", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "9975", "Unicode hex": "26F7" }, { "Typeface name": "Webdings", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "127938", "Unicode hex": "1F3C2" }, { "Typeface name": "Webdings", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "127948", "Unicode hex": "1F3CC" }, { "Typeface name": "Webdings", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "127946", "Unicode hex": "1F3CA" }, { "Typeface name": "Webdings", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "127940", "Unicode hex": "1F3C4" }, { "Typeface name": "Webdings", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "127949", "Unicode hex": "1F3CD" }, { "Typeface name": "Webdings", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "127950", "Unicode hex": "1F3CE" }, { "Typeface name": "Webdings", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "128664", "Unicode hex": "1F698" }, { "Typeface name": "Webdings", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "128480", "Unicode hex": "1F5E0" }, { "Typeface name": "Webdings", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "128738", "Unicode hex": "1F6E2" }, { "Typeface name": "Webdings", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "128176", "Unicode hex": "1F4B0" }, { "Typeface name": "Webdings", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "127991", "Unicode hex": "1F3F7" }, { "Typeface name": "Webdings", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "128179", "Unicode hex": "1F4B3" }, { "Typeface name": "Webdings", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "128106", "Unicode hex": "1F46A" }, { "Typeface name": "Webdings", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "128481", "Unicode hex": "1F5E1" }, { "Typeface name": "Webdings", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "128482", "Unicode hex": "1F5E2" }, { "Typeface name": "Webdings", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "128483", "Unicode hex": "1F5E3" }, { "Typeface name": "Webdings", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "10031", "Unicode hex": "272F" }, { "Typeface name": "Webdings", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "128388", "Unicode hex": "1F584" }, { "Typeface name": "Webdings", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "128389", "Unicode hex": "1F585" }, { "Typeface name": "Webdings", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "128387", "Unicode hex": "1F583" }, { "Typeface name": "Webdings", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "128390", "Unicode hex": "1F586" }, { "Typeface name": "Webdings", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "128441", "Unicode hex": "1F5B9" }, { "Typeface name": "Webdings", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "128442", "Unicode hex": "1F5BA" }, { "Typeface name": "Webdings", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "128443", "Unicode hex": "1F5BB" }, { "Typeface name": "Webdings", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "128373", "Unicode hex": "1F575" }, { "Typeface name": "Webdings", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "128368", "Unicode hex": "1F570" }, { "Typeface name": "Webdings", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "128445", "Unicode hex": "1F5BD" }, { "Typeface name": "Webdings", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "128446", "Unicode hex": "1F5BE" }, { "Typeface name": "Webdings", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "128203", "Unicode hex": "1F4CB" }, { "Typeface name": "Webdings", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "128466", "Unicode hex": "1F5D2" }, { "Typeface name": "Webdings", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "128467", "Unicode hex": "1F5D3" }, { "Typeface name": "Webdings", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "128366", "Unicode hex": "1F56E" }, { "Typeface name": "Webdings", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "128218", "Unicode hex": "1F4DA" }, { "Typeface name": "Webdings", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "128478", "Unicode hex": "1F5DE" }, { "Typeface name": "Webdings", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "128479", "Unicode hex": "1F5DF" }, { "Typeface name": "Webdings", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "128451", "Unicode hex": "1F5C3" }, { "Typeface name": "Webdings", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "128450", "Unicode hex": "1F5C2" }, { "Typeface name": "Webdings", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "128444", "Unicode hex": "1F5BC" }, { "Typeface name": "Webdings", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "127917", "Unicode hex": "1F3AD" }, { "Typeface name": "Webdings", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "127900", "Unicode hex": "1F39C" }, { "Typeface name": "Webdings", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "127896", "Unicode hex": "1F398" }, { "Typeface name": "Webdings", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "127897", "Unicode hex": "1F399" }, { "Typeface name": "Webdings", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "127911", "Unicode hex": "1F3A7" }, { "Typeface name": "Webdings", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "128191", "Unicode hex": "1F4BF" }, { "Typeface name": "Webdings", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "127902", "Unicode hex": "1F39E" }, { "Typeface name": "Webdings", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "128247", "Unicode hex": "1F4F7" }, { "Typeface name": "Webdings", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "127903", "Unicode hex": "1F39F" }, { "Typeface name": "Webdings", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "127916", "Unicode hex": "1F3AC" }, { "Typeface name": "Webdings", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "128253", "Unicode hex": "1F4FD" }, { "Typeface name": "Webdings", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "128249", "Unicode hex": "1F4F9" }, { "Typeface name": "Webdings", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "128254", "Unicode hex": "1F4FE" }, { "Typeface name": "Webdings", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "128251", "Unicode hex": "1F4FB" }, { "Typeface name": "Webdings", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "127898", "Unicode hex": "1F39A" }, { "Typeface name": "Webdings", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "127899", "Unicode hex": "1F39B" }, { "Typeface name": "Webdings", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "128250", "Unicode hex": "1F4FA" }, { "Typeface name": "Webdings", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "128187", "Unicode hex": "1F4BB" }, { "Typeface name": "Webdings", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "128421", "Unicode hex": "1F5A5" }, { "Typeface name": "Webdings", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "128422", "Unicode hex": "1F5A6" }, { "Typeface name": "Webdings", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "128423", "Unicode hex": "1F5A7" }, { "Typeface name": "Webdings", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "128377", "Unicode hex": "1F579" }, { "Typeface name": "Webdings", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "127918", "Unicode hex": "1F3AE" }, { "Typeface name": "Webdings", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "128379", "Unicode hex": "1F57B" }, { "Typeface name": "Webdings", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "128380", "Unicode hex": "1F57C" }, { "Typeface name": "Webdings", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "128223", "Unicode hex": "1F4DF" }, { "Typeface name": "Webdings", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "128385", "Unicode hex": "1F581" }, { "Typeface name": "Webdings", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "128384", "Unicode hex": "1F580" }, { "Typeface name": "Webdings", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "128424", "Unicode hex": "1F5A8" }, { "Typeface name": "Webdings", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "128425", "Unicode hex": "1F5A9" }, { "Typeface name": "Webdings", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "128447", "Unicode hex": "1F5BF" }, { "Typeface name": "Webdings", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "128426", "Unicode hex": "1F5AA" }, { "Typeface name": "Webdings", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "128476", "Unicode hex": "1F5DC" }, { "Typeface name": "Webdings", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "128274", "Unicode hex": "1F512" }, { "Typeface name": "Webdings", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "128275", "Unicode hex": "1F513" }, { "Typeface name": "Webdings", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "128477", "Unicode hex": "1F5DD" }, { "Typeface name": "Webdings", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "128229", "Unicode hex": "1F4E5" }, { "Typeface name": "Webdings", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "128228", "Unicode hex": "1F4E4" }, { "Typeface name": "Webdings", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "128371", "Unicode hex": "1F573" }, { "Typeface name": "Webdings", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "127779", "Unicode hex": "1F323" }, { "Typeface name": "Webdings", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "127780", "Unicode hex": "1F324" }, { "Typeface name": "Webdings", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "127781", "Unicode hex": "1F325" }, { "Typeface name": "Webdings", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "127782", "Unicode hex": "1F326" }, { "Typeface name": "Webdings", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "9729", "Unicode hex": "2601" }, { "Typeface name": "Webdings", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "127784", "Unicode hex": "1F328" }, { "Typeface name": "Webdings", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "127783", "Unicode hex": "1F327" }, { "Typeface name": "Webdings", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "127785", "Unicode hex": "1F329" }, { "Typeface name": "Webdings", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "127786", "Unicode hex": "1F32A" }, { "Typeface name": "Webdings", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "127788", "Unicode hex": "1F32C" }, { "Typeface name": "Webdings", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "127787", "Unicode hex": "1F32B" }, { "Typeface name": "Webdings", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "127772", "Unicode hex": "1F31C" }, { "Typeface name": "Webdings", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "127777", "Unicode hex": "1F321" }, { "Typeface name": "Webdings", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "128715", "Unicode hex": "1F6CB" }, { "Typeface name": "Webdings", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "128719", "Unicode hex": "1F6CF" }, { "Typeface name": "Webdings", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "127869", "Unicode hex": "1F37D" }, { "Typeface name": "Webdings", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "127864", "Unicode hex": "1F378" }, { "Typeface name": "Webdings", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "128718", "Unicode hex": "1F6CE" }, { "Typeface name": "Webdings", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "128717", "Unicode hex": "1F6CD" }, { "Typeface name": "Webdings", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "9413", "Unicode hex": "24C5" }, { "Typeface name": "Webdings", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "9855", "Unicode hex": "267F" }, { "Typeface name": "Webdings", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "128710", "Unicode hex": "1F6C6" }, { "Typeface name": "Webdings", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "128392", "Unicode hex": "1F588" }, { "Typeface name": "Webdings", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "127891", "Unicode hex": "1F393" }, { "Typeface name": "Webdings", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "128484", "Unicode hex": "1F5E4" }, { "Typeface name": "Webdings", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "128485", "Unicode hex": "1F5E5" }, { "Typeface name": "Webdings", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "128486", "Unicode hex": "1F5E6" }, { "Typeface name": "Webdings", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "128487", "Unicode hex": "1F5E7" }, { "Typeface name": "Webdings", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "128746", "Unicode hex": "1F6EA" }, { "Typeface name": "Webdings", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "128063", "Unicode hex": "1F43F" }, { "Typeface name": "Webdings", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "128038", "Unicode hex": "1F426" }, { "Typeface name": "Webdings", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "128031", "Unicode hex": "1F41F" }, { "Typeface name": "Webdings", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "128021", "Unicode hex": "1F415" }, { "Typeface name": "Webdings", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "128008", "Unicode hex": "1F408" }, { "Typeface name": "Webdings", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "128620", "Unicode hex": "1F66C" }, { "Typeface name": "Webdings", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "128622", "Unicode hex": "1F66E" }, { "Typeface name": "Webdings", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "128621", "Unicode hex": "1F66D" }, { "Typeface name": "Webdings", "Dingbat dec": "250", "Dingbat hex": "FA", "Unicode dec": "128623", "Unicode hex": "1F66F" }, { "Typeface name": "Webdings", "Dingbat dec": "251", "Dingbat hex": "FB", "Unicode dec": "128506", "Unicode hex": "1F5FA" }, { "Typeface name": "Webdings", "Dingbat dec": "252", "Dingbat hex": "FC", "Unicode dec": "127757", "Unicode hex": "1F30D" }, { "Typeface name": "Webdings", "Dingbat dec": "253", "Dingbat hex": "FD", "Unicode dec": "127759", "Unicode hex": "1F30F" }, { "Typeface name": "Webdings", "Dingbat dec": "254", "Dingbat hex": "FE", "Unicode dec": "127758", "Unicode hex": "1F30E" }, { "Typeface name": "Webdings", "Dingbat dec": "255", "Dingbat hex": "FF", "Unicode dec": "128330", "Unicode hex": "1F54A" }, { "Typeface name": "Wingdings", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, { "Typeface name": "Wingdings", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "128393", "Unicode hex": "1F589" }, { "Typeface name": "Wingdings", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "9986", "Unicode hex": "2702" }, { "Typeface name": "Wingdings", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "9985", "Unicode hex": "2701" }, { "Typeface name": "Wingdings", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "128083", "Unicode hex": "1F453" }, { "Typeface name": "Wingdings", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "128365", "Unicode hex": "1F56D" }, { "Typeface name": "Wingdings", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "128366", "Unicode hex": "1F56E" }, { "Typeface name": "Wingdings", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "128367", "Unicode hex": "1F56F" }, { "Typeface name": "Wingdings", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "128383", "Unicode hex": "1F57F" }, { "Typeface name": "Wingdings", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "9990", "Unicode hex": "2706" }, { "Typeface name": "Wingdings", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "128386", "Unicode hex": "1F582" }, { "Typeface name": "Wingdings", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "128387", "Unicode hex": "1F583" }, { "Typeface name": "Wingdings", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "128234", "Unicode hex": "1F4EA" }, { "Typeface name": "Wingdings", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "128235", "Unicode hex": "1F4EB" }, { "Typeface name": "Wingdings", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "128236", "Unicode hex": "1F4EC" }, { "Typeface name": "Wingdings", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "128237", "Unicode hex": "1F4ED" }, { "Typeface name": "Wingdings", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "128448", "Unicode hex": "1F5C0" }, { "Typeface name": "Wingdings", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "128449", "Unicode hex": "1F5C1" }, { "Typeface name": "Wingdings", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "128462", "Unicode hex": "1F5CE" }, { "Typeface name": "Wingdings", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "128463", "Unicode hex": "1F5CF" }, { "Typeface name": "Wingdings", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "128464", "Unicode hex": "1F5D0" }, { "Typeface name": "Wingdings", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "128452", "Unicode hex": "1F5C4" }, { "Typeface name": "Wingdings", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "8987", "Unicode hex": "231B" }, { "Typeface name": "Wingdings", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "128430", "Unicode hex": "1F5AE" }, { "Typeface name": "Wingdings", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "128432", "Unicode hex": "1F5B0" }, { "Typeface name": "Wingdings", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "128434", "Unicode hex": "1F5B2" }, { "Typeface name": "Wingdings", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "128435", "Unicode hex": "1F5B3" }, { "Typeface name": "Wingdings", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "128436", "Unicode hex": "1F5B4" }, { "Typeface name": "Wingdings", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "128427", "Unicode hex": "1F5AB" }, { "Typeface name": "Wingdings", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "128428", "Unicode hex": "1F5AC" }, { "Typeface name": "Wingdings", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "9991", "Unicode hex": "2707" }, { "Typeface name": "Wingdings", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "9997", "Unicode hex": "270D" }, { "Typeface name": "Wingdings", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "128398", "Unicode hex": "1F58E" }, { "Typeface name": "Wingdings", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "9996", "Unicode hex": "270C" }, { "Typeface name": "Wingdings", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "128399", "Unicode hex": "1F58F" }, { "Typeface name": "Wingdings", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "128077", "Unicode hex": "1F44D" }, { "Typeface name": "Wingdings", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "128078", "Unicode hex": "1F44E" }, { "Typeface name": "Wingdings", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "9756", "Unicode hex": "261C" }, { "Typeface name": "Wingdings", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "9758", "Unicode hex": "261E" }, { "Typeface name": "Wingdings", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "9757", "Unicode hex": "261D" }, { "Typeface name": "Wingdings", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "9759", "Unicode hex": "261F" }, { "Typeface name": "Wingdings", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "128400", "Unicode hex": "1F590" }, { "Typeface name": "Wingdings", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "9786", "Unicode hex": "263A" }, { "Typeface name": "Wingdings", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "128528", "Unicode hex": "1F610" }, { "Typeface name": "Wingdings", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "9785", "Unicode hex": "2639" }, { "Typeface name": "Wingdings", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "128163", "Unicode hex": "1F4A3" }, { "Typeface name": "Wingdings", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "128369", "Unicode hex": "1F571" }, { "Typeface name": "Wingdings", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "127987", "Unicode hex": "1F3F3" }, { "Typeface name": "Wingdings", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "127985", "Unicode hex": "1F3F1" }, { "Typeface name": "Wingdings", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "9992", "Unicode hex": "2708" }, { "Typeface name": "Wingdings", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "9788", "Unicode hex": "263C" }, { "Typeface name": "Wingdings", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "127778", "Unicode hex": "1F322" }, { "Typeface name": "Wingdings", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "10052", "Unicode hex": "2744" }, { "Typeface name": "Wingdings", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "128326", "Unicode hex": "1F546" }, { "Typeface name": "Wingdings", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "10014", "Unicode hex": "271E" }, { "Typeface name": "Wingdings", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "128328", "Unicode hex": "1F548" }, { "Typeface name": "Wingdings", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "10016", "Unicode hex": "2720" }, { "Typeface name": "Wingdings", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "10017", "Unicode hex": "2721" }, { "Typeface name": "Wingdings", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "9770", "Unicode hex": "262A" }, { "Typeface name": "Wingdings", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "9775", "Unicode hex": "262F" }, { "Typeface name": "Wingdings", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "128329", "Unicode hex": "1F549" }, { "Typeface name": "Wingdings", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "9784", "Unicode hex": "2638" }, { "Typeface name": "Wingdings", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "9800", "Unicode hex": "2648" }, { "Typeface name": "Wingdings", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "9801", "Unicode hex": "2649" }, { "Typeface name": "Wingdings", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "9802", "Unicode hex": "264A" }, { "Typeface name": "Wingdings", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "9803", "Unicode hex": "264B" }, { "Typeface name": "Wingdings", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "9804", "Unicode hex": "264C" }, { "Typeface name": "Wingdings", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "9805", "Unicode hex": "264D" }, { "Typeface name": "Wingdings", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "9806", "Unicode hex": "264E" }, { "Typeface name": "Wingdings", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "9807", "Unicode hex": "264F" }, { "Typeface name": "Wingdings", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "9808", "Unicode hex": "2650" }, { "Typeface name": "Wingdings", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "9809", "Unicode hex": "2651" }, { "Typeface name": "Wingdings", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "9810", "Unicode hex": "2652" }, { "Typeface name": "Wingdings", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "9811", "Unicode hex": "2653" }, { "Typeface name": "Wingdings", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "128624", "Unicode hex": "1F670" }, { "Typeface name": "Wingdings", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "128629", "Unicode hex": "1F675" }, { "Typeface name": "Wingdings", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "9899", "Unicode hex": "26AB" }, { "Typeface name": "Wingdings", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "128318", "Unicode hex": "1F53E" }, { "Typeface name": "Wingdings", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "9724", "Unicode hex": "25FC" }, { "Typeface name": "Wingdings", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "128911", "Unicode hex": "1F78F" }, { "Typeface name": "Wingdings", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "128912", "Unicode hex": "1F790" }, { "Typeface name": "Wingdings", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "10065", "Unicode hex": "2751" }, { "Typeface name": "Wingdings", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "10066", "Unicode hex": "2752" }, { "Typeface name": "Wingdings", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "128927", "Unicode hex": "1F79F" }, { "Typeface name": "Wingdings", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "10731", "Unicode hex": "29EB" }, { "Typeface name": "Wingdings", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "9670", "Unicode hex": "25C6" }, { "Typeface name": "Wingdings", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "10070", "Unicode hex": "2756" }, { "Typeface name": "Wingdings", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "11049", "Unicode hex": "2B29" }, { "Typeface name": "Wingdings", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "8999", "Unicode hex": "2327" }, { "Typeface name": "Wingdings", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "11193", "Unicode hex": "2BB9" }, { "Typeface name": "Wingdings", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "8984", "Unicode hex": "2318" }, { "Typeface name": "Wingdings", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "127989", "Unicode hex": "1F3F5" }, { "Typeface name": "Wingdings", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "127990", "Unicode hex": "1F3F6" }, { "Typeface name": "Wingdings", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "128630", "Unicode hex": "1F676" }, { "Typeface name": "Wingdings", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "128631", "Unicode hex": "1F677" }, { "Typeface name": "Wingdings", "Dingbat dec": "127", "Dingbat hex": "7F", "Unicode dec": "9647", "Unicode hex": "25AF" }, { "Typeface name": "Wingdings", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "127243", "Unicode hex": "1F10B" }, { "Typeface name": "Wingdings", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "10112", "Unicode hex": "2780" }, { "Typeface name": "Wingdings", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "10113", "Unicode hex": "2781" }, { "Typeface name": "Wingdings", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "10114", "Unicode hex": "2782" }, { "Typeface name": "Wingdings", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "10115", "Unicode hex": "2783" }, { "Typeface name": "Wingdings", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "10116", "Unicode hex": "2784" }, { "Typeface name": "Wingdings", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "10117", "Unicode hex": "2785" }, { "Typeface name": "Wingdings", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "10118", "Unicode hex": "2786" }, { "Typeface name": "Wingdings", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "10119", "Unicode hex": "2787" }, { "Typeface name": "Wingdings", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "10120", "Unicode hex": "2788" }, { "Typeface name": "Wingdings", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "10121", "Unicode hex": "2789" }, { "Typeface name": "Wingdings", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "127244", "Unicode hex": "1F10C" }, { "Typeface name": "Wingdings", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "10122", "Unicode hex": "278A" }, { "Typeface name": "Wingdings", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "10123", "Unicode hex": "278B" }, { "Typeface name": "Wingdings", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "10124", "Unicode hex": "278C" }, {
"Typeface name": "Wingdings",
"Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "10125", "Unicode hex": "278D"
}, { "Typeface name": "Wingdings", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "10126", "Unicode hex": "278E" }, { "Typeface name": "Wingdings", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "10127", "Unicode hex": "278F" }, { "Typeface name": "Wingdings", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "10128", "Unicode hex": "2790" }, { "Typeface name": "Wingdings", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "10129", "Unicode hex": "2791" }, { "Typeface name": "Wingdings", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "10130", "Unicode hex": "2792" }, { "Typeface name": "Wingdings", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "10131", "Unicode hex": "2793" }, { "Typeface name": "Wingdings", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "128610", "Unicode hex": "1F662" }, { "Typeface name": "Wingdings", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "128608", "Unicode hex": "1F660" }, { "Typeface name": "Wingdings", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "128609", "Unicode hex": "1F661" }, { "Typeface name": "Wingdings", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "128611", "Unicode hex": "1F663" }, { "Typeface name": "Wingdings", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "128606", "Unicode hex": "1F65E" }, { "Typeface name": "Wingdings", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "128604", "Unicode hex": "1F65C" }, { "Typeface name": "Wingdings", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "128605", "Unicode hex": "1F65D" }, { "Typeface name": "Wingdings", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "128607", "Unicode hex": "1F65F" }, { "Typeface name": "Wingdings", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "8729", "Unicode hex": "2219" }, { "Typeface name": "Wingdings", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "8226", "Unicode hex": "2022" }, { "Typeface name": "Wingdings", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "11037", "Unicode hex": "2B1D" }, { "Typeface name": "Wingdings", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "11096", "Unicode hex": "2B58" }, { "Typeface name": "Wingdings", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "128902", "Unicode hex": "1F786" }, { "Typeface name": "Wingdings", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "128904", "Unicode hex": "1F788" }, { "Typeface name": "Wingdings", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "128906", "Unicode hex": "1F78A" }, { "Typeface name": "Wingdings", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "128907", "Unicode hex": "1F78B" }, { "Typeface name": "Wingdings", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "128319", "Unicode hex": "1F53F" }, { "Typeface name": "Wingdings", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "9642", "Unicode hex": "25AA" }, { "Typeface name": "Wingdings", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "128910", "Unicode hex": "1F78E" }, { "Typeface name": "Wingdings", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "128961", "Unicode hex": "1F7C1" }, { "Typeface name": "Wingdings", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "128965", "Unicode hex": "1F7C5" }, { "Typeface name": "Wingdings", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "9733", "Unicode hex": "2605" }, { "Typeface name": "Wingdings", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "128971", "Unicode hex": "1F7CB" }, { "Typeface name": "Wingdings", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "128975", "Unicode hex": "1F7CF" }, { "Typeface name": "Wingdings", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "128979", "Unicode hex": "1F7D3" }, { "Typeface name": "Wingdings", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "128977", "Unicode hex": "1F7D1" }, { "Typeface name": "Wingdings", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "11216", "Unicode hex": "2BD0" }, { "Typeface name": "Wingdings", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "8982", "Unicode hex": "2316" }, { "Typeface name": "Wingdings", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "11214", "Unicode hex": "2BCE" }, { "Typeface name": "Wingdings", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "11215", "Unicode hex": "2BCF" }, { "Typeface name": "Wingdings", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "11217", "Unicode hex": "2BD1" }, { "Typeface name": "Wingdings", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "10026", "Unicode hex": "272A" }, { "Typeface name": "Wingdings", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "10032", "Unicode hex": "2730" }, { "Typeface name": "Wingdings", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "128336", "Unicode hex": "1F550" }, { "Typeface name": "Wingdings", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "128337", "Unicode hex": "1F551" }, { "Typeface name": "Wingdings", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "128338", "Unicode hex": "1F552" }, { "Typeface name": "Wingdings", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "128339", "Unicode hex": "1F553" }, { "Typeface name": "Wingdings", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "128340", "Unicode hex": "1F554" }, { "Typeface name": "Wingdings", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "128341", "Unicode hex": "1F555" }, { "Typeface name": "Wingdings", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "128342", "Unicode hex": "1F556" }, { "Typeface name": "Wingdings", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "128343", "Unicode hex": "1F557" }, { "Typeface name": "Wingdings", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "128344", "Unicode hex": "1F558" }, { "Typeface name": "Wingdings", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "128345", "Unicode hex": "1F559" }, { "Typeface name": "Wingdings", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "128346", "Unicode hex": "1F55A" }, { "Typeface name": "Wingdings", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "128347", "Unicode hex": "1F55B" }, { "Typeface name": "Wingdings", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "11184", "Unicode hex": "2BB0" }, { "Typeface name": "Wingdings", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "11185", "Unicode hex": "2BB1" }, { "Typeface name": "Wingdings", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "11186", "Unicode hex": "2BB2" }, { "Typeface name": "Wingdings", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "11187", "Unicode hex": "2BB3" }, { "Typeface name": "Wingdings", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "11188", "Unicode hex": "2BB4" }, { "Typeface name": "Wingdings", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "11189", "Unicode hex": "2BB5" }, { "Typeface name": "Wingdings", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "11190", "Unicode hex": "2BB6" }, { "Typeface name": "Wingdings", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "11191", "Unicode hex": "2BB7" }, { "Typeface name": "Wingdings", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "128618", "Unicode hex": "1F66A" }, { "Typeface name": "Wingdings", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "128619", "Unicode hex": "1F66B" }, { "Typeface name": "Wingdings", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "128597", "Unicode hex": "1F655" }, { "Typeface name": "Wingdings", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "128596", "Unicode hex": "1F654" }, { "Typeface name": "Wingdings", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "128599", "Unicode hex": "1F657" }, { "Typeface name": "Wingdings", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "128598", "Unicode hex": "1F656" }, { "Typeface name": "Wingdings", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "128592", "Unicode hex": "1F650" }, { "Typeface name": "Wingdings", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "128593", "Unicode hex": "1F651" }, { "Typeface name": "Wingdings", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "128594", "Unicode hex": "1F652" }, { "Typeface name": "Wingdings", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "128595", "Unicode hex": "1F653" }, { "Typeface name": "Wingdings", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "9003", "Unicode hex": "232B" }, { "Typeface name": "Wingdings", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "8998", "Unicode hex": "2326" }, { "Typeface name": "Wingdings", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "11160", "Unicode hex": "2B98" }, { "Typeface name": "Wingdings", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "11162", "Unicode hex": "2B9A" }, { "Typeface name": "Wingdings", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "11161", "Unicode hex": "2B99" }, { "Typeface name": "Wingdings", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "11163", "Unicode hex": "2B9B" }, { "Typeface name": "Wingdings", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "11144", "Unicode hex": "2B88" }, { "Typeface name": "Wingdings", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "11146", "Unicode hex": "2B8A" }, { "Typeface name": "Wingdings", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "11145", "Unicode hex": "2B89" }, { "Typeface name": "Wingdings", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "11147", "Unicode hex": "2B8B" }, { "Typeface name": "Wingdings", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "129128", "Unicode hex": "1F868" }, { "Typeface name": "Wingdings", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "129130", "Unicode hex": "1F86A" }, { "Typeface name": "Wingdings", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "129129", "Unicode hex": "1F869" }, { "Typeface name": "Wingdings", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "129131", "Unicode hex": "1F86B" }, { "Typeface name": "Wingdings", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "129132", "Unicode hex": "1F86C" }, { "Typeface name": "Wingdings", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "129133", "Unicode hex": "1F86D" }, { "Typeface name": "Wingdings", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "129135", "Unicode hex": "1F86F" }, { "Typeface name": "Wingdings", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "129134", "Unicode hex": "1F86E" }, { "Typeface name": "Wingdings", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "129144", "Unicode hex": "1F878" }, { "Typeface name": "Wingdings", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "129146", "Unicode hex": "1F87A" }, { "Typeface name": "Wingdings", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "129145", "Unicode hex": "1F879" }, { "Typeface name": "Wingdings", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "129147", "Unicode hex": "1F87B" }, { "Typeface name": "Wingdings", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "129148", "Unicode hex": "1F87C" }, { "Typeface name": "Wingdings", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "129149", "Unicode hex": "1F87D" }, { "Typeface name": "Wingdings", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "129151", "Unicode hex": "1F87F" }, { "Typeface name": "Wingdings", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "129150", "Unicode hex": "1F87E" }, { "Typeface name": "Wingdings", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "8678", "Unicode hex": "21E6" }, { "Typeface name": "Wingdings", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "8680", "Unicode hex": "21E8" }, { "Typeface name": "Wingdings", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "8679", "Unicode hex": "21E7" }, { "Typeface name": "Wingdings", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "8681", "Unicode hex": "21E9" }, { "Typeface name": "Wingdings", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "11012", "Unicode hex": "2B04" }, { "Typeface name": "Wingdings", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "8691", "Unicode hex": "21F3" }, { "Typeface name": "Wingdings", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "11009", "Unicode hex": "2B01" }, { "Typeface name": "Wingdings", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "11008", "Unicode hex": "2B00" }, { "Typeface name": "Wingdings", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "11011", "Unicode hex": "2B03" }, { "Typeface name": "Wingdings", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "11010", "Unicode hex": "2B02" }, { "Typeface name": "Wingdings", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "129196", "Unicode hex": "1F8AC" }, { "Typeface name": "Wingdings", "Dingbat dec": "250", "Dingbat hex": "FA", "Unicode dec": "129197", "Unicode hex": "1F8AD" }, { "Typeface name": "Wingdings", "Dingbat dec": "251", "Dingbat hex": "FB", "Unicode dec": "128502", "Unicode hex": "1F5F6" }, { "Typeface name": "Wingdings", "Dingbat dec": "252", "Dingbat hex": "FC", "Unicode dec": "10003", "Unicode hex": "2713" }, { "Typeface name": "Wingdings", "Dingbat dec": "253", "Dingbat hex": "FD", "Unicode dec": "128503", "Unicode hex": "1F5F7" }, { "Typeface name": "Wingdings", "Dingbat dec": "254", "Dingbat hex": "FE", "Unicode dec": "128505", "Unicode hex": "1F5F9" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "128394", "Unicode hex": "1F58A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "128395", "Unicode hex": "1F58B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "128396", "Unicode hex": "1F58C" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "128397", "Unicode hex": "1F58D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "9988", "Unicode hex": "2704" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "9984", "Unicode hex": "2700" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "128382", "Unicode hex": "1F57E" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "128381", "Unicode hex": "1F57D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "128453", "Unicode hex": "1F5C5" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "128454", "Unicode hex": "1F5C6" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "128455", "Unicode hex": "1F5C7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "128456", "Unicode hex": "1F5C8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "128457", "Unicode hex": "1F5C9" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "128458", "Unicode hex": "1F5CA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "128459", "Unicode hex": "1F5CB" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "128460", "Unicode hex": "1F5CC" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "128461", "Unicode hex": "1F5CD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "128203", "Unicode hex": "1F4CB" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "128465", "Unicode hex": "1F5D1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "128468", "Unicode hex": "1F5D4" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "128437", "Unicode hex": "1F5B5" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "128438", "Unicode hex": "1F5B6" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "128439", "Unicode hex": "1F5B7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "128440", "Unicode hex": "1F5B8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "128429", "Unicode hex": "1F5AD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "128431", "Unicode hex": "1F5AF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "128433", "Unicode hex": "1F5B1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "128402", "Unicode hex": "1F592" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "128403", "Unicode hex": "1F593" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "128408", "Unicode hex": "1F598" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "128409", "Unicode hex": "1F599" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "128410", "Unicode hex": "1F59A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "128411", "Unicode hex": "1F59B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "128072", "Unicode hex": "1F448" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "128073", "Unicode hex": "1F449" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "128412", "Unicode hex": "1F59C" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "128413", "Unicode hex": "1F59D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "128414", "Unicode hex": "1F59E" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "128415", "Unicode hex": "1F59F" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "128416", "Unicode hex": "1F5A0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "128417", "Unicode hex": "1F5A1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "128070", "Unicode hex": "1F446" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "128071", "Unicode hex": "1F447" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "128418", "Unicode hex": "1F5A2" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "128419", "Unicode hex": "1F5A3" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "128401", "Unicode hex": "1F591" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "128500", "Unicode hex": "1F5F4" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "128504", "Unicode hex": "1F5F8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "128501", "Unicode hex": "1F5F5" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "9745", "Unicode hex": "2611" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "11197", "Unicode hex": "2BBD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "9746", "Unicode hex": "2612" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "11198", "Unicode hex": "2BBE" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "11199", "Unicode hex": "2BBF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "128711", "Unicode hex": "1F6C7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "10680", "Unicode hex": "29B8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "128625", "Unicode hex": "1F671" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "128628", "Unicode hex": "1F674" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "128626", "Unicode hex": "1F672" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "128627", "Unicode hex": "1F673" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "8253", "Unicode hex": "203D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "128633", "Unicode hex": "1F679" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "128634", "Unicode hex": "1F67A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "128635", "Unicode hex": "1F67B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "128614", "Unicode hex": "1F666" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "128612", "Unicode hex": "1F664" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "128613", "Unicode hex": "1F665" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "128615", "Unicode hex": "1F667" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "128602", "Unicode hex": "1F65A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "128600", "Unicode hex": "1F658" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "128601", "Unicode hex": "1F659" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "128603", "Unicode hex": "1F65B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "9450", "Unicode hex": "24EA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "9312", "Unicode hex": "2460" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "9313", "Unicode hex": "2461" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "9314", "Unicode hex": "2462" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "9315", "Unicode hex": "2463" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "9316", "Unicode hex": "2464" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "9317", "Unicode hex": "2465" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "9318", "Unicode hex": "2466" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "9319", "Unicode hex": "2467" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "9320", "Unicode hex": "2468" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "9321", "Unicode hex": "2469" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "9471", "Unicode hex": "24FF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "10102", "Unicode hex": "2776" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "10103", "Unicode hex": "2777" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "10104", "Unicode hex": "2778" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "10105", "Unicode hex": "2779" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "10106", "Unicode hex": "277A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "10107", "Unicode hex": "277B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "10108", "Unicode hex": "277C" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "10109", "Unicode hex": "277D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "10110", "Unicode hex": "277E" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "10111", "Unicode hex": "277F" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "9737", "Unicode hex": "2609" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "127765", "Unicode hex": "1F315" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "9789", "Unicode hex": "263D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "9790", "Unicode hex": "263E" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "11839", "Unicode hex": "2E3F" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "10013", "Unicode hex": "271D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "128327", "Unicode hex": "1F547" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "128348", "Unicode hex": "1F55C" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "128349", "Unicode hex": "1F55D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "128350", "Unicode hex": "1F55E" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "128351", "Unicode hex": "1F55F" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "128352", "Unicode hex": "1F560" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "128353", "Unicode hex": "1F561" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "128354", "Unicode hex": "1F562" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "128355", "Unicode hex": "1F563" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "128356", "Unicode hex": "1F564" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "128357", "Unicode hex": "1F565" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "128358", "Unicode hex": "1F566" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "128359", "Unicode hex": "1F567" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "128616", "Unicode hex": "1F668" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "128617", "Unicode hex": "1F669" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "8901", "Unicode hex": "22C5" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "128900", "Unicode hex": "1F784" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "10625", "Unicode hex": "2981" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "9679", "Unicode hex": "25CF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "9675", "Unicode hex": "25CB" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "128901", "Unicode hex": "1F785" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "128903", "Unicode hex": "1F787" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "128905", "Unicode hex": "1F789" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "8857", "Unicode hex": "2299" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "10687", "Unicode hex": "29BF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "128908", "Unicode hex": "1F78C" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "128909", "Unicode hex": "1F78D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "9726", "Unicode hex": "25FE" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "9632", "Unicode hex": "25A0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "9633", "Unicode hex": "25A1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "128913", "Unicode hex": "1F791" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "128914", "Unicode hex": "1F792" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "128915", "Unicode hex": "1F793" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "128916", "Unicode hex": "1F794" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "9635", "Unicode hex": "25A3" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "128917", "Unicode hex": "1F795" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "128918", "Unicode hex": "1F796" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "128919", "Unicode hex": "1F797" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "128920", "Unicode hex": "1F798" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "11049", "Unicode hex": "2B29" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "11045", "Unicode hex": "2B25" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "9671", "Unicode hex": "25C7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "128922", "Unicode hex": "1F79A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "9672", "Unicode hex": "25C8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "128923", "Unicode hex": "1F79B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "128924", "Unicode hex": "1F79C" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "128925", "Unicode hex": "1F79D" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "128926", "Unicode hex": "1F79E" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "11050", "Unicode hex": "2B2A" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "11047", "Unicode hex": "2B27" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "9674", "Unicode hex": "25CA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "128928", "Unicode hex": "1F7A0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "9686", "Unicode hex": "25D6" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "9687", "Unicode hex": "25D7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "11210", "Unicode hex": "2BCA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "11211", "Unicode hex": "2BCB" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "11200", "Unicode hex": "2BC0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "11201", "Unicode hex": "2BC1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "11039", "Unicode hex": "2B1F" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "11202", "Unicode hex": "2BC2" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "11043", "Unicode hex": "2B23" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "11042", "Unicode hex": "2B22" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "11203", "Unicode hex": "2BC3" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "11204", "Unicode hex": "2BC4" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "128929", "Unicode hex": "1F7A1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "128930", "Unicode hex": "1F7A2" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "128931", "Unicode hex": "1F7A3" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "128932", "Unicode hex": "1F7A4" }, {
"Typeface name": "Wingdings 2",
"Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "128933", "Unicode hex": "1F7A5"
}, { "Typeface name": "Wingdings 2", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "128934", "Unicode hex": "1F7A6" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "128935", "Unicode hex": "1F7A7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "128936", "Unicode hex": "1F7A8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "128937", "Unicode hex": "1F7A9" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "128938", "Unicode hex": "1F7AA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "128939", "Unicode hex": "1F7AB" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "128940", "Unicode hex": "1F7AC" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "128941", "Unicode hex": "1F7AD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "128942", "Unicode hex": "1F7AE" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "128943", "Unicode hex": "1F7AF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "128944", "Unicode hex": "1F7B0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "128945", "Unicode hex": "1F7B1" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "128946", "Unicode hex": "1F7B2" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "128947", "Unicode hex": "1F7B3" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "128948", "Unicode hex": "1F7B4" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "128949", "Unicode hex": "1F7B5" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "128950", "Unicode hex": "1F7B6" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "128951", "Unicode hex": "1F7B7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "128952", "Unicode hex": "1F7B8" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "128953", "Unicode hex": "1F7B9" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "128954", "Unicode hex": "1F7BA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "128955", "Unicode hex": "1F7BB" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "128956", "Unicode hex": "1F7BC" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "128957", "Unicode hex": "1F7BD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "128958", "Unicode hex": "1F7BE" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "128959", "Unicode hex": "1F7BF" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "128960", "Unicode hex": "1F7C0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "128962", "Unicode hex": "1F7C2" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "128964", "Unicode hex": "1F7C4" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "128966", "Unicode hex": "1F7C6" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "128969", "Unicode hex": "1F7C9" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "128970", "Unicode hex": "1F7CA" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "10038", "Unicode hex": "2736" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "128972", "Unicode hex": "1F7CC" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "128974", "Unicode hex": "1F7CE" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "128976", "Unicode hex": "1F7D0" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "128978", "Unicode hex": "1F7D2" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "10041", "Unicode hex": "2739" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "241", "Dingbat hex": "F1", "Unicode dec": "128963", "Unicode hex": "1F7C3" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "242", "Dingbat hex": "F2", "Unicode dec": "128967", "Unicode hex": "1F7C7" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "243", "Dingbat hex": "F3", "Unicode dec": "10031", "Unicode hex": "272F" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "244", "Dingbat hex": "F4", "Unicode dec": "128973", "Unicode hex": "1F7CD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "245", "Dingbat hex": "F5", "Unicode dec": "128980", "Unicode hex": "1F7D4" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "246", "Dingbat hex": "F6", "Unicode dec": "11212", "Unicode hex": "2BCC" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "247", "Dingbat hex": "F7", "Unicode dec": "11213", "Unicode hex": "2BCD" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "248", "Dingbat hex": "F8", "Unicode dec": "8251", "Unicode hex": "203B" }, { "Typeface name": "Wingdings 2", "Dingbat dec": "249", "Dingbat hex": "F9", "Unicode dec": "8258", "Unicode hex": "2042" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "32", "Dingbat hex": "20", "Unicode dec": "32", "Unicode hex": "20" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "33", "Dingbat hex": "21", "Unicode dec": "11104", "Unicode hex": "2B60" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "34", "Dingbat hex": "22", "Unicode dec": "11106", "Unicode hex": "2B62" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "35", "Dingbat hex": "23", "Unicode dec": "11105", "Unicode hex": "2B61" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "36", "Dingbat hex": "24", "Unicode dec": "11107", "Unicode hex": "2B63" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "37", "Dingbat hex": "25", "Unicode dec": "11110", "Unicode hex": "2B66" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "38", "Dingbat hex": "26", "Unicode dec": "11111", "Unicode hex": "2B67" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "39", "Dingbat hex": "27", "Unicode dec": "11113", "Unicode hex": "2B69" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "40", "Dingbat hex": "28", "Unicode dec": "11112", "Unicode hex": "2B68" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "41", "Dingbat hex": "29", "Unicode dec": "11120", "Unicode hex": "2B70" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "42", "Dingbat hex": "2A", "Unicode dec": "11122", "Unicode hex": "2B72" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "43", "Dingbat hex": "2B", "Unicode dec": "11121", "Unicode hex": "2B71" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "44", "Dingbat hex": "2C", "Unicode dec": "11123", "Unicode hex": "2B73" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "45", "Dingbat hex": "2D", "Unicode dec": "11126", "Unicode hex": "2B76" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "46", "Dingbat hex": "2E", "Unicode dec": "11128", "Unicode hex": "2B78" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "47", "Dingbat hex": "2F", "Unicode dec": "11131", "Unicode hex": "2B7B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "48", "Dingbat hex": "30", "Unicode dec": "11133", "Unicode hex": "2B7D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "49", "Dingbat hex": "31", "Unicode dec": "11108", "Unicode hex": "2B64" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "50", "Dingbat hex": "32", "Unicode dec": "11109", "Unicode hex": "2B65" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "51", "Dingbat hex": "33", "Unicode dec": "11114", "Unicode hex": "2B6A" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "52", "Dingbat hex": "34", "Unicode dec": "11116", "Unicode hex": "2B6C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "53", "Dingbat hex": "35", "Unicode dec": "11115", "Unicode hex": "2B6B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "54", "Dingbat hex": "36", "Unicode dec": "11117", "Unicode hex": "2B6D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "55", "Dingbat hex": "37", "Unicode dec": "11085", "Unicode hex": "2B4D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "56", "Dingbat hex": "38", "Unicode dec": "11168", "Unicode hex": "2BA0" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "57", "Dingbat hex": "39", "Unicode dec": "11169", "Unicode hex": "2BA1" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "58", "Dingbat hex": "3A", "Unicode dec": "11170", "Unicode hex": "2BA2" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "59", "Dingbat hex": "3B", "Unicode dec": "11171", "Unicode hex": "2BA3" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "60", "Dingbat hex": "3C", "Unicode dec": "11172", "Unicode hex": "2BA4" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "61", "Dingbat hex": "3D", "Unicode dec": "11173", "Unicode hex": "2BA5" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "62", "Dingbat hex": "3E", "Unicode dec": "11174", "Unicode hex": "2BA6" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "63", "Dingbat hex": "3F", "Unicode dec": "11175", "Unicode hex": "2BA7" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "64", "Dingbat hex": "40", "Unicode dec": "11152", "Unicode hex": "2B90" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "65", "Dingbat hex": "41", "Unicode dec": "11153", "Unicode hex": "2B91" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "66", "Dingbat hex": "42", "Unicode dec": "11154", "Unicode hex": "2B92" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "67", "Dingbat hex": "43", "Unicode dec": "11155", "Unicode hex": "2B93" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "68", "Dingbat hex": "44", "Unicode dec": "11136", "Unicode hex": "2B80" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "69", "Dingbat hex": "45", "Unicode dec": "11139", "Unicode hex": "2B83" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "70", "Dingbat hex": "46", "Unicode dec": "11134", "Unicode hex": "2B7E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "71", "Dingbat hex": "47", "Unicode dec": "11135", "Unicode hex": "2B7F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "72", "Dingbat hex": "48", "Unicode dec": "11140", "Unicode hex": "2B84" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "73", "Dingbat hex": "49", "Unicode dec": "11142", "Unicode hex": "2B86" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "74", "Dingbat hex": "4A", "Unicode dec": "11141", "Unicode hex": "2B85" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "75", "Dingbat hex": "4B", "Unicode dec": "11143", "Unicode hex": "2B87" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "76", "Dingbat hex": "4C", "Unicode dec": "11151", "Unicode hex": "2B8F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "77", "Dingbat hex": "4D", "Unicode dec": "11149", "Unicode hex": "2B8D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "78", "Dingbat hex": "4E", "Unicode dec": "11150", "Unicode hex": "2B8E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "79", "Dingbat hex": "4F", "Unicode dec": "11148", "Unicode hex": "2B8C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "80", "Dingbat hex": "50", "Unicode dec": "11118", "Unicode hex": "2B6E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "81", "Dingbat hex": "51", "Unicode dec": "11119", "Unicode hex": "2B6F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "82", "Dingbat hex": "52", "Unicode dec": "9099", "Unicode hex": "238B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "83", "Dingbat hex": "53", "Unicode dec": "8996", "Unicode hex": "2324" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "84", "Dingbat hex": "54", "Unicode dec": "8963", "Unicode hex": "2303" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "85", "Dingbat hex": "55", "Unicode dec": "8997", "Unicode hex": "2325" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "86", "Dingbat hex": "56", "Unicode dec": "9251", "Unicode hex": "2423" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "87", "Dingbat hex": "57", "Unicode dec": "9085", "Unicode hex": "237D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "88", "Dingbat hex": "58", "Unicode dec": "8682", "Unicode hex": "21EA" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "89", "Dingbat hex": "59", "Unicode dec": "11192", "Unicode hex": "2BB8" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "90", "Dingbat hex": "5A", "Unicode dec": "129184", "Unicode hex": "1F8A0" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "91", "Dingbat hex": "5B", "Unicode dec": "129185", "Unicode hex": "1F8A1" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "92", "Dingbat hex": "5C", "Unicode dec": "129186", "Unicode hex": "1F8A2" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "93", "Dingbat hex": "5D", "Unicode dec": "129187", "Unicode hex": "1F8A3" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "94", "Dingbat hex": "5E", "Unicode dec": "129188", "Unicode hex": "1F8A4" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "95", "Dingbat hex": "5F", "Unicode dec": "129189", "Unicode hex": "1F8A5" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "96", "Dingbat hex": "60", "Unicode dec": "129190", "Unicode hex": "1F8A6" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "97", "Dingbat hex": "61", "Unicode dec": "129191", "Unicode hex": "1F8A7" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "98", "Dingbat hex": "62", "Unicode dec": "129192", "Unicode hex": "1F8A8" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "99", "Dingbat hex": "63", "Unicode dec": "129193", "Unicode hex": "1F8A9" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "100", "Dingbat hex": "64", "Unicode dec": "129194", "Unicode hex": "1F8AA" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "101", "Dingbat hex": "65", "Unicode dec": "129195", "Unicode hex": "1F8AB" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "102", "Dingbat hex": "66", "Unicode dec": "129104", "Unicode hex": "1F850" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "103", "Dingbat hex": "67", "Unicode dec": "129106", "Unicode hex": "1F852" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "104", "Dingbat hex": "68", "Unicode dec": "129105", "Unicode hex": "1F851" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "105", "Dingbat hex": "69", "Unicode dec": "129107", "Unicode hex": "1F853" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "106", "Dingbat hex": "6A", "Unicode dec": "129108", "Unicode hex": "1F854" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "107", "Dingbat hex": "6B", "Unicode dec": "129109", "Unicode hex": "1F855" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "108", "Dingbat hex": "6C", "Unicode dec": "129111", "Unicode hex": "1F857" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "109", "Dingbat hex": "6D", "Unicode dec": "129110", "Unicode hex": "1F856" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "110", "Dingbat hex": "6E", "Unicode dec": "129112", "Unicode hex": "1F858" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "111", "Dingbat hex": "6F", "Unicode dec": "129113", "Unicode hex": "1F859" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "112", "Dingbat hex": "70", "Unicode dec": "9650", "Unicode hex": "25B2" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "113", "Dingbat hex": "71", "Unicode dec": "9660", "Unicode hex": "25BC" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "114", "Dingbat hex": "72", "Unicode dec": "9651", "Unicode hex": "25B3" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "115", "Dingbat hex": "73", "Unicode dec": "9661", "Unicode hex": "25BD" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "116", "Dingbat hex": "74", "Unicode dec": "9664", "Unicode hex": "25C0" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "117", "Dingbat hex": "75", "Unicode dec": "9654", "Unicode hex": "25B6" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "118", "Dingbat hex": "76", "Unicode dec": "9665", "Unicode hex": "25C1" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "119", "Dingbat hex": "77", "Unicode dec": "9655", "Unicode hex": "25B7" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "120", "Dingbat hex": "78", "Unicode dec": "9699", "Unicode hex": "25E3" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "121", "Dingbat hex": "79", "Unicode dec": "9698", "Unicode hex": "25E2" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "122", "Dingbat hex": "7A", "Unicode dec": "9700", "Unicode hex": "25E4" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "123", "Dingbat hex": "7B", "Unicode dec": "9701", "Unicode hex": "25E5" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "124", "Dingbat hex": "7C", "Unicode dec": "128896", "Unicode hex": "1F780" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "125", "Dingbat hex": "7D", "Unicode dec": "128898", "Unicode hex": "1F782" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "126", "Dingbat hex": "7E", "Unicode dec": "128897", "Unicode hex": "1F781" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "128", "Dingbat hex": "80", "Unicode dec": "128899", "Unicode hex": "1F783" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "129", "Dingbat hex": "81", "Unicode dec": "11205", "Unicode hex": "2BC5" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "130", "Dingbat hex": "82", "Unicode dec": "11206", "Unicode hex": "2BC6" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "131", "Dingbat hex": "83", "Unicode dec": "11207", "Unicode hex": "2BC7" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "132", "Dingbat hex": "84", "Unicode dec": "11208", "Unicode hex": "2BC8" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "133", "Dingbat hex": "85", "Unicode dec": "11164", "Unicode hex": "2B9C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "134", "Dingbat hex": "86", "Unicode dec": "11166", "Unicode hex": "2B9E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "135", "Dingbat hex": "87", "Unicode dec": "11165", "Unicode hex": "2B9D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "136", "Dingbat hex": "88", "Unicode dec": "11167", "Unicode hex": "2B9F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "137", "Dingbat hex": "89", "Unicode dec": "129040", "Unicode hex": "1F810" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "138", "Dingbat hex": "8A", "Unicode dec": "129042", "Unicode hex": "1F812" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "139", "Dingbat hex": "8B", "Unicode dec": "129041", "Unicode hex": "1F811" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "140", "Dingbat hex": "8C", "Unicode dec": "129043", "Unicode hex": "1F813" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "141", "Dingbat hex": "8D", "Unicode dec": "129044", "Unicode hex": "1F814" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "142", "Dingbat hex": "8E", "Unicode dec": "129046", "Unicode hex": "1F816" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "143", "Dingbat hex": "8F", "Unicode dec": "129045", "Unicode hex": "1F815" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "144", "Dingbat hex": "90", "Unicode dec": "129047", "Unicode hex": "1F817" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "145", "Dingbat hex": "91", "Unicode dec": "129048", "Unicode hex": "1F818" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "146", "Dingbat hex": "92", "Unicode dec": "129050", "Unicode hex": "1F81A" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "147", "Dingbat hex": "93", "Unicode dec": "129049", "Unicode hex": "1F819" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "148", "Dingbat hex": "94", "Unicode dec": "129051", "Unicode hex": "1F81B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "149", "Dingbat hex": "95", "Unicode dec": "129052", "Unicode hex": "1F81C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "150", "Dingbat hex": "96", "Unicode dec": "129054", "Unicode hex": "1F81E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "151", "Dingbat hex": "97", "Unicode dec": "129053", "Unicode hex": "1F81D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "152", "Dingbat hex": "98", "Unicode dec": "129055", "Unicode hex": "1F81F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "153", "Dingbat hex": "99", "Unicode dec": "129024", "Unicode hex": "1F800" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "154", "Dingbat hex": "9A", "Unicode dec": "129026", "Unicode hex": "1F802" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "155", "Dingbat hex": "9B", "Unicode dec": "129025", "Unicode hex": "1F801" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "156", "Dingbat hex": "9C", "Unicode dec": "129027", "Unicode hex": "1F803" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "157", "Dingbat hex": "9D", "Unicode dec": "129028", "Unicode hex": "1F804" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "158", "Dingbat hex": "9E", "Unicode dec": "129030", "Unicode hex": "1F806" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "159", "Dingbat hex": "9F", "Unicode dec": "129029", "Unicode hex": "1F805" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "160", "Dingbat hex": "A0", "Unicode dec": "129031", "Unicode hex": "1F807" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "161", "Dingbat hex": "A1", "Unicode dec": "129032", "Unicode hex": "1F808" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "162", "Dingbat hex": "A2", "Unicode dec": "129034", "Unicode hex": "1F80A" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "163", "Dingbat hex": "A3", "Unicode dec": "129033", "Unicode hex": "1F809" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "164", "Dingbat hex": "A4", "Unicode dec": "129035", "Unicode hex": "1F80B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "165", "Dingbat hex": "A5", "Unicode dec": "129056", "Unicode hex": "1F820" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "166", "Dingbat hex": "A6", "Unicode dec": "129058", "Unicode hex": "1F822" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "167", "Dingbat hex": "A7", "Unicode dec": "129060", "Unicode hex": "1F824" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "168", "Dingbat hex": "A8", "Unicode dec": "129062", "Unicode hex": "1F826" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "169", "Dingbat hex": "A9", "Unicode dec": "129064", "Unicode hex": "1F828" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "170", "Dingbat hex": "AA", "Unicode dec": "129066", "Unicode hex": "1F82A" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "171", "Dingbat hex": "AB", "Unicode dec": "129068", "Unicode hex": "1F82C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "172", "Dingbat hex": "AC", "Unicode dec": "129180", "Unicode hex": "1F89C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "173", "Dingbat hex": "AD", "Unicode dec": "129181", "Unicode hex": "1F89D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "174", "Dingbat hex": "AE", "Unicode dec": "129182", "Unicode hex": "1F89E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "175", "Dingbat hex": "AF", "Unicode dec": "129183", "Unicode hex": "1F89F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "176", "Dingbat hex": "B0", "Unicode dec": "129070", "Unicode hex": "1F82E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "177", "Dingbat hex": "B1", "Unicode dec": "129072", "Unicode hex": "1F830" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "178", "Dingbat hex": "B2", "Unicode dec": "129074", "Unicode hex": "1F832" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "179", "Dingbat hex": "B3", "Unicode dec": "129076", "Unicode hex": "1F834" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "180", "Dingbat hex": "B4", "Unicode dec": "129078", "Unicode hex": "1F836" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "181", "Dingbat hex": "B5", "Unicode dec": "129080", "Unicode hex": "1F838" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "182", "Dingbat hex": "B6", "Unicode dec": "129082", "Unicode hex": "1F83A" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "183", "Dingbat hex": "B7", "Unicode dec": "129081", "Unicode hex": "1F839" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "184", "Dingbat hex": "B8", "Unicode dec": "129083", "Unicode hex": "1F83B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "185", "Dingbat hex": "B9", "Unicode dec": "129176", "Unicode hex": "1F898" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "186", "Dingbat hex": "BA", "Unicode dec": "129178", "Unicode hex": "1F89A" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "187", "Dingbat hex": "BB", "Unicode dec": "129177", "Unicode hex": "1F899" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "188", "Dingbat hex": "BC", "Unicode dec": "129179", "Unicode hex": "1F89B" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "189", "Dingbat hex": "BD", "Unicode dec": "129084", "Unicode hex": "1F83C" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "190", "Dingbat hex": "BE", "Unicode dec": "129086", "Unicode hex": "1F83E" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "191", "Dingbat hex": "BF", "Unicode dec": "129085", "Unicode hex": "1F83D" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "192", "Dingbat hex": "C0", "Unicode dec": "129087", "Unicode hex": "1F83F" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "193", "Dingbat hex": "C1", "Unicode dec": "129088", "Unicode hex": "1F840" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "194", "Dingbat hex": "C2", "Unicode dec": "129090", "Unicode hex": "1F842" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "195", "Dingbat hex": "C3", "Unicode dec": "129089", "Unicode hex": "1F841" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "196", "Dingbat hex": "C4", "Unicode dec": "129091", "Unicode hex": "1F843" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "197", "Dingbat hex": "C5", "Unicode dec": "129092", "Unicode hex": "1F844" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "198", "Dingbat hex": "C6", "Unicode dec": "129094", "Unicode hex": "1F846" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "199", "Dingbat hex": "C7", "Unicode dec": "129093", "Unicode hex": "1F845" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "200", "Dingbat hex": "C8", "Unicode dec": "129095", "Unicode hex": "1F847" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "201", "Dingbat hex": "C9", "Unicode dec": "11176", "Unicode hex": "2BA8" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "202", "Dingbat hex": "CA", "Unicode dec": "11177", "Unicode hex": "2BA9" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "203", "Dingbat hex": "CB", "Unicode dec": "11178", "Unicode hex": "2BAA" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "204", "Dingbat hex": "CC", "Unicode dec": "11179", "Unicode hex": "2BAB" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "205", "Dingbat hex": "CD", "Unicode dec": "11180", "Unicode hex": "2BAC" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "206", "Dingbat hex": "CE", "Unicode dec": "11181", "Unicode hex": "2BAD" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "207", "Dingbat hex": "CF", "Unicode dec": "11182", "Unicode hex": "2BAE" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "208", "Dingbat hex": "D0", "Unicode dec": "11183", "Unicode hex": "2BAF" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "209", "Dingbat hex": "D1", "Unicode dec": "129120", "Unicode hex": "1F860" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "210", "Dingbat hex": "D2", "Unicode dec": "129122", "Unicode hex": "1F862" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "211", "Dingbat hex": "D3", "Unicode dec": "129121", "Unicode hex": "1F861" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "212", "Dingbat hex": "D4", "Unicode dec": "129123", "Unicode hex": "1F863" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "213", "Dingbat hex": "D5", "Unicode dec": "129124", "Unicode hex": "1F864" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "214", "Dingbat hex": "D6", "Unicode dec": "129125", "Unicode hex": "1F865" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "215", "Dingbat hex": "D7", "Unicode dec": "129127", "Unicode hex": "1F867" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "216", "Dingbat hex": "D8", "Unicode dec": "129126", "Unicode hex": "1F866" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "217", "Dingbat hex": "D9", "Unicode dec": "129136", "Unicode hex": "1F870" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "218", "Dingbat hex": "DA", "Unicode dec": "129138", "Unicode hex": "1F872" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "219", "Dingbat hex": "DB", "Unicode dec": "129137", "Unicode hex": "1F871" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "220", "Dingbat hex": "DC", "Unicode dec": "129139", "Unicode hex": "1F873" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "221", "Dingbat hex": "DD", "Unicode dec": "129140", "Unicode hex": "1F874" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "222", "Dingbat hex": "DE", "Unicode dec": "129141", "Unicode hex": "1F875" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "223", "Dingbat hex": "DF", "Unicode dec": "129143", "Unicode hex": "1F877" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "224", "Dingbat hex": "E0", "Unicode dec": "129142", "Unicode hex": "1F876" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "225", "Dingbat hex": "E1", "Unicode dec": "129152", "Unicode hex": "1F880" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "226", "Dingbat hex": "E2", "Unicode dec": "129154", "Unicode hex": "1F882" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "227", "Dingbat hex": "E3", "Unicode dec": "129153", "Unicode hex": "1F881" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "228", "Dingbat hex": "E4", "Unicode dec": "129155", "Unicode hex": "1F883" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "229", "Dingbat hex": "E5", "Unicode dec": "129156", "Unicode hex": "1F884" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "230", "Dingbat hex": "E6", "Unicode dec": "129157", "Unicode hex": "1F885" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "231", "Dingbat hex": "E7", "Unicode dec": "129159", "Unicode hex": "1F887" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "232", "Dingbat hex": "E8", "Unicode dec": "129158", "Unicode hex": "1F886" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "233", "Dingbat hex": "E9", "Unicode dec": "129168", "Unicode hex": "1F890" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "234", "Dingbat hex": "EA", "Unicode dec": "129170", "Unicode hex": "1F892" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "235", "Dingbat hex": "EB", "Unicode dec": "129169", "Unicode hex": "1F891" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "236", "Dingbat hex": "EC", "Unicode dec": "129171", "Unicode hex": "1F893" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "237", "Dingbat hex": "ED", "Unicode dec": "129172", "Unicode hex": "1F894" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "238", "Dingbat hex": "EE", "Unicode dec": "129174", "Unicode hex": "1F896" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "239", "Dingbat hex": "EF", "Unicode dec": "129173", "Unicode hex": "1F895" }, { "Typeface name": "Wingdings 3", "Dingbat dec": "240", "Dingbat hex": "F0", "Unicode dec": "129175", "Unicode hex": "1F897" }]; exports["default"] = dingbats
}, {}], 85: [function (require, module, exports) { "use strict"; function codePoint(typeface, codePoint) { return dingbatsByCodePoint[typeface.toUpperCase() + "_" + codePoint] } function dec(typeface, dec) { return codePoint(typeface, parseInt(dec, 10)) } function hex(typeface, hex) { return codePoint(typeface, parseInt(hex, 16)) } function fromCodePointPolyfill(codePoint) { if (65535 >= codePoint) return String.fromCharCode(codePoint); var highSurrogate = Math.floor((codePoint - 65536) / 1024) + 55296, lowSurrogate = (codePoint - 65536) % 1024 + 56320; return String.fromCharCode(highSurrogate, lowSurrogate) } var __importDefault = this && this.__importDefault || function (mod) { return mod && mod.__esModule ? mod : { "default": mod } }; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.hex = exports.dec = exports.codePoint = void 0; for (var dingbats_1 = __importDefault(require("./dingbats")), dingbatsByCodePoint = {}, fromCodePoint = String.fromCodePoint ? String.fromCodePoint : fromCodePointPolyfill, _i = 0, dingbats_2 = dingbats_1["default"]; _i < dingbats_2.length; _i++) { var dingbat = dingbats_2[_i], codePoint_1 = parseInt(dingbat["Unicode dec"], 10), scalarValue = { codePoint: codePoint_1, string: fromCodePoint(codePoint_1) }; dingbatsByCodePoint[dingbat["Typeface name"].toUpperCase() + "_" + dingbat["Dingbat dec"]] = scalarValue } exports.codePoint = codePoint, exports.dec = dec, exports.hex = hex }, { "./dingbats": 84 }], 86: [function (require, module, exports) {
exports.read = function (buffer, offset, isLE, mLen, nBytes) { var e, m, eLen = 8 * nBytes - mLen - 1, eMax = (1 << eLen) - 1, eBias = eMax >> 1, nBits = -7, i = isLE ? nBytes - 1 : 0, d = isLE ? -1 : 1, s = buffer[offset + i]; for (i += d, e = s & (1 << -nBits) - 1, s >>= -nBits, nBits += eLen; nBits > 0; e = 256 * e + buffer[offset + i], i += d, nBits -= 8); for (m = e & (1 << -nBits) - 1, e >>= -nBits, nBits += mLen; nBits > 0; m = 256 * m + buffer[offset + i], i += d, nBits -= 8); if (0 === e) e = 1 - eBias; else { if (e === eMax) return m ? NaN : (s ? -1 : 1) * (1 / 0); m += Math.pow(2, mLen), e -= eBias } return (s ? -1 : 1) * m * Math.pow(2, e - mLen) }, exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
var e, m, c, eLen = 8 * nBytes - mLen - 1, eMax = (1 << eLen) - 1, eBias = eMax >> 1, rt = 23 === mLen ? Math.pow(2, -24) - Math.pow(2, -77) : 0, i = isLE ? 0 : nBytes - 1, d = isLE ? 1 : -1, s = 0 > value || 0 === value && 0 > 1 / value ? 1 : 0; for (value = Math.abs(value), isNaN(value) || value === 1 / 0 ? (m = isNaN(value) ? 1 : 0, e = eMax) : (e = Math.floor(Math.log(value) / Math.LN2), value * (c = Math.pow(2, -e)) < 1 && (e--, c *= 2), value += e + eBias >= 1 ? rt / c : rt * Math.pow(2, 1 - eBias), value * c >= 2 && (e++, c /= 2), e + eBias >= eMax ? (m = 0, e = eMax) : e + eBias >= 1 ? (m = (value * c - 1) * Math.pow(2, mLen), e += eBias) : (m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen), e = 0)); mLen >= 8; buffer[offset + i] = 255 & m, i += d, m /= 256, mLen -= 8); for (e = e << mLen | m, eLen += mLen; eLen > 0; buffer[offset + i] = 255 & e, i += d, e /= 256, eLen -= 8); buffer[offset + i - d] |= 128 * s;
}
}, {}], 87: [function (require, module, exports) { var toString = {}.toString; module.exports = Array.isArray || function (arr) { return "[object Array]" == toString.call(arr) } }, {}], 88: [function (require, module, exports) {
(function (global, Buffer) {
!function (t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = t() }(function () {
return function s(a, o, h) { function u(r, t) { if (!o[r]) { if (!a[r]) { var e = "function" == typeof require && require; if (!t && e) return e(r, !0); if (l) return l(r, !0); var i = new Error("Cannot find module '" + r + "'"); throw i.code = "MODULE_NOT_FOUND", i } var n = o[r] = { exports: {} }; a[r][0].call(n.exports, function (t) { var e = a[r][1][t]; return u(e || t) }, n, n.exports, s, a, o, h) } return o[r].exports } for (var l = "function" == typeof require && require, t = 0; t < h.length; t++)u(h[t]); return u }({
1: [function (t, e, r) { "use strict"; var c = t("./utils"), d = t("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; r.encode = function (t) { for (var e, r, i, n, s, a, o, h = [], u = 0, l = t.length, f = l, d = "string" !== c.getTypeOf(t); u < t.length;)f = l - u, i = d ? (e = t[u++], r = l > u ? t[u++] : 0, l > u ? t[u++] : 0) : (e = t.charCodeAt(u++), r = l > u ? t.charCodeAt(u++) : 0, l > u ? t.charCodeAt(u++) : 0), n = e >> 2, s = (3 & e) << 4 | r >> 4, a = f > 1 ? (15 & r) << 2 | i >> 6 : 64, o = f > 2 ? 63 & i : 64, h.push(p.charAt(n) + p.charAt(s) + p.charAt(a) + p.charAt(o)); return h.join("") }, r.decode = function (t) { var e, r, i, n, s, a, o = 0, h = 0, u = "data:"; if (t.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); var l, f = 3 * (t = t.replace(/[^A-Za-z0-9\+\/\=]/g, "")).length / 4; if (t.charAt(t.length - 1) === p.charAt(64) && f--, t.charAt(t.length - 2) === p.charAt(64) && f--, f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); for (l = d.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < t.length;)e = p.indexOf(t.charAt(o++)) << 2 | (n = p.indexOf(t.charAt(o++))) >> 4, r = (15 & n) << 4 | (s = p.indexOf(t.charAt(o++))) >> 2, i = (3 & s) << 6 | (a = p.indexOf(t.charAt(o++))), l[h++] = e, 64 !== s && (l[h++] = r), 64 !== a && (l[h++] = i); return l } }, { "./support": 30, "./utils": 32 }], 2: [function (t, e, r) { "use strict"; function o(t, e, r, i, n) { this.compressedSize = t, this.uncompressedSize = e, this.crc32 = r, this.compression = i, this.compressedContent = n } var i = t("./external"), n = t("./stream/DataWorker"), s = t("./stream/Crc32Probe"), a = t("./stream/DataLengthProbe"); o.prototype = { getContentWorker: function () { var t = new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), e = this; return t.on("end", function () { if (this.streamInfo.data_length !== e.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch") }), t }, getCompressedWorker: function () { return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression) } }, o.createWorkerFrom = function (t, e, r) { return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression", e) }, e.exports = o }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function (t, e, r) { "use strict"; var i = t("./stream/GenericWorker"); r.STORE = { magic: "\x00\x00", compressWorker: function (t) { return new i("STORE compression") }, uncompressWorker: function () { return new i("STORE decompression") } }, r.DEFLATE = t("./flate") }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function (t, e, r) { "use strict"; var i = t("./utils"), o = function () { for (var t, e = [], r = 0; 256 > r; r++) { t = r; for (var i = 0; 8 > i; i++)t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1; e[r] = t } return e }(); e.exports = function (t, e) { return void 0 !== t && t.length ? "string" !== i.getTypeOf(t) ? function (t, e, r, i) { var n = o, s = i + r; t ^= -1; for (var a = i; s > a; a++)t = t >>> 8 ^ n[255 & (t ^ e[a])]; return -1 ^ t }(0 | e, t, t.length, 0) : function (t, e, r, i) { var n = o, s = i + r; t ^= -1; for (var a = i; s > a; a++)t = t >>> 8 ^ n[255 & (t ^ e.charCodeAt(a))]; return -1 ^ t }(0 | e, t, t.length, 0) : 0 } }, { "./utils": 32 }], 5: [function (t, e, r) { "use strict"; r.base64 = !1, r.binary = !1, r.dir = !1, r.createFolders = !0, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null }, {}], 6: [function (t, e, r) { "use strict"; var i = null; i = "undefined" != typeof Promise ? Promise : t("lie"), e.exports = { Promise: i } }, { lie: 37 }], 7: [function (t, e, r) { "use strict"; function h(t, e) { a.call(this, "FlateWorker/" + t), this._pako = null, this._pakoAction = t, this._pakoOptions = e, this.meta = {} } var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, n = t("pako"), s = t("./utils"), a = t("./stream/GenericWorker"), o = i ? "uint8array" : "array"; r.magic = "\b\x00", s.inherits(h, a), h.prototype.processChunk = function (t) { this.meta = t.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, t.data), !1) }, h.prototype.flush = function () { a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], !0) }, h.prototype.cleanUp = function () { a.prototype.cleanUp.call(this), this._pako = null }, h.prototype._createPako = function () { this._pako = new n[this._pakoAction]({ raw: !0, level: this._pakoOptions.level || -1 }); var e = this; this._pako.onData = function (t) { e.push({ data: t, meta: e.meta }) } }, r.compressWorker = function (t) { return new h("Deflate", t) }, r.uncompressWorker = function () { return new h("Inflate", {}) } }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function (t, e, r) { "use strict"; function A(t, e) { var r, i = ""; for (r = 0; e > r; r++)i += String.fromCharCode(255 & t), t >>>= 8; return i } function i(t, e, r, i, n, s) { var a, o, h = t.file, u = t.compression, l = s !== O.utf8encode, f = I.transformTo("string", s(h.name)), d = I.transformTo("string", O.utf8encode(h.name)), c = h.comment, p = I.transformTo("string", s(c)), m = I.transformTo("string", O.utf8encode(c)), _ = d.length !== h.name.length, g = m.length !== c.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; e && !r || (x.crc32 = t.crc32, x.compressedSize = t.compressedSize, x.uncompressedSize = t.uncompressedSize); var S = 0; e && (S |= 8), l || !_ && !g || (S |= 2048); var z = 0, C = 0; w && (z |= 16), "UNIX" === n ? (C = 798, z |= function (t, e) { var r = t; return t || (r = e ? 16893 : 33204), (65535 & r) << 16 }(h.unixPermissions, w)) : (C = 20, z |= function (t) { return 63 & (t || 0) }(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + d, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); var E = ""; return E += "\n\x00", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\x00\x00\x00\x00" + A(z, 4) + A(i, 4) + f + b + p } } function s(t, e, r, i) { n.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = e, this.zipPlatform = r, this.encodeFileName = i, this.streamFiles = t, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [] } var I = t("../utils"), n = t("../stream/GenericWorker"), O = t("../utf8"), B = t("../crc32"), R = t("../signature"); I.inherits(s, n), s.prototype.push = function (t) { var e = t.meta.percent || 0, r = this.entriesCount, i = this._sources.length; this.accumulate ? this.contentBuffer.push(t) : (this.bytesWritten += t.data.length, n.prototype.push.call(this, { data: t.data, meta: { currentFile: this.currentFile, percent: r ? (e + 100 * (r - i - 1)) / r : 100 } })) }, s.prototype.openedSource = function (t) { this.currentSourceOffset = this.bytesWritten, this.currentFile = t.file.name; var e = this.streamFiles && !t.file.dir; if (e) { var r = i(t, e, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); this.push({ data: r.fileRecord, meta: { percent: 0 } }) } else this.accumulate = !0 }, s.prototype.closedSource = function (t) { this.accumulate = !1; var e = this.streamFiles && !t.file.dir, r = i(t, e, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); if (this.dirRecords.push(r.dirRecord), e) this.push({ data: function (t) { return R.DATA_DESCRIPTOR + A(t.crc32, 4) + A(t.compressedSize, 4) + A(t.uncompressedSize, 4) }(t), meta: { percent: 100 } }); else for (this.push({ data: r.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length;)this.push(this.contentBuffer.shift()); this.currentFile = null }, s.prototype.flush = function () { for (var t = this.bytesWritten, e = 0; e < this.dirRecords.length; e++)this.push({ data: this.dirRecords[e], meta: { percent: 100 } }); var r = this.bytesWritten - t, i = function (t, e, r, i, n) { var s = I.transformTo("string", n(i)); return R.CENTRAL_DIRECTORY_END + "\x00\x00\x00\x00" + A(t, 2) + A(t, 2) + A(e, 4) + A(r, 4) + A(s.length, 2) + s }(this.dirRecords.length, r, t, this.zipComment, this.encodeFileName); this.push({ data: i, meta: { percent: 100 } }) }, s.prototype.prepareNextSource = function () { this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume() }, s.prototype.registerPrevious = function (t) { this._sources.push(t); var e = this; return t.on("data", function (t) { e.processChunk(t) }), t.on("end", function () { e.closedSource(e.previous.streamInfo), e._sources.length ? e.prepareNextSource() : e.end() }), t.on("error", function (t) { e.error(t) }), this }, s.prototype.resume = function () { return !!n.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0)) }, s.prototype.error = function (t) { var e = this._sources; if (!n.prototype.error.call(this, t)) return !1; for (var r = 0; r < e.length; r++)try { e[r].error(t) } catch (t) { } return !0 }, s.prototype.lock = function () { n.prototype.lock.call(this); for (var t = this._sources, e = 0; e < t.length; e++)t[e].lock() }, e.exports = s }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function (t, e, r) { "use strict"; var u = t("../compressions"), i = t("./ZipFileWorker"); r.generateWorker = function (t, a, e) { var o = new i(a.streamFiles, e, a.platform, a.encodeFileName), h = 0; try { t.forEach(function (t, e) { h++; var r = function (t, e) { var r = t || e, i = u[r]; if (!i) throw new Error(r + " is not a valid compression method !"); return i }(e.options.compression, a.compression), i = e.options.compressionOptions || a.compressionOptions || {}, n = e.dir, s = e.date; e._compressWorker(r, i).withStreamInfo("file", { name: t, dir: n, date: s, comment: e.comment || "", unixPermissions: e.unixPermissions, dosPermissions: e.dosPermissions }).pipe(o) }), o.entriesCount = h } catch (t) { o.error(t) } return o } }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function (t, e, r) { "use strict"; function i() { if (!(this instanceof i)) return new i; if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); this.files = Object.create(null), this.comment = null, this.root = "", this.clone = function () { var t = new i; for (var e in this) "function" != typeof this[e] && (t[e] = this[e]); return t } } (i.prototype = t("./object")).loadAsync = t("./load"), i.support = t("./support"), i.defaults = t("./defaults"), i.version = "3.7.1", i.loadAsync = function (t, e) { return (new i).loadAsync(t, e) }, i.external = t("./external"), e.exports = i }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function (t, e, r) { "use strict"; function l(i) { return new n.Promise(function (t, e) { var r = i.decompressed.getContentWorker().pipe(new s); r.on("error", function (t) { e(t) }).on("end", function () { r.streamInfo.crc32 !== i.decompressed.crc32 ? e(new Error("Corrupted zip : CRC32 mismatch")) : t() }).resume() }) } var i = t("./utils"), n = t("./external"), o = t("./utf8"), h = t("./zipEntries"), s = t("./stream/Crc32Probe"), u = t("./nodejsUtils"); e.exports = function (t, s) { var a = this; return s = i.extend(s || {}, { base64: !1, checkCRC32: !1, optimizedBinaryString: !1, createFolders: !1, decodeFileName: o.utf8decode }), u.isNode && u.isStream(t) ? n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : i.prepareContent("the loaded zip file", t, !0, s.optimizedBinaryString, s.base64).then(function (t) { var e = new h(s); return e.load(t), e }).then(function (t) { var e = [n.Promise.resolve(t)], r = t.files; if (s.checkCRC32) for (var i = 0; i < r.length; i++)e.push(l(r[i])); return n.Promise.all(e) }).then(function (t) { for (var e = t.shift(), r = e.files, i = 0; i < r.length; i++) { var n = r[i]; a.file(n.fileNameStr, n.decompressed, { binary: !0, optimizedBinaryString: !0, date: n.date, dir: n.dir, comment: n.fileCommentStr.length ? n.fileCommentStr : null, unixPermissions: n.unixPermissions, dosPermissions: n.dosPermissions, createFolders: s.createFolders }) } return e.zipComment.length && (a.comment = e.zipComment), a }) } }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function (t, e, r) { "use strict"; function s(t, e) { n.call(this, "Nodejs stream input adapter for " + t), this._upstreamEnded = !1, this._bindStream(e) } var i = t("../utils"), n = t("../stream/GenericWorker"); i.inherits(s, n), s.prototype._bindStream = function (t) { var e = this; (this._stream = t).pause(), t.on("data", function (t) { e.push({ data: t, meta: { percent: 0 } }) }).on("error", function (t) { e.isPaused ? this.generatedError = t : e.error(t) }).on("end", function () { e.isPaused ? e._upstreamEnded = !0 : e.end() }) }, s.prototype.pause = function () { return !!n.prototype.pause.call(this) && (this._stream.pause(), !0) }, s.prototype.resume = function () { return !!n.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0) }, e.exports = s }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function (t, e, r) { "use strict"; function i(t, e, r) { n.call(this, e), this._helper = t; var i = this; t.on("data", function (t, e) { i.push(t) || i._helper.pause(), r && r(e) }).on("error", function (t) { i.emit("error", t) }).on("end", function () { i.push(null) }) } var n = t("readable-stream").Readable; t("../utils").inherits(i, n), i.prototype._read = function () { this._helper.resume() }, e.exports = i }, { "../utils": 32, "readable-stream": 16 }], 14: [function (t, e, r) { "use strict"; e.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function (t, e) { if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(t, e); if ("number" == typeof t) throw new Error('The "data" argument must not be a number'); return new Buffer(t, e) }, allocBuffer: function (t) { if (Buffer.alloc) return Buffer.alloc(t); var e = new Buffer(t); return e.fill(0), e }, isBuffer: function (t) { return Buffer.isBuffer(t) }, isStream: function (t) { return t && "function" == typeof t.on && "function" == typeof t.pause && "function" == typeof t.resume } } }, {}], 15: [function (t, e, r) { "use strict"; function s(t, e, r) { var i, n = u.getTypeOf(e), s = u.extend(r || {}, f); s.date = s.date || new Date, null !== s.compression && (s.compression = s.compression.toUpperCase()), "string" == typeof s.unixPermissions && (s.unixPermissions = parseInt(s.unixPermissions, 8)), s.unixPermissions && 16384 & s.unixPermissions && (s.dir = !0), s.dosPermissions && 16 & s.dosPermissions && (s.dir = !0), s.dir && (t = g(t)), s.createFolders && (i = _(t)) && b.call(this, i, !0); var a = "string" === n && !1 === s.binary && !1 === s.base64; r && void 0 !== r.binary || (s.binary = !a), (e instanceof d && 0 === e.uncompressedSize || s.dir || !e || 0 === e.length) && (s.base64 = !1, s.binary = !0, e = "", s.compression = "STORE", n = "string"); var o = null; o = e instanceof d || e instanceof l ? e : p.isNode && p.isStream(e) ? new m(t, e) : u.prepareContent(t, e, s.binary, s.optimizedBinaryString, s.base64); var h = new c(t, o, s); this.files[t] = h } function h(t) { return "[object RegExp]" === Object.prototype.toString.call(t) } var n = t("./utf8"), u = t("./utils"), l = t("./stream/GenericWorker"), a = t("./stream/StreamHelper"), f = t("./defaults"), d = t("./compressedObject"), c = t("./zipObject"), o = t("./generate"), p = t("./nodejsUtils"), m = t("./nodejs/NodejsStreamInputAdapter"), _ = function (t) { "/" === t.slice(-1) && (t = t.substring(0, t.length - 1)); var e = t.lastIndexOf("/"); return e > 0 ? t.substring(0, e) : "" }, g = function (t) { return "/" !== t.slice(-1) && (t += "/"), t }, b = function (t, e) { return e = void 0 !== e ? e : f.createFolders, t = g(t), this.files[t] || s.call(this, t, null, { dir: !0, createFolders: e }), this.files[t] }, i = { load: function () { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") }, forEach: function (t) { var e, r, i; for (e in this.files) i = this.files[e], (r = e.slice(this.root.length, e.length)) && e.slice(0, this.root.length) === this.root && t(r, i) }, filter: function (r) { var i = []; return this.forEach(function (t, e) { r(t, e) && i.push(e) }), i }, file: function (t, e, r) { if (1 !== arguments.length) return t = this.root + t, s.call(this, t, e, r), this; if (h(t)) { var i = t; return this.filter(function (t, e) { return !e.dir && i.test(t) }) } var n = this.files[this.root + t]; return n && !n.dir ? n : null }, folder: function (r) { if (!r) return this; if (h(r)) return this.filter(function (t, e) { return e.dir && r.test(t) }); var t = this.root + r, e = b.call(this, t), i = this.clone(); return i.root = e.name, i }, remove: function (r) { r = this.root + r; var t = this.files[r]; if (t || ("/" !== r.slice(-1) && (r += "/"), t = this.files[r]), t && !t.dir) delete this.files[r]; else for (var e = this.filter(function (t, e) { return e.name.slice(0, r.length) === r }), i = 0; i < e.length; i++)delete this.files[e[i].name]; return this }, generate: function (t) { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") }, generateInternalStream: function (t) { var e, r = {}; try { if ((r = u.extend(t || {}, { streamFiles: !1, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: n.utf8encode })).type = r.type.toLowerCase(), r.compression = r.compression.toUpperCase(), "binarystring" === r.type && (r.type = "string"), !r.type) throw new Error("No output type specified."); u.checkSupport(r.type), "darwin" !== r.platform && "freebsd" !== r.platform && "linux" !== r.platform && "sunos" !== r.platform || (r.platform = "UNIX"), "win32" === r.platform && (r.platform = "DOS"); var i = r.comment || this.comment || ""; e = o.generateWorker(this, r, i) } catch (t) { (e = new l("error")).error(t) } return new a(e, r.type || "string", r.mimeType) }, generateAsync: function (t, e) { return this.generateInternalStream(t).accumulate(e) }, generateNodeStream: function (t, e) { return (t = t || {}).type || (t.type = "nodebuffer"), this.generateInternalStream(t).toNodejsStream(e) } }; e.exports = i }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function (t, e, r) { e.exports = t("stream") }, { stream: void 0 }], 17: [function (t, e, r) { "use strict"; function n(t) { i.call(this, t); for (var e = 0; e < this.data.length; e++)t[e] = 255 & t[e] } var i = t("./DataReader"); t("../utils").inherits(n, i), n.prototype.byteAt = function (t) { return this.data[this.zero + t] }, n.prototype.lastIndexOfSignature = function (t) { for (var e = t.charCodeAt(0), r = t.charCodeAt(1), i = t.charCodeAt(2), n = t.charCodeAt(3), s = this.length - 4; s >= 0; --s)if (this.data[s] === e && this.data[s + 1] === r && this.data[s + 2] === i && this.data[s + 3] === n) return s - this.zero; return -1 }, n.prototype.readAndCheckSignature = function (t) { var e = t.charCodeAt(0), r = t.charCodeAt(1), i = t.charCodeAt(2), n = t.charCodeAt(3), s = this.readData(4); return e === s[0] && r === s[1] && i === s[2] && n === s[3] }, n.prototype.readData = function (t) { if (this.checkOffset(t), 0 === t) return []; var e = this.data.slice(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./DataReader": 18 }], 18: [function (t, e, r) { "use strict"; function n(t) { this.data = t, this.length = t.length, this.index = 0, this.zero = 0 } var i = t("../utils"); n.prototype = { checkOffset: function (t) { this.checkIndex(this.index + t) }, checkIndex: function (t) { if (this.length < this.zero + t || 0 > t) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + t + "). Corrupted zip ?") }, setIndex: function (t) { this.checkIndex(t), this.index = t }, skip: function (t) { this.setIndex(this.index + t) }, byteAt: function (t) { }, readInt: function (t) { var e, r = 0; for (this.checkOffset(t), e = this.index + t - 1; e >= this.index; e--)r = (r << 8) + this.byteAt(e); return this.index += t, r }, readString: function (t) { return i.transformTo("string", this.readData(t)) }, readData: function (t) { }, lastIndexOfSignature: function (t) { }, readAndCheckSignature: function (t) { }, readDate: function () { var t = this.readInt(4); return new Date(Date.UTC(1980 + (t >> 25 & 127), (t >> 21 & 15) - 1, t >> 16 & 31, t >> 11 & 31, t >> 5 & 63, (31 & t) << 1)) } }, e.exports = n }, { "../utils": 32 }], 19: [function (t, e, r) { "use strict"; function n(t) { i.call(this, t) } var i = t("./Uint8ArrayReader"); t("../utils").inherits(n, i), n.prototype.readData = function (t) { this.checkOffset(t); var e = this.data.slice(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function (t, e, r) { "use strict"; function n(t) { i.call(this, t) } var i = t("./DataReader"); t("../utils").inherits(n, i), n.prototype.byteAt = function (t) { return this.data.charCodeAt(this.zero + t) }, n.prototype.lastIndexOfSignature = function (t) { return this.data.lastIndexOf(t) - this.zero }, n.prototype.readAndCheckSignature = function (t) { return t === this.readData(4) }, n.prototype.readData = function (t) { this.checkOffset(t); var e = this.data.slice(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./DataReader": 18 }], 21: [function (t, e, r) { "use strict"; function n(t) { i.call(this, t) } var i = t("./ArrayReader"); t("../utils").inherits(n, i), n.prototype.readData = function (t) { if (this.checkOffset(t), 0 === t) return new Uint8Array(0); var e = this.data.subarray(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function (t, e, r) { "use strict"; var i = t("../utils"), n = t("../support"), s = t("./ArrayReader"), a = t("./StringReader"), o = t("./NodeBufferReader"), h = t("./Uint8ArrayReader"); e.exports = function (t) { var e = i.getTypeOf(t); return i.checkSupport(e), "string" !== e || n.uint8array ? "nodebuffer" === e ? new o(t) : n.uint8array ? new h(i.transformTo("uint8array", t)) : new s(i.transformTo("array", t)) : new a(t) } }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function (t, e, r) { "use strict"; r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\b" }, {}], 24: [function (t, e, r) { "use strict"; function s(t) { i.call(this, "ConvertWorker to " + t), this.destType = t } var i = t("./GenericWorker"), n = t("../utils"); n.inherits(s, i), s.prototype.processChunk = function (t) { this.push({ data: n.transformTo(this.destType, t.data), meta: t.meta }) }, e.exports = s }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function (t, e, r) { "use strict"; function s() { i.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0) } var i = t("./GenericWorker"), n = t("../crc32"); t("../utils").inherits(s, i), s.prototype.processChunk = function (t) { this.streamInfo.crc32 = n(t.data, this.streamInfo.crc32 || 0), this.push(t) }, e.exports = s }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function (t, e, r) { "use strict"; function s(t) { n.call(this, "DataLengthProbe for " + t), this.propName = t, this.withStreamInfo(t, 0) } var i = t("../utils"), n = t("./GenericWorker"); i.inherits(s, n), s.prototype.processChunk = function (t) { if (t) { var e = this.streamInfo[this.propName] || 0; this.streamInfo[this.propName] = e + t.data.length } n.prototype.processChunk.call(this, t) }, e.exports = s }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function (t, e, r) { "use strict"; function s(t) { n.call(this, "DataWorker"); var e = this; this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, t.then(function (t) { e.dataIsReady = !0, e.data = t, e.max = t && t.length || 0, e.type = i.getTypeOf(t), e.isPaused || e._tickAndRepeat() }, function (t) { e.error(t) }) } var i = t("../utils"), n = t("./GenericWorker"); i.inherits(s, n), s.prototype.cleanUp = function () { n.prototype.cleanUp.call(this), this.data = null }, s.prototype.resume = function () { return !!n.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, i.delay(this._tickAndRepeat, [], this)), !0) }, s.prototype._tickAndRepeat = function () { this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (i.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0)) }, s.prototype._tick = function () { if (this.isPaused || this.isFinished) return !1; var t = null, e = Math.min(this.max, this.index + 16384); if (this.index >= this.max) return this.end(); switch (this.type) { case "string": t = this.data.substring(this.index, e); break; case "uint8array": t = this.data.subarray(this.index, e); break; case "array": case "nodebuffer": t = this.data.slice(this.index, e) }return this.index = e, this.push({ data: t, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }) }, e.exports = s }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function (t, e, r) { "use strict"; function i(t) { this.name = t || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = { data: [], end: [], error: [] }, this.previous = null } i.prototype = { push: function (t) { this.emit("data", t) }, end: function () { if (this.isFinished) return !1; this.flush(); try { this.emit("end"), this.cleanUp(), this.isFinished = !0 } catch (t) { this.emit("error", t) } return !0 }, error: function (t) { return !this.isFinished && (this.isPaused ? this.generatedError = t : (this.isFinished = !0, this.emit("error", t), this.previous && this.previous.error(t), this.cleanUp()), !0) }, on: function (t, e) { return this._listeners[t].push(e), this }, cleanUp: function () { this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [] }, emit: function (t, e) { if (this._listeners[t]) for (var r = 0; r < this._listeners[t].length; r++)this._listeners[t][r].call(this, e) }, pipe: function (t) { return t.registerPrevious(this) }, registerPrevious: function (t) { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.streamInfo = t.streamInfo, this.mergeStreamInfo(), this.previous = t; var e = this; return t.on("data", function (t) { e.processChunk(t) }), t.on("end", function () { e.end() }), t.on("error", function (t) { e.error(t) }), this }, pause: function () { return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0) }, resume: function () { if (!this.isPaused || this.isFinished) return !1; var t = this.isPaused = !1; return this.generatedError && (this.error(this.generatedError), t = !0), this.previous && this.previous.resume(), !t }, flush: function () { }, processChunk: function (t) { this.push(t) }, withStreamInfo: function (t, e) { return this.extraStreamInfo[t] = e, this.mergeStreamInfo(), this }, mergeStreamInfo: function () { for (var t in this.extraStreamInfo) this.extraStreamInfo.hasOwnProperty(t) && (this.streamInfo[t] = this.extraStreamInfo[t]) }, lock: function () { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.isLocked = !0, this.previous && this.previous.lock() }, toString: function () { var t = "Worker " + this.name; return this.previous ? this.previous + " -> " + t : t } }, e.exports = i }, {}], 29: [function (t, e, r) { "use strict"; function l(t, o) { return new a.Promise(function (e, r) { var i = [], n = t._internalType, s = t._outputType, a = t._mimeType; t.on("data", function (t, e) { i.push(t), o && o(e) }).on("error", function (t) { i = [], r(t) }).on("end", function () { try { var t = function (t, e, r) { switch (t) { case "blob": return h.newBlob(h.transformTo("arraybuffer", e), r); case "base64": return u.encode(e); default: return h.transformTo(t, e) } }(s, function (t, e) { var r, i = 0, n = null, s = 0; for (r = 0; r < e.length; r++)s += e[r].length; switch (t) { case "string": return e.join(""); case "array": return Array.prototype.concat.apply([], e); case "uint8array": for (n = new Uint8Array(s), r = 0; r < e.length; r++)n.set(e[r], i), i += e[r].length; return n; case "nodebuffer": return Buffer.concat(e); default: throw new Error("concat : unsupported type '" + t + "'") } }(n, i), a); e(t) } catch (t) { r(t) } i = [] }).resume() }) } function f(t, e, r) { var i = e; switch (e) { case "blob": case "arraybuffer": i = "uint8array"; break; case "base64": i = "string" }try { this._internalType = i, this._outputType = e, this._mimeType = r, h.checkSupport(i), this._worker = t.pipe(new n(i)), t.lock() } catch (t) { this._worker = new s("error"), this._worker.error(t) } } var h = t("../utils"), n = t("./ConvertWorker"), s = t("./GenericWorker"), u = t("../base64"), i = t("../support"), a = t("../external"), o = null; if (i.nodestream) try { o = t("../nodejs/NodejsStreamOutputAdapter") } catch (t) { } f.prototype = { accumulate: function (t) { return l(this, t) }, on: function (t, e) { var r = this; return "data" === t ? this._worker.on(t, function (t) { e.call(r, t.data, t.meta) }) : this._worker.on(t, function () { h.delay(e, arguments, r) }), this }, resume: function () { return h.delay(this._worker.resume, [], this._worker), this }, pause: function () { return this._worker.pause(), this }, toNodejsStream: function (t) { if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); return new o(this, { objectMode: "nodebuffer" !== this._outputType }, t) } }, e.exports = f }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function (t, e, r) { "use strict"; if (r.base64 = !0, r.array = !0, r.string = !0, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = !1; else { var i = new ArrayBuffer(0); try { r.blob = 0 === new Blob([i], { type: "application/zip" }).size } catch (t) { try { var n = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); n.append(i), r.blob = 0 === n.getBlob("application/zip").size } catch (t) { r.blob = !1 } } } try { r.nodestream = !!t("readable-stream").Readable } catch (t) { r.nodestream = !1 } }, { "readable-stream": 16 }], 31: [function (t, e, s) { "use strict"; function a() { i.call(this, "utf-8 decode"), this.leftOver = null } function l() { i.call(this, "utf-8 encode") } for (var o = t("./utils"), h = t("./support"), r = t("./nodejsUtils"), i = t("./stream/GenericWorker"), u = new Array(256), n = 0; 256 > n; n++)u[n] = n >= 252 ? 6 : n >= 248 ? 5 : n >= 240 ? 4 : n >= 224 ? 3 : n >= 192 ? 2 : 1; u[254] = u[254] = 1, s.utf8encode = function (t) { return h.nodebuffer ? r.newBufferFrom(t, "utf-8") : function (t) { var e, r, i, n, s, a = t.length, o = 0; for (n = 0; a > n; n++)55296 == (64512 & (r = t.charCodeAt(n))) && a > n + 1 && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), o += 128 > r ? 1 : 2048 > r ? 2 : 65536 > r ? 3 : 4; for (e = h.uint8array ? new Uint8Array(o) : new Array(o), n = s = 0; o > s; n++)55296 == (64512 & (r = t.charCodeAt(n))) && a > n + 1 && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), 128 > r ? e[s++] = r : (2048 > r ? e[s++] = 192 | r >>> 6 : (65536 > r ? e[s++] = 224 | r >>> 12 : (e[s++] = 240 | r >>> 18, e[s++] = 128 | r >>> 12 & 63), e[s++] = 128 | r >>> 6 & 63), e[s++] = 128 | 63 & r); return e }(t) }, s.utf8decode = function (t) { return h.nodebuffer ? o.transformTo("nodebuffer", t).toString("utf-8") : function (t) { var e, r, i, n, s = t.length, a = new Array(2 * s); for (e = r = 0; s > e;)if ((i = t[e++]) < 128) a[r++] = i; else if (4 < (n = u[i])) a[r++] = 65533, e += n - 1; else { for (i &= 2 === n ? 31 : 3 === n ? 15 : 7; n > 1 && s > e;)i = i << 6 | 63 & t[e++], n--; n > 1 ? a[r++] = 65533 : 65536 > i ? a[r++] = i : (i -= 65536, a[r++] = 55296 | i >> 10 & 1023, a[r++] = 56320 | 1023 & i) } return a.length !== r && (a.subarray ? a = a.subarray(0, r) : a.length = r), o.applyFromCharCode(a) }(t = o.transformTo(h.uint8array ? "uint8array" : "array", t)) }, o.inherits(a, i), a.prototype.processChunk = function (t) { var e = o.transformTo(h.uint8array ? "uint8array" : "array", t.data); if (this.leftOver && this.leftOver.length) { if (h.uint8array) { var r = e; (e = new Uint8Array(r.length + this.leftOver.length)).set(this.leftOver, 0), e.set(r, this.leftOver.length) } else e = this.leftOver.concat(e); this.leftOver = null } var i = function (t, e) { var r; for ((e = e || t.length) > t.length && (e = t.length), r = e - 1; r >= 0 && 128 == (192 & t[r]);)r--; return 0 > r ? e : 0 === r ? e : r + u[t[r]] > e ? r : e }(e), n = e; i !== e.length && (h.uint8array ? (n = e.subarray(0, i), this.leftOver = e.subarray(i, e.length)) : (n = e.slice(0, i), this.leftOver = e.slice(i, e.length))), this.push({ data: s.utf8decode(n), meta: t.meta }) }, a.prototype.flush = function () { this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null) }, s.Utf8DecodeWorker = a, o.inherits(l, i), l.prototype.processChunk = function (t) { this.push({ data: s.utf8encode(t.data), meta: t.meta }) }, s.Utf8EncodeWorker = l }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function (t, e, a) {
"use strict"; function n(t) { return t } function l(t, e) { for (var r = 0; r < t.length; ++r)e[r] = 255 & t.charCodeAt(r); return e } function f(t) { var e = 65536, r = a.getTypeOf(t), i = !0; if ("uint8array" === r ? i = s.applyCanBeUsed.uint8array : "nodebuffer" === r && (i = s.applyCanBeUsed.nodebuffer), i) for (; e > 1;)try { return s.stringifyByChunk(t, r, e) } catch (t) { e = Math.floor(e / 2) } return s.stringifyByChar(t) } function d(t, e) { for (var r = 0; r < t.length; r++)e[r] = t[r]; return e } var o = t("./support"), h = t("./base64"), r = t("./nodejsUtils"), i = t("set-immediate-shim"), u = t("./external");
a.newBlob = function (e, r) { a.checkSupport("blob"); try { return new Blob([e], { type: r }) } catch (t) { try { var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); return i.append(e), i.getBlob(r) } catch (t) { throw new Error("Bug : can't construct the Blob.") } } }; var s = { stringifyByChunk: function (t, e, r) { var i = [], n = 0, s = t.length; if (r >= s) return String.fromCharCode.apply(null, t); for (; s > n;)"array" === e || "nodebuffer" === e ? i.push(String.fromCharCode.apply(null, t.slice(n, Math.min(n + r, s)))) : i.push(String.fromCharCode.apply(null, t.subarray(n, Math.min(n + r, s)))), n += r; return i.join("") }, stringifyByChar: function (t) { for (var e = "", r = 0; r < t.length; r++)e += String.fromCharCode(t[r]); return e }, applyCanBeUsed: { uint8array: function () { try { return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length } catch (t) { return !1 } }(), nodebuffer: function () { try { return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length } catch (t) { return !1 } }() } }; a.applyFromCharCode = f; var c = {}; c.string = { string: n, array: function (t) { return l(t, new Array(t.length)) }, arraybuffer: function (t) { return c.string.uint8array(t).buffer }, uint8array: function (t) { return l(t, new Uint8Array(t.length)) }, nodebuffer: function (t) { return l(t, r.allocBuffer(t.length)) } }, c.array = { string: f, array: n, arraybuffer: function (t) { return new Uint8Array(t).buffer }, uint8array: function (t) { return new Uint8Array(t) }, nodebuffer: function (t) { return r.newBufferFrom(t) } }, c.arraybuffer = { string: function (t) { return f(new Uint8Array(t)) }, array: function (t) { return d(new Uint8Array(t), new Array(t.byteLength)) }, arraybuffer: n, uint8array: function (t) { return new Uint8Array(t) }, nodebuffer: function (t) { return r.newBufferFrom(new Uint8Array(t)) } }, c.uint8array = { string: f, array: function (t) { return d(t, new Array(t.length)) }, arraybuffer: function (t) { return t.buffer }, uint8array: n, nodebuffer: function (t) { return r.newBufferFrom(t) } }, c.nodebuffer = { string: f, array: function (t) { return d(t, new Array(t.length)) }, arraybuffer: function (t) { return c.nodebuffer.uint8array(t).buffer }, uint8array: function (t) { return d(t, new Uint8Array(t.length)) }, nodebuffer: n }, a.transformTo = function (t, e) { if (e = e || "", !t) return e; a.checkSupport(t); var r = a.getTypeOf(e); return c[r][t](e) }, a.getTypeOf = function (t) { return "string" == typeof t ? "string" : "[object Array]" === Object.prototype.toString.call(t) ? "array" : o.nodebuffer && r.isBuffer(t) ? "nodebuffer" : o.uint8array && t instanceof Uint8Array ? "uint8array" : o.arraybuffer && t instanceof ArrayBuffer ? "arraybuffer" : void 0 }, a.checkSupport = function (t) { if (!o[t.toLowerCase()]) throw new Error(t + " is not supported by this platform") }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function (t) { var e, r, i = ""; for (r = 0; r < (t || "").length; r++)i += "\\x" + ((e = t.charCodeAt(r)) < 16 ? "0" : "") + e.toString(16).toUpperCase(); return i }, a.delay = function (t, e, r) { i(function () { t.apply(r || null, e || []) }) }, a.inherits = function (t, e) { function r() { } r.prototype = e.prototype, t.prototype = new r }, a.extend = function () { var t, e, r = {}; for (t = 0; t < arguments.length; t++)for (e in arguments[t]) arguments[t].hasOwnProperty(e) && void 0 === r[e] && (r[e] = arguments[t][e]); return r }, a.prepareContent = function (r, t, i, n, s) { return u.Promise.resolve(t).then(function (i) { return o.blob && (i instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(i))) && "undefined" != typeof FileReader ? new u.Promise(function (e, r) { var t = new FileReader; t.onload = function (t) { e(t.target.result) }, t.onerror = function (t) { r(t.target.error) }, t.readAsArrayBuffer(i) }) : i }).then(function (t) { var e = a.getTypeOf(t); return e ? ("arraybuffer" === e ? t = a.transformTo("uint8array", t) : "string" === e && (s ? t = h.decode(t) : i && !0 !== n && (t = function (t) { return l(t, o.uint8array ? new Uint8Array(t.length) : new Array(t.length)) }(t))), t) : u.Promise.reject(new Error("Can't read the data of '" + r + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")) }) }
}, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, "set-immediate-shim": 54 }], 33: [function (t, e, r) { "use strict"; function h(t) { this.files = [], this.loadOptions = t } var i = t("./reader/readerFor"), n = t("./utils"), s = t("./signature"), a = t("./zipEntry"), o = (t("./utf8"), t("./support")); h.prototype = { checkSignature: function (t) { if (!this.reader.readAndCheckSignature(t)) { this.reader.index -= 4; var e = this.reader.readString(4); throw new Error("Corrupted zip or bug: unexpected signature (" + n.pretty(e) + ", expected " + n.pretty(t) + ")") } }, isSignature: function (t, e) { var r = this.reader.index; this.reader.setIndex(t); var i = this.reader.readString(4) === e; return this.reader.setIndex(r), i }, readBlockEndOfCentral: function () { this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); var t = this.reader.readData(this.zipCommentLength), e = o.uint8array ? "uint8array" : "array", r = n.transformTo(e, t); this.zipComment = this.loadOptions.decodeFileName(r) }, readBlockZip64EndOfCentral: function () { this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; for (var t, e, r, i = this.zip64EndOfCentralSize - 44; i > 0;)t = this.reader.readInt(2), e = this.reader.readInt(4), r = this.reader.readData(e), this.zip64ExtensibleData[t] = { id: t, length: e, value: r } }, readBlockZip64EndOfCentralLocator: function () { if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported") }, readLocalFiles: function () { var t, e; for (t = 0; t < this.files.length; t++)e = this.files[t], this.reader.setIndex(e.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), e.readLocalPart(this.reader), e.handleUTF8(), e.processAttributes() }, readCentralDir: function () { var t; for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(t); if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length) }, readEndOfCentral: function () { var t = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); if (0 > t) throw this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Corrupted zip: can't find end of central directory") : new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"); this.reader.setIndex(t); var e = t; if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === n.MAX_VALUE_16BITS || this.diskWithCentralDirStart === n.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === n.MAX_VALUE_16BITS || this.centralDirRecords === n.MAX_VALUE_16BITS || this.centralDirSize === n.MAX_VALUE_32BITS || this.centralDirOffset === n.MAX_VALUE_32BITS) { if (this.zip64 = !0, (t = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); if (this.reader.setIndex(t), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral() } var r = this.centralDirOffset + this.centralDirSize; this.zip64 && (r += 20, r += 12 + this.zip64EndOfCentralSize); var i = e - r; if (i > 0) this.isSignature(e, s.CENTRAL_FILE_HEADER) || (this.reader.zero = i); else if (0 > i) throw new Error("Corrupted zip: missing " + Math.abs(i) + " bytes.") }, prepareReader: function (t) { this.reader = i(t) }, load: function (t) { this.prepareReader(t), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles() } }, e.exports = h }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utf8": 31, "./utils": 32, "./zipEntry": 34 }], 34: [function (t, e, r) { "use strict"; function l(t, e) { this.options = t, this.loadOptions = e } var i = t("./reader/readerFor"), s = t("./utils"), n = t("./compressedObject"), a = t("./crc32"), o = t("./utf8"), h = t("./compressions"), u = t("./support"); l.prototype = { isEncrypted: function () { return 1 == (1 & this.bitFlag) }, useUTF8: function () { return 2048 == (2048 & this.bitFlag) }, readLocalPart: function (t) { var e, r; if (t.skip(22), this.fileNameLength = t.readInt(2), r = t.readInt(2), this.fileName = t.readData(this.fileNameLength), t.skip(r), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)"); if (null === (e = function (t) { for (var e in h) if (h.hasOwnProperty(e) && h[e].magic === t) return h[e]; return null }(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); this.decompressed = new n(this.compressedSize, this.uncompressedSize, this.crc32, e, t.readData(this.compressedSize)) }, readCentralPart: function (t) { this.versionMadeBy = t.readInt(2), t.skip(2), this.bitFlag = t.readInt(2), this.compressionMethod = t.readString(2), this.date = t.readDate(), this.crc32 = t.readInt(4), this.compressedSize = t.readInt(4), this.uncompressedSize = t.readInt(4); var e = t.readInt(2); if (this.extraFieldsLength = t.readInt(2), this.fileCommentLength = t.readInt(2), this.diskNumberStart = t.readInt(2), this.internalFileAttributes = t.readInt(2), this.externalFileAttributes = t.readInt(4), this.localHeaderOffset = t.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); t.skip(e), this.readExtraFields(t), this.parseZIP64ExtraField(t), this.fileComment = t.readData(this.fileCommentLength) }, processAttributes: function () { this.unixPermissions = null, this.dosPermissions = null; var t = this.versionMadeBy >> 8; this.dir = !!(16 & this.externalFileAttributes), 0 == t && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == t && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = !0) }, parseZIP64ExtraField: function (t) { if (this.extraFields[1]) { var e = i(this.extraFields[1].value); this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e.readInt(4)) } }, readExtraFields: function (t) { var e, r, i, n = t.index + this.extraFieldsLength; for (this.extraFields || (this.extraFields = {}); t.index + 4 < n;)e = t.readInt(2), r = t.readInt(2), i = t.readData(r), this.extraFields[e] = { id: e, length: r, value: i }; t.setIndex(n) }, handleUTF8: function () { var t = u.uint8array ? "uint8array" : "array"; if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); else { var e = this.findExtraFieldUnicodePath(); if (null !== e) this.fileNameStr = e; else { var r = s.transformTo(t, this.fileName); this.fileNameStr = this.loadOptions.decodeFileName(r) } var i = this.findExtraFieldUnicodeComment(); if (null !== i) this.fileCommentStr = i; else { var n = s.transformTo(t, this.fileComment); this.fileCommentStr = this.loadOptions.decodeFileName(n) } } }, findExtraFieldUnicodePath: function () { var t = this.extraFields[28789]; if (t) { var e = i(t.value); return 1 !== e.readInt(1) ? null : a(this.fileName) !== e.readInt(4) ? null : o.utf8decode(e.readData(t.length - 5)) } return null }, findExtraFieldUnicodeComment: function () { var t = this.extraFields[25461]; if (t) { var e = i(t.value); return 1 !== e.readInt(1) ? null : a(this.fileComment) !== e.readInt(4) ? null : o.utf8decode(e.readData(t.length - 5)) } return null } }, e.exports = l }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function (t, e, r) { "use strict"; function i(t, e, r) { this.name = t, this.dir = r.dir, this.date = r.date, this.comment = r.comment, this.unixPermissions = r.unixPermissions, this.dosPermissions = r.dosPermissions, this._data = e, this._dataBinary = r.binary, this.options = { compression: r.compression, compressionOptions: r.compressionOptions } } var s = t("./stream/StreamHelper"), n = t("./stream/DataWorker"), a = t("./utf8"), o = t("./compressedObject"), h = t("./stream/GenericWorker"); i.prototype = { internalStream: function (t) { var e = null, r = "string"; try { if (!t) throw new Error("No output type specified."); var i = "string" === (r = t.toLowerCase()) || "text" === r; "binarystring" !== r && "text" !== r || (r = "string"), e = this._decompressWorker(); var n = !this._dataBinary; n && !i && (e = e.pipe(new a.Utf8EncodeWorker)), !n && i && (e = e.pipe(new a.Utf8DecodeWorker)) } catch (t) { (e = new h("error")).error(t) } return new s(e, r, "") }, async: function (t, e) { return this.internalStream(t).accumulate(e) }, nodeStream: function (t, e) { return this.internalStream(t || "nodebuffer").toNodejsStream(e) }, _compressWorker: function (t, e) { if (this._data instanceof o && this._data.compression.magic === t.magic) return this._data.getCompressedWorker(); var r = this._decompressWorker(); return this._dataBinary || (r = r.pipe(new a.Utf8EncodeWorker)), o.createWorkerFrom(r, t, e) }, _decompressWorker: function () { return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new n(this._data) } }; for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function () { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") }, f = 0; f < u.length; f++)i.prototype[u[f]] = l; e.exports = i }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function (t, l, e) { (function (e) { "use strict"; function u() { var t, e; i = !0; for (var r = h.length; r;) { for (e = h, h = [], t = -1; ++t < r;)e[t](); r = h.length } i = !1 } var r, i, t = e.MutationObserver || e.WebKitMutationObserver; if (t) { var n = 0, s = new t(u), a = e.document.createTextNode(""); s.observe(a, { characterData: !0 }), r = function () { a.data = n = ++n % 2 } } else if (e.setImmediate || void 0 === e.MessageChannel) r = "document" in e && "onreadystatechange" in e.document.createElement("script") ? function () { var t = e.document.createElement("script"); t.onreadystatechange = function () { u(), t.onreadystatechange = null, t.parentNode.removeChild(t), t = null }, e.document.documentElement.appendChild(t) } : function () { setTimeout(u, 0) }; else { var o = new e.MessageChannel; o.port1.onmessage = u, r = function () { o.port2.postMessage(0) } } var h = []; l.exports = function (t) { 1 !== h.push(t) || i || r() } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 37: [function (t, e, r) { "use strict"; function u() { } function o(t) { if ("function" != typeof t) throw new TypeError("resolver must be a function"); this.state = i, this.queue = [], this.outcome = void 0, t !== u && c(this, t) } function h(t, e, r) { this.promise = t, "function" == typeof e && (this.onFulfilled = e, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r && (this.onRejected = r, this.callRejected = this.otherCallRejected) } function f(e, r, i) { n(function () { var t; try { t = r(i) } catch (t) { return l.reject(e, t) } t === e ? l.reject(e, new TypeError("Cannot resolve promise with itself")) : l.resolve(e, t) }) } function d(t) { var e = t && t.then; return !t || "object" != typeof t && "function" != typeof t || "function" != typeof e ? void 0 : function () { e.apply(t, arguments) } } function c(e, t) { function i(t) { r || (r = !0, l.reject(e, t)) } function n(t) { r || (r = !0, l.resolve(e, t)) } var r = !1, s = p(function () { t(n, i) }); "error" === s.status && i(s.value) } function p(t, e) { var r = {}; try { r.value = t(e), r.status = "success" } catch (t) { r.status = "error", r.value = t } return r } var n = t("immediate"), l = {}, s = ["REJECTED"], a = ["FULFILLED"], i = ["PENDING"]; (e.exports = o).prototype["finally"] = function (e) { if ("function" != typeof e) return this; var r = this.constructor; return this.then(function (t) { return r.resolve(e()).then(function () { return t }) }, function (t) { return r.resolve(e()).then(function () { throw t }) }) }, o.prototype["catch"] = function (t) { return this.then(null, t) }, o.prototype.then = function (t, e) { if ("function" != typeof t && this.state === a || "function" != typeof e && this.state === s) return this; var r = new this.constructor(u); return this.state !== i ? f(r, this.state === a ? t : e, this.outcome) : this.queue.push(new h(r, t, e)), r }, h.prototype.callFulfilled = function (t) { l.resolve(this.promise, t) }, h.prototype.otherCallFulfilled = function (t) { f(this.promise, this.onFulfilled, t) }, h.prototype.callRejected = function (t) { l.reject(this.promise, t) }, h.prototype.otherCallRejected = function (t) { f(this.promise, this.onRejected, t) }, l.resolve = function (t, e) { var r = p(d, e); if ("error" === r.status) return l.reject(t, r.value); var i = r.value; if (i) c(t, i); else { t.state = a, t.outcome = e; for (var n = -1, s = t.queue.length; ++n < s;)t.queue[n].callFulfilled(e) } return t }, l.reject = function (t, e) { t.state = s, t.outcome = e; for (var r = -1, i = t.queue.length; ++r < i;)t.queue[r].callRejected(e); return t }, o.resolve = function (t) { return t instanceof this ? t : l.resolve(new this(u), t) }, o.reject = function (t) { var e = new this(u); return l.reject(e, t) }, o.all = function (t) { function h(t, e) { r.resolve(t).then(function (t) { s[e] = t, ++a !== i || n || (n = !0, l.resolve(o, s)) }, function (t) { n || (n = !0, l.reject(o, t)) }) } var r = this; if ("[object Array]" !== Object.prototype.toString.call(t)) return this.reject(new TypeError("must be an array")); var i = t.length, n = !1; if (!i) return this.resolve([]); for (var s = new Array(i), a = 0, e = -1, o = new this(u); ++e < i;)h(t[e], e); return o }, o.race = function (t) { var e = this; if ("[object Array]" !== Object.prototype.toString.call(t)) return this.reject(new TypeError("must be an array")); var r = t.length, i = !1; if (!r) return this.resolve([]); for (var n = -1, s = new this(u); ++n < r;)a = t[n], e.resolve(a).then(function (t) { i || (i = !0, l.resolve(s, t)) }, function (t) { i || (i = !0, l.reject(s, t)) }); var a; return s } }, { immediate: 36 }], 38: [function (t, e, r) { "use strict"; var i = {}; t("./lib/utils/common").assign(i, t("./lib/deflate"), t("./lib/inflate"), t("./lib/zlib/constants")), e.exports = i }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function (t, e, r) { "use strict"; function p(t) { if (!(this instanceof p)) return new p(t); this.options = o.assign({ level: f, method: c, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: d, to: "" }, t || {}); var e = this.options; e.raw && 0 < e.windowBits ? e.windowBits = -e.windowBits : e.gzip && 0 < e.windowBits && e.windowBits < 16 && (e.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new s, this.strm.avail_out = 0; var r = a.deflateInit2(this.strm, e.level, e.method, e.windowBits, e.memLevel, e.strategy); if (r !== l) throw new Error(n[r]); if (e.header && a.deflateSetHeader(this.strm, e.header), e.dictionary) { var i; if (i = "string" == typeof e.dictionary ? h.string2buf(e.dictionary) : "[object ArrayBuffer]" === u.call(e.dictionary) ? new Uint8Array(e.dictionary) : e.dictionary, (r = a.deflateSetDictionary(this.strm, i)) !== l) throw new Error(n[r]); this._dict_set = !0 } } function i(t, e) { var r = new p(e); if (r.push(t, !0), r.err) throw r.msg || n[r.err]; return r.result } var a = t("./zlib/deflate"), o = t("./utils/common"), h = t("./utils/strings"), n = t("./zlib/messages"), s = t("./zlib/zstream"), u = Object.prototype.toString, l = 0, f = -1, d = 0, c = 8; p.prototype.push = function (t, e) { var r, i, n = this.strm, s = this.options.chunkSize; if (this.ended) return !1; i = e === ~~e ? e : !0 === e ? 4 : 0, "string" == typeof t ? n.input = h.string2buf(t) : "[object ArrayBuffer]" === u.call(t) ? n.input = new Uint8Array(t) : n.input = t, n.next_in = 0, n.avail_in = n.input.length; do { if (0 === n.avail_out && (n.output = new o.Buf8(s), n.next_out = 0, n.avail_out = s), 1 !== (r = a.deflate(n, i)) && r !== l) return this.onEnd(r), !(this.ended = !0); 0 !== n.avail_out && (0 !== n.avail_in || 4 !== i && 2 !== i) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(n.output, n.next_out))) : this.onData(o.shrinkBuf(n.output, n.next_out))) } while ((0 < n.avail_in || 0 === n.avail_out) && 1 !== r); return 4 === i ? (r = a.deflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === l) : 2 !== i || (this.onEnd(l), !(n.avail_out = 0)) }, p.prototype.onData = function (t) { this.chunks.push(t) }, p.prototype.onEnd = function (t) { t === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg }, r.Deflate = p, r.deflate = i, r.deflateRaw = function (t, e) { return (e = e || {}).raw = !0, i(t, e) }, r.gzip = function (t, e) { return (e = e || {}).gzip = !0, i(t, e) } }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function (t, e, r) { "use strict"; function a(t) { if (!(this instanceof a)) return new a(t); this.options = c.assign({ chunkSize: 16384, windowBits: 0, to: "" }, t || {}); var e = this.options; e.raw && 0 <= e.windowBits && e.windowBits < 16 && (e.windowBits = -e.windowBits, 0 === e.windowBits && (e.windowBits = -15)), !(0 <= e.windowBits && e.windowBits < 16) || t && t.windowBits || (e.windowBits += 32), 15 < e.windowBits && e.windowBits < 48 && 0 == (15 & e.windowBits) && (e.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new n, this.strm.avail_out = 0; var r = d.inflateInit2(this.strm, e.windowBits); if (r !== m.Z_OK) throw new Error(i[r]); this.header = new s, d.inflateGetHeader(this.strm, this.header) } function o(t, e) { var r = new a(e); if (r.push(t, !0), r.err) throw r.msg || i[r.err]; return r.result } var d = t("./zlib/inflate"), c = t("./utils/common"), p = t("./utils/strings"), m = t("./zlib/constants"), i = t("./zlib/messages"), n = t("./zlib/zstream"), s = t("./zlib/gzheader"), _ = Object.prototype.toString; a.prototype.push = function (t, e) { var r, i, n, s, a, o, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = !1; if (this.ended) return !1; i = e === ~~e ? e : !0 === e ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof t ? h.input = p.binstring2buf(t) : "[object ArrayBuffer]" === _.call(t) ? h.input = new Uint8Array(t) : h.input = t, h.next_in = 0, h.avail_in = h.input.length; do { if (0 === h.avail_out && (h.output = new c.Buf8(u), h.next_out = 0, h.avail_out = u), (r = d.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r = d.inflateSetDictionary(this.strm, o)), r === m.Z_BUF_ERROR && !0 === f && (r = m.Z_OK, f = !1), r !== m.Z_STREAM_END && r !== m.Z_OK) return this.onEnd(r), !(this.ended = !0); h.next_out && (0 !== h.avail_out && r !== m.Z_STREAM_END && (0 !== h.avail_in || i !== m.Z_FINISH && i !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (n = p.utf8border(h.output, h.next_out), s = h.next_out - n, a = p.buf2string(h.output, n), h.next_out = s, h.avail_out = u - s, s && c.arraySet(h.output, h.output, n, s, 0), this.onData(a)) : this.onData(c.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = !0) } while ((0 < h.avail_in || 0 === h.avail_out) && r !== m.Z_STREAM_END); return r === m.Z_STREAM_END && (i = m.Z_FINISH), i === m.Z_FINISH ? (r = d.inflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === m.Z_OK) : i !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)) }, a.prototype.onData = function (t) { this.chunks.push(t) }, a.prototype.onEnd = function (t) { t === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = c.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg }, r.Inflate = a, r.inflate = o, r.inflateRaw = function (t, e) { return (e = e || {}).raw = !0, o(t, e) }, r.ungzip = o }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function (t, e, r) { "use strict"; var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; r.assign = function (t) { for (var e = Array.prototype.slice.call(arguments, 1); e.length;) { var r = e.shift(); if (r) { if ("object" != typeof r) throw new TypeError(r + "must be non-object"); for (var i in r) r.hasOwnProperty(i) && (t[i] = r[i]) } } return t }, r.shrinkBuf = function (t, e) { return t.length === e ? t : t.subarray ? t.subarray(0, e) : (t.length = e, t) }; var n = { arraySet: function (t, e, r, i, n) { if (e.subarray && t.subarray) t.set(e.subarray(r, r + i), n); else for (var s = 0; i > s; s++)t[n + s] = e[r + s] }, flattenChunks: function (t) { var e, r, i, n, s, a; for (e = i = 0, r = t.length; r > e; e++)i += t[e].length; for (a = new Uint8Array(i), e = n = 0, r = t.length; r > e; e++)s = t[e], a.set(s, n), n += s.length; return a } }, s = { arraySet: function (t, e, r, i, n) { for (var s = 0; i > s; s++)t[n + s] = e[r + s] }, flattenChunks: function (t) { return [].concat.apply([], t) } }; r.setTyped = function (t) { t ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, n)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)) }, r.setTyped(i) }, {}], 42: [function (t, e, r) { "use strict"; function l(t, e) { if (65537 > e && (t.subarray && s || !t.subarray && n)) return String.fromCharCode.apply(null, h.shrinkBuf(t, e)); for (var r = "", i = 0; e > i; i++)r += String.fromCharCode(t[i]); return r } var h = t("./common"), n = !0, s = !0; try { String.fromCharCode.apply(null, [0]) } catch (t) { n = !1 } try { String.fromCharCode.apply(null, new Uint8Array(1)) } catch (t) { s = !1 } for (var u = new h.Buf8(256), i = 0; 256 > i; i++)u[i] = i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1; u[254] = u[254] = 1, r.string2buf = function (t) { var e, r, i, n, s, a = t.length, o = 0; for (n = 0; a > n; n++)55296 == (64512 & (r = t.charCodeAt(n))) && a > n + 1 && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), o += 128 > r ? 1 : 2048 > r ? 2 : 65536 > r ? 3 : 4; for (e = new h.Buf8(o), n = s = 0; o > s; n++)55296 == (64512 & (r = t.charCodeAt(n))) && a > n + 1 && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), 128 > r ? e[s++] = r : (2048 > r ? e[s++] = 192 | r >>> 6 : (65536 > r ? e[s++] = 224 | r >>> 12 : (e[s++] = 240 | r >>> 18, e[s++] = 128 | r >>> 12 & 63), e[s++] = 128 | r >>> 6 & 63), e[s++] = 128 | 63 & r); return e }, r.buf2binstring = function (t) { return l(t, t.length) }, r.binstring2buf = function (t) { for (var e = new h.Buf8(t.length), r = 0, i = e.length; i > r; r++)e[r] = t.charCodeAt(r); return e }, r.buf2string = function (t, e) { var r, i, n, s, a = e || t.length, o = new Array(2 * a); for (r = i = 0; a > r;)if ((n = t[r++]) < 128) o[i++] = n; else if (4 < (s = u[n])) o[i++] = 65533, r += s - 1; else { for (n &= 2 === s ? 31 : 3 === s ? 15 : 7; s > 1 && a > r;)n = n << 6 | 63 & t[r++], s--; s > 1 ? o[i++] = 65533 : 65536 > n ? o[i++] = n : (n -= 65536, o[i++] = 55296 | n >> 10 & 1023, o[i++] = 56320 | 1023 & n) } return l(o, i) }, r.utf8border = function (t, e) { var r; for ((e = e || t.length) > t.length && (e = t.length), r = e - 1; r >= 0 && 128 == (192 & t[r]);)r--; return 0 > r ? e : 0 === r ? e : r + u[t[r]] > e ? r : e } }, { "./common": 41 }], 43: [function (t, e, r) { "use strict"; e.exports = function (t, e, r, i) { for (var n = 65535 & t | 0, s = t >>> 16 & 65535 | 0, a = 0; 0 !== r;) { for (r -= a = r > 2e3 ? 2e3 : r; s = s + (n = n + e[i++] | 0) | 0, --a;); n %= 65521, s %= 65521 } return n | s << 16 | 0 } }, {}], 44: [function (t, e, r) { "use strict"; e.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 } }, {}], 45: [function (t, e, r) { "use strict"; var o = function () { for (var t, e = [], r = 0; 256 > r; r++) { t = r; for (var i = 0; 8 > i; i++)t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1; e[r] = t } return e }(); e.exports = function (t, e, r, i) { var n = o, s = i + r; t ^= -1; for (var a = i; s > a; a++)t = t >>> 8 ^ n[255 & (t ^ e[a])]; return -1 ^ t } }, {}], 46: [function (t, e, r) {
"use strict"; function R(t, e) { return t.msg = i[e], e } function T(t) { return (t << 1) - (t > 4 ? 9 : 0) } function D(t) { for (var e = t.length; 0 <= --e;)t[e] = 0 } function F(t) { var e = t.state, r = e.pending; r > t.avail_out && (r = t.avail_out), 0 !== r && (d.arraySet(t.output, e.pending_buf, e.pending_out, r, t.next_out), t.next_out += r, e.pending_out += r, t.total_out += r, t.avail_out -= r, e.pending -= r, 0 === e.pending && (e.pending_out = 0)) } function N(t, e) { u._tr_flush_block(t, 0 <= t.block_start ? t.block_start : -1, t.strstart - t.block_start, e), t.block_start = t.strstart, F(t.strm) } function U(t, e) { t.pending_buf[t.pending++] = e } function P(t, e) { t.pending_buf[t.pending++] = e >>> 8 & 255, t.pending_buf[t.pending++] = 255 & e } function L(t, e) { var r, i, n = t.max_chain_length, s = t.strstart, a = t.prev_length, o = t.nice_match, h = t.strstart > t.w_size - z ? t.strstart - (t.w_size - z) : 0, u = t.window, l = t.w_mask, f = t.prev, d = t.strstart + S, c = u[s + a - 1], p = u[s + a]; t.prev_length >= t.good_match && (n >>= 2), o > t.lookahead && (o = t.lookahead); do if (u[(r = e) + a] === p && u[r + a - 1] === c && u[r] === u[s] && u[++r] === u[s + 1]) { s += 2, r++; do; while (u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && d > s); if (i = S - (d - s), s = d - S, i > a) { if (t.match_start = e, o <= (a = i)) break; c = u[s + a - 1], p = u[s + a] } } while ((e = f[e & l]) > h && 0 != --n); return a <= t.lookahead ? a : t.lookahead } function j(t) { var e, r, i, n, s, a, o, h, u, l, f = t.w_size; do { if (n = t.window_size - t.lookahead - t.strstart, t.strstart >= f + (f - z)) { for (d.arraySet(t.window, t.window, f, f, 0), t.match_start -= f, t.strstart -= f, t.block_start -= f, e = r = t.hash_size; i = t.head[--e], t.head[e] = i >= f ? i - f : 0, --r;); for (e = r = f; i = t.prev[--e], t.prev[e] = i >= f ? i - f : 0, --r;); n += f } if (0 === t.strm.avail_in) break; if (a = t.strm, o = t.window, h = t.strstart + t.lookahead, u = n, l = void 0, l = a.avail_in, l > u && (l = u), r = 0 === l ? 0 : (a.avail_in -= l, d.arraySet(o, a.input, a.next_in, l, h), 1 === a.state.wrap ? a.adler = c(a.adler, o, l, h) : 2 === a.state.wrap && (a.adler = p(a.adler, o, l, h)), a.next_in += l, a.total_in += l, l), t.lookahead += r, t.lookahead + t.insert >= x) for (s = t.strstart - t.insert, t.ins_h = t.window[s], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[s + 1]) & t.hash_mask; t.insert && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[s + x - 1]) & t.hash_mask, t.prev[s & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = s, s++, t.insert--, !(t.lookahead + t.insert < x));); } while (t.lookahead < z && 0 !== t.strm.avail_in) } function Z(t, e) { for (var r, i; ;) { if (t.lookahead < z) { if (j(t), t.lookahead < z && e === l) return A; if (0 === t.lookahead) break } if (r = 0, t.lookahead >= x && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 !== r && t.strstart - r <= t.w_size - z && (t.match_length = L(t, r)), t.match_length >= x) if (i = u._tr_tally(t, t.strstart - t.match_start, t.match_length - x), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= x) { for (t.match_length--; t.strstart++, t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart, 0 != --t.match_length;); t.strstart++ } else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + 1]) & t.hash_mask; else i = u._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++; if (i && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = t.strstart < x - 1 ? t.strstart : x - 1, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I } function W(t, e) { for (var r, i, n; ;) { if (t.lookahead < z) { if (j(t), t.lookahead < z && e === l) return A; if (0 === t.lookahead) break } if (r = 0, t.lookahead >= x && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = x - 1, 0 !== r && t.prev_length < t.max_lazy_match && t.strstart - r <= t.w_size - z && (t.match_length = L(t, r), t.match_length <= 5 && (1 === t.strategy || t.match_length === x && 4096 < t.strstart - t.match_start) && (t.match_length = x - 1)), t.prev_length >= x && t.match_length <= t.prev_length) { for (n = t.strstart + t.lookahead - x, i = u._tr_tally(t, t.strstart - 1 - t.prev_match, t.prev_length - x), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; ++t.strstart <= n && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 != --t.prev_length;); if (t.match_available = 0, t.match_length = x - 1, t.strstart++, i && (N(t, !1), 0 === t.strm.avail_out)) return A } else if (t.match_available) { if ((i = u._tr_tally(t, 0, t.window[t.strstart - 1])) && N(t, !1), t.strstart++, t.lookahead--, 0 === t.strm.avail_out) return A } else t.match_available = 1, t.strstart++, t.lookahead-- } return t.match_available && (i = u._tr_tally(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < x - 1 ? t.strstart : x - 1, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I } function M(t, e, r, i, n) {
this.good_length = t, this.max_lazy = e, this.nice_length = r, this.max_chain = i, this.func = n
} function H() { this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new d.Buf16(2 * w), this.dyn_dtree = new d.Buf16(2 * (2 * a + 1)), this.bl_tree = new d.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new d.Buf16(k + 1), this.heap = new d.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new d.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0 } function G(t) { var e; return t && t.state ? (t.total_in = t.total_out = 0, t.data_type = n, (e = t.state).pending = 0, e.pending_out = 0, e.wrap < 0 && (e.wrap = -e.wrap), e.status = e.wrap ? C : E, t.adler = 2 === e.wrap ? 0 : 1, e.last_flush = l, u._tr_init(e), m) : R(t, _) } function K(t) { var e = G(t); return e === m && function (t) { t.window_size = 2 * t.w_size, D(t.head), t.max_lazy_match = h[t.level].max_lazy, t.good_match = h[t.level].good_length, t.nice_match = h[t.level].nice_length, t.max_chain_length = h[t.level].max_chain, t.strstart = 0, t.block_start = 0, t.lookahead = 0, t.insert = 0, t.match_length = t.prev_length = x - 1, t.match_available = 0, t.ins_h = 0 }(t.state), e } function Y(t, e, r, i, n, s) { if (!t) return _; var a = 1; if (e === g && (e = 6), 0 > i ? (a = 0, i = -i) : i > 15 && (a = 2, i -= 16), 1 > n || n > y || r !== v || 8 > i || i > 15 || 0 > e || e > 9 || 0 > s || s > b) return R(t, _); 8 === i && (i = 9); var o = new H; return (t.state = o).strm = t, o.wrap = a, o.gzhead = null, o.w_bits = i, o.w_size = 1 << o.w_bits, o.w_mask = o.w_size - 1, o.hash_bits = n + 7, o.hash_size = 1 << o.hash_bits, o.hash_mask = o.hash_size - 1, o.hash_shift = ~~((o.hash_bits + x - 1) / x), o.window = new d.Buf8(2 * o.w_size), o.head = new d.Buf16(o.hash_size), o.prev = new d.Buf16(o.w_size), o.lit_bufsize = 1 << n + 6, o.pending_buf_size = 4 * o.lit_bufsize, o.pending_buf = new d.Buf8(o.pending_buf_size), o.d_buf = 1 * o.lit_bufsize, o.l_buf = 3 * o.lit_bufsize, o.level = e, o.strategy = s, o.method = r, K(t) } var h, d = t("../utils/common"), u = t("./trees"), c = t("./adler32"), p = t("./crc32"), i = t("./messages"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, n = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; h = [new M(0, 0, 0, 0, function (t, e) { var r = 65535; for (r > t.pending_buf_size - 5 && (r = t.pending_buf_size - 5); ;) { if (t.lookahead <= 1) { if (j(t), 0 === t.lookahead && e === l) return A; if (0 === t.lookahead) break } t.strstart += t.lookahead, t.lookahead = 0; var i = t.block_start + r; if ((0 === t.strstart || t.strstart >= i) && (t.lookahead = t.strstart - i, t.strstart = i, N(t, !1), 0 === t.strm.avail_out)) return A; if (t.strstart - t.block_start >= t.w_size - z && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = 0, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : (t.strstart > t.block_start && (N(t, !1), t.strm.avail_out), A) }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function (t, e) { return Y(t, e, v, 15, 8, 0) }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function (t, e) { return t && t.state ? 2 !== t.state.wrap ? _ : (t.state.gzhead = e, m) : _ }, r.deflate = function (t, e) { var r, i, n, s; if (!t || !t.state || e > 5 || 0 > e) return t ? R(t, _) : _; if (i = t.state, !t.output || !t.input && 0 !== t.avail_in || 666 === i.status && e !== f) return R(t, 0 === t.avail_out ? -5 : _); if (i.strm = t, r = i.last_flush, i.last_flush = e, i.status === C) if (2 === i.wrap) t.adler = 0, U(i, 31), U(i, 139), U(i, 8), i.gzhead ? (U(i, (i.gzhead.text ? 1 : 0) + (i.gzhead.hcrc ? 2 : 0) + (i.gzhead.extra ? 4 : 0) + (i.gzhead.name ? 8 : 0) + (i.gzhead.comment ? 16 : 0)), U(i, 255 & i.gzhead.time), U(i, i.gzhead.time >> 8 & 255), U(i, i.gzhead.time >> 16 & 255), U(i, i.gzhead.time >> 24 & 255), U(i, 9 === i.level ? 2 : 2 <= i.strategy || i.level < 2 ? 4 : 0), U(i, 255 & i.gzhead.os), i.gzhead.extra && i.gzhead.extra.length && (U(i, 255 & i.gzhead.extra.length), U(i, i.gzhead.extra.length >> 8 & 255)), i.gzhead.hcrc && (t.adler = p(t.adler, i.pending_buf, i.pending, 0)), i.gzindex = 0, i.status = 69) : (U(i, 0), U(i, 0), U(i, 0), U(i, 0), U(i, 0), U(i, 9 === i.level ? 2 : 2 <= i.strategy || i.level < 2 ? 4 : 0), U(i, 3), i.status = E); else { var a = v + (i.w_bits - 8 << 4) << 8; a |= (2 <= i.strategy || i.level < 2 ? 0 : i.level < 6 ? 1 : 6 === i.level ? 2 : 3) << 6, 0 !== i.strstart && (a |= 32), a += 31 - a % 31, i.status = E, P(i, a), 0 !== i.strstart && (P(i, t.adler >>> 16), P(i, 65535 & t.adler)), t.adler = 1 } if (69 === i.status) if (i.gzhead.extra) { for (n = i.pending; i.gzindex < (65535 & i.gzhead.extra.length) && (i.pending !== i.pending_buf_size || (i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), F(t), n = i.pending, i.pending !== i.pending_buf_size));)U(i, 255 & i.gzhead.extra[i.gzindex]), i.gzindex++; i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), i.gzindex === i.gzhead.extra.length && (i.gzindex = 0, i.status = 73) } else i.status = 73; if (73 === i.status) if (i.gzhead.name) { n = i.pending; do { if (i.pending === i.pending_buf_size && (i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), F(t), n = i.pending, i.pending === i.pending_buf_size)) { s = 1; break } s = i.gzindex < i.gzhead.name.length ? 255 & i.gzhead.name.charCodeAt(i.gzindex++) : 0, U(i, s) } while (0 !== s); i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), 0 === s && (i.gzindex = 0, i.status = 91) } else i.status = 91; if (91 === i.status) if (i.gzhead.comment) { n = i.pending; do { if (i.pending === i.pending_buf_size && (i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), F(t), n = i.pending, i.pending === i.pending_buf_size)) { s = 1; break } s = i.gzindex < i.gzhead.comment.length ? 255 & i.gzhead.comment.charCodeAt(i.gzindex++) : 0, U(i, s) } while (0 !== s); i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), 0 === s && (i.status = 103) } else i.status = 103; if (103 === i.status && (i.gzhead.hcrc ? (i.pending + 2 > i.pending_buf_size && F(t), i.pending + 2 <= i.pending_buf_size && (U(i, 255 & t.adler), U(i, t.adler >> 8 & 255), t.adler = 0, i.status = E)) : i.status = E), 0 !== i.pending) { if (F(t), 0 === t.avail_out) return i.last_flush = -1, m } else if (0 === t.avail_in && T(e) <= T(r) && e !== f) return R(t, -5); if (666 === i.status && 0 !== t.avail_in) return R(t, -5); if (0 !== t.avail_in || 0 !== i.lookahead || e !== l && 666 !== i.status) { var o = 2 === i.strategy ? function (t, e) { for (var r; ;) { if (0 === t.lookahead && (j(t), 0 === t.lookahead)) { if (e === l) return A; break } if (t.match_length = 0, r = u._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++, r && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = 0, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I }(i, e) : 3 === i.strategy ? function (t, e) { for (var r, i, n, s, a = t.window; ;) { if (t.lookahead <= S) { if (j(t), t.lookahead <= S && e === l) return A; if (0 === t.lookahead) break } if (t.match_length = 0, t.lookahead >= x && 0 < t.strstart && (i = a[n = t.strstart - 1]) === a[++n] && i === a[++n] && i === a[++n]) { s = t.strstart + S; do; while (i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && s > n); t.match_length = S - (s - n), t.match_length > t.lookahead && (t.match_length = t.lookahead) } if (t.match_length >= x ? (r = u._tr_tally(t, 1, t.match_length - x), t.lookahead -= t.match_length, t.strstart += t.match_length, t.match_length = 0) : (r = u._tr_tally(t, 0, t.window[t.strstart]), t.lookahead--, t.strstart++), r && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = 0, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I }(i, e) : h[i.level].func(i, e); if (o !== O && o !== B || (i.status = 666), o === A || o === O) return 0 === t.avail_out && (i.last_flush = -1), m; if (o === I && (1 === e ? u._tr_align(i) : 5 !== e && (u._tr_stored_block(i, 0, 0, !1), 3 === e && (D(i.head), 0 === i.lookahead && (i.strstart = 0, i.block_start = 0, i.insert = 0))), F(t), 0 === t.avail_out)) return i.last_flush = -1, m } return e !== f ? m : i.wrap <= 0 ? 1 : (2 === i.wrap ? (U(i, 255 & t.adler), U(i, t.adler >> 8 & 255), U(i, t.adler >> 16 & 255), U(i, t.adler >> 24 & 255), U(i, 255 & t.total_in), U(i, t.total_in >> 8 & 255), U(i, t.total_in >> 16 & 255), U(i, t.total_in >> 24 & 255)) : (P(i, t.adler >>> 16), P(i, 65535 & t.adler)), F(t), 0 < i.wrap && (i.wrap = -i.wrap), 0 !== i.pending ? m : 1) }, r.deflateEnd = function (t) { var e; return t && t.state ? (e = t.state.status) !== C && 69 !== e && 73 !== e && 91 !== e && 103 !== e && e !== E && 666 !== e ? R(t, _) : (t.state = null, e === E ? R(t, -3) : m) : _ }, r.deflateSetDictionary = function (t, e) { var r, i, n, s, a, o, h, u, l = e.length; if (!t || !t.state) return _; if (2 === (s = (r = t.state).wrap) || 1 === s && r.status !== C || r.lookahead) return _; for (1 === s && (t.adler = c(t.adler, e, l, 0)), r.wrap = 0, l >= r.w_size && (0 === s && (D(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0), u = new d.Buf8(r.w_size), d.arraySet(u, e, l - r.w_size, r.w_size, 0), e = u, l = r.w_size), a = t.avail_in, o = t.next_in, h = t.input, t.avail_in = l, t.next_in = 0, t.input = e, j(r); r.lookahead >= x;) { for (i = r.strstart, n = r.lookahead - (x - 1); r.ins_h = (r.ins_h << r.hash_shift ^ r.window[i + x - 1]) & r.hash_mask, r.prev[i & r.w_mask] = r.head[r.ins_h], r.head[r.ins_h] = i, i++, --n;); r.strstart = i, r.lookahead = x - 1, j(r) } return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = x - 1, r.match_available = 0, t.next_in = o, t.input = h, t.avail_in = a, r.wrap = s, m }, r.deflateInfo = "pako deflate (from Nodeca project)"
}, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function (t, e, r) { "use strict"; e.exports = function () { this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1 } }, {}], 48: [function (t, e, r) { "use strict"; e.exports = function (t, e) { var r, i, n, s, a, o, h, u, l, f, d, c, p, m, _, g, b, v, y, w, k, x, S, z, C; r = t.state, i = t.next_in, z = t.input, n = i + (t.avail_in - 5), s = t.next_out, C = t.output, a = s - (e - t.avail_out), o = s + (t.avail_out - 257), h = r.dmax, u = r.wsize, l = r.whave, f = r.wnext, d = r.window, c = r.hold, p = r.bits, m = r.lencode, _ = r.distcode, g = (1 << r.lenbits) - 1, b = (1 << r.distbits) - 1; t: do { 15 > p && (c += z[i++] << p, p += 8, c += z[i++] << p, p += 8), v = m[c & g]; e: for (; ;) { if (c >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v; else { if (!(16 & y)) { if (0 == (64 & y)) { v = m[(65535 & v) + (c & (1 << y) - 1)]; continue e } if (32 & y) { r.mode = 12; break t } t.msg = "invalid literal/length code", r.mode = 30; break t } w = 65535 & v, (y &= 15) && (y > p && (c += z[i++] << p, p += 8), w += c & (1 << y) - 1, c >>>= y, p -= y), 15 > p && (c += z[i++] << p, p += 8, c += z[i++] << p, p += 8), v = _[c & b]; r: for (; ;) { if (c >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { if (0 == (64 & y)) { v = _[(65535 & v) + (c & (1 << y) - 1)]; continue r } t.msg = "invalid distance code", r.mode = 30; break t } if (k = 65535 & v, p < (y &= 15) && (c += z[i++] << p, (p += 8) < y && (c += z[i++] << p, p += 8)), h < (k += c & (1 << y) - 1)) { t.msg = "invalid distance too far back", r.mode = 30; break t } if (c >>>= y, p -= y, (y = s - a) < k) { if (l < (y = k - y) && r.sane) { t.msg = "invalid distance too far back", r.mode = 30; break t } if (S = d, (x = 0) === f) { if (x += u - y, w > y) { for (w -= y; C[s++] = d[x++], --y;); x = s - k, S = C } } else if (y > f) { if (x += u + f - y, (y -= f) < w) { for (w -= y; C[s++] = d[x++], --y;); if (x = 0, w > f) { for (w -= y = f; C[s++] = d[x++], --y;); x = s - k, S = C } } } else if (x += f - y, w > y) { for (w -= y; C[s++] = d[x++], --y;); x = s - k, S = C } for (; w > 2;)C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; w && (C[s++] = S[x++], w > 1 && (C[s++] = S[x++])) } else { for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3);); w && (C[s++] = C[x++], w > 1 && (C[s++] = C[x++])) } break } } break } } while (n > i && o > s); i -= w = p >> 3, c &= (1 << (p -= w << 3)) - 1, t.next_in = i, t.next_out = s, t.avail_in = n > i ? n - i + 5 : 5 - (i - n), t.avail_out = o > s ? o - s + 257 : 257 - (s - o), r.hold = c, r.bits = p } }, {}], 49: [function (t, e, r) { "use strict"; function L(t) { return (t >>> 24 & 255) + (t >>> 8 & 65280) + ((65280 & t) << 8) + ((255 & t) << 24) } function s() { this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0 } function a(t) { var e; return t && t.state ? (e = t.state, t.total_in = t.total_out = e.total = 0, t.msg = "", e.wrap && (t.adler = 1 & e.wrap), e.mode = P, e.last = 0, e.havedict = 0, e.dmax = 32768, e.head = null, e.hold = 0, e.bits = 0, e.lencode = e.lendyn = new I.Buf32(i), e.distcode = e.distdyn = new I.Buf32(n), e.sane = 1, e.back = -1, N) : U } function o(t) { var e; return t && t.state ? ((e = t.state).wsize = 0, e.whave = 0, e.wnext = 0, a(t)) : U } function h(t, e) { var r, i; return t && t.state ? (i = t.state, 0 > e ? (r = 0, e = -e) : (r = 1 + (e >> 4), 48 > e && (e &= 15)), e && (8 > e || e > 15) ? U : (null !== i.window && i.wbits !== e && (i.window = null), i.wrap = r, i.wbits = e, o(t))) : U } function u(t, e) { var r, i; return t ? (i = new s, (t.state = i).window = null, (r = h(t, e)) !== N && (t.state = null), r) : U } function j(t) { if (d) { var e; for (l = new I.Buf32(512), f = new I.Buf32(32), e = 0; 144 > e;)t.lens[e++] = 8; for (; 256 > e;)t.lens[e++] = 9; for (; 280 > e;)t.lens[e++] = 7; for (; 288 > e;)t.lens[e++] = 8; for (T(D, t.lens, 0, 288, l, 0, t.work, { bits: 9 }), e = 0; 32 > e;)t.lens[e++] = 5; T(F, t.lens, 0, 32, f, 0, t.work, { bits: 5 }), d = !1 } t.lencode = l, t.lenbits = 9, t.distcode = f, t.distbits = 5 } function Z(t, e, r, i) { var n, s = t.state; return null === s.window && (s.wsize = 1 << s.wbits, s.wnext = 0, s.whave = 0, s.window = new I.Buf8(s.wsize)), i >= s.wsize ? (I.arraySet(s.window, e, r - s.wsize, s.wsize, 0), s.wnext = 0, s.whave = s.wsize) : (i < (n = s.wsize - s.wnext) && (n = i), I.arraySet(s.window, e, r - i, n, s.wnext), (i -= n) ? (I.arraySet(s.window, e, r - i, i, 0), s.wnext = i, s.whave = s.wsize) : (s.wnext += n, s.wnext === s.wsize && (s.wnext = 0), s.whave < s.wsize && (s.whave += n))), 0 } var l, f, I = t("../utils/common"), O = t("./adler32"), B = t("./crc32"), R = t("./inffast"), T = t("./inftrees"), D = 1, F = 2, N = 0, U = -2, P = 1, i = 852, n = 592, d = !0; r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function (t) { return u(t, 15) }, r.inflateInit2 = u, r.inflate = function (t, e) { var r, i, n, s, a, o, h, u, l, f, d, c, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; if (!t || !t.state || !t.output || !t.input && 0 !== t.avail_in) return U; 12 === (r = t.state).mode && (r.mode = 13), a = t.next_out, n = t.output, h = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, u = r.hold, l = r.bits, f = o, d = h, x = N; t: for (; ;)switch (r.mode) { case P: if (0 === r.wrap) { r.mode = 13; break } for (; 16 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (2 & r.wrap && 35615 === u) { E[r.check = 0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0), l = u = 0, r.mode = 2; break } if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & u) << 8) + (u >> 8)) % 31) { t.msg = "incorrect header check", r.mode = 30; break } if (8 != (15 & u)) { t.msg = "unknown compression method", r.mode = 30; break } if (l -= 4, k = 8 + (15 & (u >>>= 4)), 0 === r.wbits) r.wbits = k; else if (k > r.wbits) { t.msg = "invalid window size", r.mode = 30; break } r.dmax = 1 << k, t.adler = r.check = 1, r.mode = 512 & u ? 10 : 12, l = u = 0; break; case 2: for (; 16 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (r.flags = u, 8 != (255 & r.flags)) { t.msg = "unknown compression method", r.mode = 30; break } if (57344 & r.flags) { t.msg = "unknown header flags set", r.mode = 30; break } r.head && (r.head.text = u >> 8 & 1), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0, r.mode = 3; case 3: for (; 32 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } r.head && (r.head.time = u), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, E[2] = u >>> 16 & 255, E[3] = u >>> 24 & 255, r.check = B(r.check, E, 4, 0)), l = u = 0, r.mode = 4; case 4: for (; 16 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } r.head && (r.head.xflags = 255 & u, r.head.os = u >> 8), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0, r.mode = 5; case 5: if (1024 & r.flags) { for (; 16 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } r.length = u, r.head && (r.head.extra_len = u), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0 } else r.head && (r.head.extra = null); r.mode = 6; case 6: if (1024 & r.flags && (o < (c = r.length) && (c = o), c && (r.head && (k = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), I.arraySet(r.head.extra, i, s, c, k)), 512 & r.flags && (r.check = B(r.check, i, c, s)), o -= c, s += c, r.length -= c), r.length)) break t; r.length = 0, r.mode = 7; case 7: if (2048 & r.flags) { if (0 === o) break t; for (c = 0; k = i[s + c++], r.head && k && r.length < 65536 && (r.head.name += String.fromCharCode(k)), k && o > c;); if (512 & r.flags && (r.check = B(r.check, i, c, s)), o -= c, s += c, k) break t } else r.head && (r.head.name = null); r.length = 0, r.mode = 8; case 8: if (4096 & r.flags) { if (0 === o) break t; for (c = 0; k = i[s + c++], r.head && k && r.length < 65536 && (r.head.comment += String.fromCharCode(k)), k && o > c;); if (512 & r.flags && (r.check = B(r.check, i, c, s)), o -= c, s += c, k) break t } else r.head && (r.head.comment = null); r.mode = 9; case 9: if (512 & r.flags) { for (; 16 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (u !== (65535 & r.check)) { t.msg = "header crc mismatch", r.mode = 30; break } l = u = 0 } r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), t.adler = r.check = 0, r.mode = 12; break; case 10: for (; 32 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } t.adler = r.check = L(u), l = u = 0, r.mode = 11; case 11: if (0 === r.havedict) return t.next_out = a, t.avail_out = h, t.next_in = s, t.avail_in = o, r.hold = u, r.bits = l, 2; t.adler = r.check = 1, r.mode = 12; case 12: if (5 === e || 6 === e) break t; case 13: if (r.last) { u >>>= 7 & l, l -= 7 & l, r.mode = 27; break } for (; 3 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } switch (r.last = 1 & u, l -= 1, 3 & (u >>>= 1)) { case 0: r.mode = 14; break; case 1: if (j(r), r.mode = 20, 6 !== e) break; u >>>= 2, l -= 2; break t; case 2: r.mode = 17; break; case 3: t.msg = "invalid block type", r.mode = 30 }u >>>= 2, l -= 2; break; case 14: for (u >>>= 7 & l, l -= 7 & l; 32 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if ((65535 & u) != (u >>> 16 ^ 65535)) { t.msg = "invalid stored block lengths", r.mode = 30; break } if (r.length = 65535 & u, l = u = 0, r.mode = 15, 6 === e) break t; case 15: r.mode = 16; case 16: if (c = r.length) { if (c > o && (c = o), c > h && (c = h), 0 === c) break t; I.arraySet(n, i, s, c, a), o -= c, s += c, h -= c, a += c, r.length -= c; break } r.mode = 12; break; case 17: for (; 14 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (r.nlen = 257 + (31 & u), u >>>= 5, l -= 5, r.ndist = 1 + (31 & u), u >>>= 5, l -= 5, r.ncode = 4 + (15 & u), u >>>= 4, l -= 4, 286 < r.nlen || 30 < r.ndist) { t.msg = "too many length or distance symbols", r.mode = 30; break } r.have = 0, r.mode = 18; case 18: for (; r.have < r.ncode;) { for (; 3 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } r.lens[A[r.have++]] = 7 & u, u >>>= 3, l -= 3 } for (; r.have < 19;)r.lens[A[r.have++]] = 0; if (r.lencode = r.lendyn, r.lenbits = 7, S = { bits: r.lenbits }, x = T(0, r.lens, 0, 19, r.lencode, 0, r.work, S), r.lenbits = S.bits, x) { t.msg = "invalid code lengths set", r.mode = 30; break } r.have = 0, r.mode = 19; case 19: for (; r.have < r.nlen + r.ndist;) { for (; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (16 > b) u >>>= _, l -= _, r.lens[r.have++] = b; else { if (16 === b) { for (z = _ + 2; z > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (u >>>= _, l -= _, 0 === r.have) { t.msg = "invalid bit length repeat", r.mode = 30; break } k = r.lens[r.have - 1], c = 3 + (3 & u), u >>>= 2, l -= 2 } else if (17 === b) { for (z = _ + 3; z > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } l -= _, k = 0, c = 3 + (7 & (u >>>= _)), u >>>= 3, l -= 3 } else { for (z = _ + 7; z > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } l -= _, k = 0, c = 11 + (127 & (u >>>= _)), u >>>= 7, l -= 7 } if (r.have + c > r.nlen + r.ndist) { t.msg = "invalid bit length repeat", r.mode = 30; break } for (; c--;)r.lens[r.have++] = k } } if (30 === r.mode) break; if (0 === r.lens[256]) { t.msg = "invalid code -- missing end-of-block", r.mode = 30; break } if (r.lenbits = 9, S = { bits: r.lenbits }, x = T(D, r.lens, 0, r.nlen, r.lencode, 0, r.work, S), r.lenbits = S.bits, x) { t.msg = "invalid literal/lengths set", r.mode = 30; break } if (r.distbits = 6, r.distcode = r.distdyn, S = { bits: r.distbits }, x = T(F, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, S), r.distbits = S.bits, x) { t.msg = "invalid distances set", r.mode = 30; break } if (r.mode = 20, 6 === e) break t; case 20: r.mode = 21; case 21: if (o >= 6 && h >= 258) { t.next_out = a, t.avail_out = h, t.next_in = s, t.avail_in = o, r.hold = u, r.bits = l, R(t, d), a = t.next_out, n = t.output, h = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, u = r.hold, l = r.bits, 12 === r.mode && (r.back = -1); break } for (r.back = 0; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (g && 0 == (240 & g)) { for (v = _, y = g, w = b; g = (C = r.lencode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l);) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } u >>>= v, l -= v, r.back += v } if (u >>>= _, l -= _, r.back += _, r.length = b, 0 === g) { r.mode = 26; break } if (32 & g) { r.back = -1, r.mode = 12; break } if (64 & g) { t.msg = "invalid literal/length code", r.mode = 30; break } r.extra = 15 & g, r.mode = 22; case 22: if (r.extra) { for (z = r.extra; z > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } r.length += u & (1 << r.extra) - 1, u >>>= r.extra, l -= r.extra, r.back += r.extra } r.was = r.length, r.mode = 23; case 23: for (; g = (C = r.distcode[u & (1 << r.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (0 == (240 & g)) { for (v = _, y = g, w = b; g = (C = r.distcode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l);) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } u >>>= v, l -= v, r.back += v } if (u >>>= _, l -= _, r.back += _, 64 & g) { t.msg = "invalid distance code", r.mode = 30; break } r.offset = b, r.extra = 15 & g, r.mode = 24; case 24: if (r.extra) { for (z = r.extra; z > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } r.offset += u & (1 << r.extra) - 1, u >>>= r.extra, l -= r.extra, r.back += r.extra } if (r.offset > r.dmax) { t.msg = "invalid distance too far back", r.mode = 30; break } r.mode = 25; case 25: if (0 === h) break t; if (c = d - h, r.offset > c) { if ((c = r.offset - c) > r.whave && r.sane) { t.msg = "invalid distance too far back", r.mode = 30; break } p = c > r.wnext ? (c -= r.wnext, r.wsize - c) : r.wnext - c, c > r.length && (c = r.length), m = r.window } else m = n, p = a - r.offset, c = r.length; for (c > h && (c = h), h -= c, r.length -= c; n[a++] = m[p++], --c;); 0 === r.length && (r.mode = 21); break; case 26: if (0 === h) break t; n[a++] = r.length, h--, r.mode = 21; break; case 27: if (r.wrap) { for (; 32 > l;) { if (0 === o) break t; o--, u |= i[s++] << l, l += 8 } if (d -= h, t.total_out += d, r.total += d, d && (t.adler = r.check = r.flags ? B(r.check, n, d, a - d) : O(r.check, n, d, a - d)), d = h, (r.flags ? u : L(u)) !== r.check) { t.msg = "incorrect data check", r.mode = 30; break } l = u = 0 } r.mode = 28; case 28: if (r.wrap && r.flags) { for (; 32 > l;) { if (0 === o) break t; o--, u += i[s++] << l, l += 8 } if (u !== (4294967295 & r.total)) { t.msg = "incorrect length check", r.mode = 30; break } l = u = 0 } r.mode = 29; case 29: x = 1; break t; case 30: x = -3; break t; case 31: return -4; case 32: default: return U }return t.next_out = a, t.avail_out = h, t.next_in = s, t.avail_in = o, r.hold = u, r.bits = l, (r.wsize || d !== t.avail_out && r.mode < 30 && (r.mode < 27 || 4 !== e)) && Z(t, t.output, t.next_out, d - t.avail_out) ? (r.mode = 31, -4) : (f -= t.avail_in, d -= t.avail_out, t.total_in += f, t.total_out += d, r.total += d, r.wrap && d && (t.adler = r.check = r.flags ? B(r.check, n, d, t.next_out - d) : O(r.check, n, d, t.next_out - d)), t.data_type = r.bits + (r.last ? 64 : 0) + (12 === r.mode ? 128 : 0) + (20 === r.mode || 15 === r.mode ? 256 : 0), (0 == f && 0 === d || 4 === e) && x === N && (x = -5), x) }, r.inflateEnd = function (t) { if (!t || !t.state) return U; var e = t.state; return e.window && (e.window = null), t.state = null, N }, r.inflateGetHeader = function (t, e) { var r; return t && t.state ? 0 == (2 & (r = t.state).wrap) ? U : ((r.head = e).done = !1, N) : U }, r.inflateSetDictionary = function (t, e) { var r, i = e.length; return t && t.state ? 0 !== (r = t.state).wrap && 11 !== r.mode ? U : 11 === r.mode && O(1, e, i, 0) !== r.check ? -3 : Z(t, e, i, i) ? (r.mode = 31, -4) : (r.havedict = 1, N) : U }, r.inflateInfo = "pako inflate (from Nodeca project)" }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function (t, e, r) { "use strict"; var D = t("../utils/common"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; e.exports = function (t, e, r, i, n, s, a, o) { var h, u, l, f, d, c, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; for (b = 0; 15 >= b; b++)O[b] = 0; for (v = 0; i > v; v++)O[e[r + v]]++; for (k = g, w = 15; w >= 1 && 0 === O[w]; w--); if (k > w && (k = w), 0 === w) return n[s++] = 20971520, n[s++] = 20971520, o.bits = 1, 0; for (y = 1; w > y && 0 === O[y]; y++); for (y > k && (k = y), b = z = 1; 15 >= b; b++)if (z <<= 1, (z -= O[b]) < 0) return -1; if (z > 0 && (0 === t || 1 !== w)) return -1; for (B[1] = 0, b = 1; 15 > b; b++)B[b + 1] = B[b] + O[b]; for (v = 0; i > v; v++)0 !== e[r + v] && (a[B[e[r + v]]++] = v); if (c = 0 === t ? (A = R = a, 19) : 1 === t ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, d = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === t && C > 852 || 2 === t && C > 592) return 1; for (; ;) { for (p = b - S, _ = a[v] < c ? (m = 0, a[v]) : a[v] > c ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; n[d + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u;); for (h = 1 << b - 1; E & h;)h >>= 1; if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++, 0 == --O[b]) { if (b === w) break; b = e[r + a[v]] } if (b > k && (E & f) !== l) { for (0 === S && (S = k), d += y, z = 1 << (x = b - S); w > x + S && !((z -= O[x + S]) <= 0);)x++, z <<= 1; if (C += 1 << x, 1 === t && C > 852 || 2 === t && C > 592) return 1; n[l = E & f] = k << 24 | x << 16 | d - s | 0 } } return 0 !== E && (n[d + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0 } }, { "../utils/common": 41 }], 51: [function (t, e, r) { "use strict"; e.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" } }, {}], 52: [function (t, e, r) { "use strict"; function i(t) { for (var e = t.length; 0 <= --e;)t[e] = 0 } function D(t, e, r, i, n) { this.static_tree = t, this.extra_bits = e, this.extra_base = r, this.elems = i, this.max_length = n, this.has_stree = t && t.length } function F(t, e) { this.dyn_tree = t, this.max_code = 0, this.stat_desc = e } function N(t) { return 256 > t ? E[t] : E[256 + (t >>> 7)] } function U(t, e) { t.pending_buf[t.pending++] = 255 & e, t.pending_buf[t.pending++] = e >>> 8 & 255 } function P(t, e, r) { t.bi_valid > c - r ? (t.bi_buf |= e << t.bi_valid & 65535, U(t, t.bi_buf), t.bi_buf = e >> c - t.bi_valid, t.bi_valid += r - c) : (t.bi_buf |= e << t.bi_valid & 65535, t.bi_valid += r) } function L(t, e, r) { P(t, r[2 * e], r[2 * e + 1]) } function j(t, e) { for (var r = 0; r |= 1 & t, t >>>= 1, r <<= 1, 0 < --e;); return r >>> 1 } function Z(t, e, r) { var i, n, s = new Array(g + 1), a = 0; for (i = 1; g >= i; i++)s[i] = a = a + r[i - 1] << 1; for (n = 0; e >= n; n++) { var o = t[2 * n + 1]; 0 !== o && (t[2 * n] = j(s[o]++, o)) } } function W(t) { var e; for (e = 0; l > e; e++)t.dyn_ltree[2 * e] = 0; for (e = 0; f > e; e++)t.dyn_dtree[2 * e] = 0; for (e = 0; d > e; e++)t.bl_tree[2 * e] = 0; t.dyn_ltree[2 * m] = 1, t.opt_len = t.static_len = 0, t.last_lit = t.matches = 0 } function M(t) { 8 < t.bi_valid ? U(t, t.bi_buf) : 0 < t.bi_valid && (t.pending_buf[t.pending++] = t.bi_buf), t.bi_buf = 0, t.bi_valid = 0 } function H(t, e, r, i) { var n = 2 * e, s = 2 * r; return t[n] < t[s] || t[n] === t[s] && i[e] <= i[r] } function G(t, e, r) { for (var i = t.heap[r], n = r << 1; n <= t.heap_len && (n < t.heap_len && H(e, t.heap[n + 1], t.heap[n], t.depth) && n++, !H(e, i, t.heap[n], t.depth));)t.heap[r] = t.heap[n], r = n, n <<= 1; t.heap[r] = i } function K(t, e, r) { var i, n, s, a, o = 0; if (0 !== t.last_lit) for (; i = t.pending_buf[t.d_buf + 2 * o] << 8 | t.pending_buf[t.d_buf + 2 * o + 1], n = t.pending_buf[t.l_buf + o], o++, 0 === i ? L(t, n, e) : (L(t, (s = A[n]) + u + 1, e), 0 !== (a = w[s]) && P(t, n -= I[s], a), L(t, s = N(--i), r), 0 !== (a = k[s]) && P(t, i -= T[s], a)), o < t.last_lit;); L(t, m, e) } function Y(t, e) { var r, i, n, s = e.dyn_tree, a = e.stat_desc.static_tree, o = e.stat_desc.has_stree, h = e.stat_desc.elems, u = -1; for (t.heap_len = 0, t.heap_max = _, r = 0; h > r; r++)0 !== s[2 * r] ? (t.heap[++t.heap_len] = u = r, t.depth[r] = 0) : s[2 * r + 1] = 0; for (; t.heap_len < 2;)s[2 * (n = t.heap[++t.heap_len] = 2 > u ? ++u : 0)] = 1, t.depth[n] = 0, t.opt_len--, o && (t.static_len -= a[2 * n + 1]); for (e.max_code = u, r = t.heap_len >> 1; r >= 1; r--)G(t, s, r); for (n = h; r = t.heap[1], t.heap[1] = t.heap[t.heap_len--], G(t, s, 1), i = t.heap[1], t.heap[--t.heap_max] = r, t.heap[--t.heap_max] = i, s[2 * n] = s[2 * r] + s[2 * i], t.depth[n] = (t.depth[r] >= t.depth[i] ? t.depth[r] : t.depth[i]) + 1, s[2 * r + 1] = s[2 * i + 1] = n, t.heap[1] = n++, G(t, s, 1), 2 <= t.heap_len;); t.heap[--t.heap_max] = t.heap[1], function (t, e) { var r, i, n, s, a, o, h = e.dyn_tree, u = e.max_code, l = e.stat_desc.static_tree, f = e.stat_desc.has_stree, d = e.stat_desc.extra_bits, c = e.stat_desc.extra_base, p = e.stat_desc.max_length, m = 0; for (s = 0; g >= s; s++)t.bl_count[s] = 0; for (h[2 * t.heap[t.heap_max] + 1] = 0, r = t.heap_max + 1; _ > r; r++)p < (s = h[2 * h[2 * (i = t.heap[r]) + 1] + 1] + 1) && (s = p, m++), h[2 * i + 1] = s, i > u || (t.bl_count[s]++, a = 0, i >= c && (a = d[i - c]), o = h[2 * i], t.opt_len += o * (s + a), f && (t.static_len += o * (l[2 * i + 1] + a))); if (0 !== m) { do { for (s = p - 1; 0 === t.bl_count[s];)s--; t.bl_count[s]--, t.bl_count[s + 1] += 2, t.bl_count[p]--, m -= 2 } while (m > 0); for (s = p; 0 !== s; s--)for (i = t.bl_count[s]; 0 !== i;)u < (n = t.heap[--r]) || (h[2 * n + 1] !== s && (t.opt_len += (s - h[2 * n + 1]) * h[2 * n], h[2 * n + 1] = s), i--) } }(t, e), Z(s, u, t.bl_count) } function X(t, e, r) { var i, n, s = -1, a = e[1], o = 0, h = 7, u = 4; for (0 === a && (h = 138, u = 3), e[2 * (r + 1) + 1] = 65535, i = 0; r >= i; i++)n = a, a = e[2 * (i + 1) + 1], ++o < h && n === a || (u > o ? t.bl_tree[2 * n] += o : 0 !== n ? (n !== s && t.bl_tree[2 * n]++, t.bl_tree[2 * b]++) : 10 >= o ? t.bl_tree[2 * v]++ : t.bl_tree[2 * y]++, s = n, u = (o = 0) === a ? (h = 138, 3) : n === a ? (h = 6, 3) : (h = 7, 4)) } function V(t, e, r) { var i, n, s = -1, a = e[1], o = 0, h = 7, u = 4; for (0 === a && (h = 138, u = 3), i = 0; r >= i; i++)if (n = a, a = e[2 * (i + 1) + 1], !(++o < h && n === a)) { if (u > o) for (; L(t, n, t.bl_tree), 0 != --o;); else 0 !== n ? (n !== s && (L(t, n, t.bl_tree), o--), L(t, b, t.bl_tree), P(t, o - 3, 2)) : 10 >= o ? (L(t, v, t.bl_tree), P(t, o - 3, 3)) : (L(t, y, t.bl_tree), P(t, o - 11, 7)); s = n, u = (o = 0) === a ? (h = 138, 3) : n === a ? (h = 6, 3) : (h = 7, 4) } } function J(t, e, r, i) { P(t, (s << 1) + (i ? 1 : 0), 3), function (t, e, r, i) { M(t), i && (U(t, r), U(t, ~r)), n.arraySet(t.pending_buf, t.window, e, r, t.pending), t.pending += r }(t, e, r, !0) } var n = t("../utils/common"), o = 0, h = 1, s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, d = 19, _ = 2 * l + 1, g = 15, c = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l + 2)); i(z); var C = new Array(2 * f); i(C); var E = new Array(512); i(E); var A = new Array(256); i(A); var I = new Array(a); i(I); var O, B, R, T = new Array(f); i(T); var q = !1; r._tr_init = function (t) { q || (function () { var t, e, r, i, n, s = new Array(g + 1); for (i = r = 0; a - 1 > i; i++)for (I[i] = r, t = 0; t < 1 << w[i]; t++)A[r++] = i; for (A[r - 1] = i, i = n = 0; 16 > i; i++)for (T[i] = n, t = 0; t < 1 << k[i]; t++)E[n++] = i; for (n >>= 7; f > i; i++)for (T[i] = n << 7, t = 0; t < 1 << k[i] - 7; t++)E[256 + n++] = i; for (e = 0; g >= e; e++)s[e] = 0; for (t = 0; 143 >= t;)z[2 * t + 1] = 8, t++, s[8]++; for (; 255 >= t;)z[2 * t + 1] = 9, t++, s[9]++; for (; 279 >= t;)z[2 * t + 1] = 7, t++, s[7]++; for (; 287 >= t;)z[2 * t + 1] = 8, t++, s[8]++; for (Z(z, l + 1, s), t = 0; f > t; t++)C[2 * t + 1] = 5, C[2 * t] = j(t, 5); O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, d, p) }(), q = !0), t.l_desc = new F(t.dyn_ltree, O), t.d_desc = new F(t.dyn_dtree, B), t.bl_desc = new F(t.bl_tree, R), t.bi_buf = 0, t.bi_valid = 0, W(t) }, r._tr_stored_block = J, r._tr_flush_block = function (t, e, r, i) { var n, s, a = 0; 0 < t.level ? (2 === t.strm.data_type && (t.strm.data_type = function (t) { var e, r = 4093624447; for (e = 0; 31 >= e; e++, r >>>= 1)if (1 & r && 0 !== t.dyn_ltree[2 * e]) return o; if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) return h; for (e = 32; u > e; e++)if (0 !== t.dyn_ltree[2 * e]) return h; return o }(t)), Y(t, t.l_desc), Y(t, t.d_desc), a = function (t) { var e; for (X(t, t.dyn_ltree, t.l_desc.max_code), X(t, t.dyn_dtree, t.d_desc.max_code), Y(t, t.bl_desc), e = d - 1; e >= 3 && 0 === t.bl_tree[2 * S[e] + 1]; e--); return t.opt_len += 3 * (e + 1) + 5 + 5 + 4, e }(t), n = t.opt_len + 3 + 7 >>> 3, (s = t.static_len + 3 + 7 >>> 3) <= n && (n = s)) : n = s = r + 5, n >= r + 4 && -1 !== e ? J(t, e, r, i) : 4 === t.strategy || s === n ? (P(t, 2 + (i ? 1 : 0), 3), K(t, z, C)) : (P(t, 4 + (i ? 1 : 0), 3), function (t, e, r, i) { var n; for (P(t, e - 257, 5), P(t, r - 1, 5), P(t, i - 4, 4), n = 0; i > n; n++)P(t, t.bl_tree[2 * S[n] + 1], 3); V(t, t.dyn_ltree, e - 1), V(t, t.dyn_dtree, r - 1) }(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, a + 1), K(t, t.dyn_ltree, t.dyn_dtree)), W(t), i && M(t) }, r._tr_tally = function (t, e, r) { return t.pending_buf[t.d_buf + 2 * t.last_lit] = e >>> 8 & 255, t.pending_buf[t.d_buf + 2 * t.last_lit + 1] = 255 & e, t.pending_buf[t.l_buf + t.last_lit] = 255 & r, t.last_lit++, 0 === e ? t.dyn_ltree[2 * r]++ : (t.matches++, e--, t.dyn_ltree[2 * (A[r] + u + 1)]++, t.dyn_dtree[2 * N(e)]++), t.last_lit === t.lit_bufsize - 1 }, r._tr_align = function (t) { P(t, 2, 3), L(t, m, z), function (t) { 16 === t.bi_valid ? (U(t, t.bi_buf), t.bi_buf = 0, t.bi_valid = 0) : 8 <= t.bi_valid && (t.pending_buf[t.pending++] = 255 & t.bi_buf, t.bi_buf >>= 8, t.bi_valid -= 8) }(t) } }, { "../utils/common": 41 }], 53: [function (t, e, r) { "use strict"; e.exports = function () { this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0 } }, {}], 54: [function (t, e, r) { "use strict"; e.exports = "function" == typeof setImmediate ? setImmediate : function () { var t = [].slice.apply(arguments); t.splice(1, 0, 0), setTimeout.apply(null, t) } }, {}]
}, {}, [10])(10)
})
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, require("buffer").Buffer)
}, { buffer: 83 }], 89: [function (require, module, exports) {
exports.Parser = require("./lib/parser").Parser, exports.rules = require("./lib/rules"), exports.errors = require("./lib/errors"), exports.results = require("./lib/parsing-results"), exports.StringSource = require("./lib/StringSource"), exports.Token = require("./lib/Token"), exports.bottomUp = require("./lib/bottom-up"), exports.RegexTokeniser = require("./lib/regex-tokeniser").RegexTokeniser,
exports.rule = function (ruleBuilder) { var rule; return function (input) { return rule || (rule = ruleBuilder()), rule(input) } }
}, { "./lib/StringSource": 90, "./lib/Token": 91, "./lib/bottom-up": 93, "./lib/errors": 94, "./lib/parser": 96, "./lib/parsing-results": 97, "./lib/regex-tokeniser": 98, "./lib/rules": 99 }], 90: [function (require, module, exports) { var util = require("util"), StringSourceRange = (module.exports = function (string, description) { var self = { asString: function () { return string }, range: function (startIndex, endIndex) { return new StringSourceRange(string, description, startIndex, endIndex) } }; return self }, function (string, description, startIndex, endIndex) { this._string = string, this._description = description, this._startIndex = startIndex, this._endIndex = endIndex }); StringSourceRange.prototype.to = function (otherRange) { return new StringSourceRange(this._string, this._description, this._startIndex, otherRange._endIndex) }, StringSourceRange.prototype.describe = function () { var position = this._position(), description = this._description ? this._description + "\n" : ""; return util.format("%sLine number: %s\nCharacter number: %s", description, position.lineNumber, position.characterNumber) }, StringSourceRange.prototype.lineNumber = function () { return this._position().lineNumber }, StringSourceRange.prototype.characterNumber = function () { return this._position().characterNumber }, StringSourceRange.prototype._position = function () { for (var self = this, index = 0, nextNewLine = function () { return self._string.indexOf("\n", index) }, lineNumber = 1; -1 !== nextNewLine() && nextNewLine() < this._startIndex;)index = nextNewLine() + 1, lineNumber += 1; var characterNumber = this._startIndex - index + 1; return { lineNumber: lineNumber, characterNumber: characterNumber } } }, { util: 106 }], 91: [function (require, module, exports) { module.exports = function (name, value, source) { this.name = name, this.value = value, source && (this.source = source) } }, {}], 92: [function (require, module, exports) { var TokenIterator = module.exports = function (tokens, startIndex) { this._tokens = tokens, this._startIndex = startIndex || 0 }; TokenIterator.prototype.head = function () { return this._tokens[this._startIndex] }, TokenIterator.prototype.tail = function (startIndex) { return new TokenIterator(this._tokens, this._startIndex + 1) }, TokenIterator.prototype.toArray = function () { return this._tokens.slice(this._startIndex) }, TokenIterator.prototype.end = function () { return this._tokens[this._tokens.length - 1] }, TokenIterator.prototype.to = function (end) { var start = this.head().source, endToken = end.head() || end.end(); return start.to(endToken.source) } }, {}], 93: [function (require, module, exports) { function InfixRules(infixRules) { function untilExclusive(name) { return new InfixRules(infixRules.slice(0, ruleNames().indexOf(name))) } function untilInclusive(name) { return new InfixRules(infixRules.slice(0, ruleNames().indexOf(name) + 1)) } function ruleNames() { return infixRules.map(function (rule) { return rule.name }) } function apply(leftResult) { for (var currentResult, source; ;) { if (currentResult = applyToTokens(leftResult.remaining()), !currentResult.isSuccess()) return currentResult.isFailure() ? leftResult : currentResult; source = leftResult.source().to(currentResult.source()), leftResult = results.success(currentResult.value()(leftResult.value(), source), currentResult.remaining(), source) } } function applyToTokens(tokens) { return rules.firstOf("infix", infixRules.map(function (infix) { return infix.rule }))(tokens) } return { apply: apply, untilExclusive: untilExclusive, untilInclusive: untilInclusive } } var rules = require("./rules"), results = require("./parsing-results"); exports.parser = function (name, prefixRules, infixRuleBuilders) { function createInfixRule(infixRuleBuilder) { return { name: infixRuleBuilder.name, rule: lazyRule(infixRuleBuilder.ruleBuilder.bind(null, self)) } } function rule() { return createRule(infixRules) } function leftAssociative(name) { return createRule(infixRules.untilExclusive(name)) } function rightAssociative(name) { return createRule(infixRules.untilInclusive(name)) } function createRule(infixRules) { return apply.bind(null, infixRules) } function apply(infixRules, tokens) { var leftResult = prefixRule(tokens); return leftResult.isSuccess() ? infixRules.apply(leftResult) : leftResult } var self = { rule: rule, leftAssociative: leftAssociative, rightAssociative: rightAssociative }, infixRules = new InfixRules(infixRuleBuilders.map(createInfixRule)), prefixRule = rules.firstOf(name, prefixRules); return self }, exports.infix = function (name, ruleBuilder) { function map(func) { return exports.infix(name, function (parser) { var rule = ruleBuilder(parser); return function (tokens) { var result = rule(tokens); return result.map(function (right) { return function (left, source) { return func(left, right, source) } }) } }) } return { name: name, ruleBuilder: ruleBuilder, map: map } }; var lazyRule = function (ruleBuilder) { var rule; return function (input) { return rule || (rule = ruleBuilder()), rule(input) } } }, { "./parsing-results": 97, "./rules": 99 }], 94: [function (require, module, exports) { exports.error = function (options) { return new Error(options) }; var Error = function (options) { this.expected = options.expected, this.actual = options.actual, this._location = options.location }; Error.prototype.describe = function () { var locationDescription = this._location ? this._location.describe() + ":\n" : ""; return locationDescription + "Expected " + this.expected + "\nbut got " + this.actual }, Error.prototype.lineNumber = function () { return this._location.lineNumber() }, Error.prototype.characterNumber = function () { return this._location.characterNumber() } }, {}], 95: [function (require, module, exports) { var LazyIterator = (exports.fromArray = function (array) { var index = 0, hasNext = function () { return index < array.length }; return new LazyIterator({ hasNext: hasNext, next: function () { if (hasNext()) return array[index++]; throw new Error("No more elements") } }) }, function (iterator) { this._iterator = iterator }); LazyIterator.prototype.map = function (func) { var iterator = this._iterator; return new LazyIterator({ hasNext: function () { return iterator.hasNext() }, next: function () { return func(iterator.next()) } }) }, LazyIterator.prototype.filter = function (condition) { var next, iterator = this._iterator, moved = !1, hasNext = !1, moveIfNecessary = function () { if (!moved) for (moved = !0, hasNext = !1; iterator.hasNext() && !hasNext;)next = iterator.next(), hasNext = condition(next) }; return new LazyIterator({ hasNext: function () { return moveIfNecessary(), hasNext }, next: function () { moveIfNecessary(); var toReturn = next; return moved = !1, toReturn } }) }, LazyIterator.prototype.first = function () { var iterator = this._iterator; return this._iterator.hasNext() ? iterator.next() : null }, LazyIterator.prototype.toArray = function () { for (var result = []; this._iterator.hasNext();)result.push(this._iterator.next()); return result } }, {}], 96: [function (require, module, exports) { var TokenIterator = require("./TokenIterator"); exports.Parser = function (options) { var parseTokens = function (parser, tokens) { return parser(new TokenIterator(tokens)) }; return { parseTokens: parseTokens } } }, { "./TokenIterator": 92 }], 97: [function (require, module, exports) { module.exports = { failure: function (errors, remaining) { if (errors.length < 1) throw new Error("Failure must have errors"); return new Result({ status: "failure", remaining: remaining, errors: errors }) }, error: function (errors, remaining) { if (errors.length < 1) throw new Error("Failure must have errors"); return new Result({ status: "error", remaining: remaining, errors: errors }) }, success: function (value, remaining, source) { return new Result({ status: "success", value: value, source: source, remaining: remaining, errors: [] }) }, cut: function (remaining) { return new Result({ status: "cut", remaining: remaining, errors: [] }) } }; var Result = function (options) { this._value = options.value, this._status = options.status, this._hasValue = void 0 !== options.value, this._remaining = options.remaining, this._source = options.source, this._errors = options.errors }; Result.prototype.map = function (func) { return this._hasValue ? new Result({ value: func(this._value, this._source), status: this._status, remaining: this._remaining, source: this._source, errors: this._errors }) : this }, Result.prototype.changeRemaining = function (remaining) { return new Result({ value: this._value, status: this._status, remaining: remaining, source: this._source, errors: this._errors }) }, Result.prototype.isSuccess = function () { return "success" === this._status || "cut" === this._status }, Result.prototype.isFailure = function () { return "failure" === this._status }, Result.prototype.isError = function () { return "error" === this._status }, Result.prototype.isCut = function () { return "cut" === this._status }, Result.prototype.value = function () { return this._value }, Result.prototype.remaining = function () { return this._remaining }, Result.prototype.source = function () { return this._source }, Result.prototype.errors = function () { return this._errors } }, {}], 98: [function (require, module, exports) { function RegexTokeniser(rules) { function tokenise(input, description) { for (var source = new StringSource(input, description), index = 0, tokens = []; index < input.length;) { var result = readNextToken(input, index, source); index = result.endIndex, tokens.push(result.token) } return tokens.push(endToken(input, source)), tokens } function readNextToken(string, startIndex, source) { for (var i = 0; i < rules.length; i++) { var regex = rules[i].regex; regex.lastIndex = startIndex; var result = regex.exec(string); if (result) { var endIndex = startIndex + result[0].length; if (result.index === startIndex && endIndex > startIndex) { var value = result[1], token = new Token(rules[i].name, value, source.range(startIndex, endIndex)); return { token: token, endIndex: endIndex } } } } var endIndex = startIndex + 1, token = new Token("unrecognisedCharacter", string.substring(startIndex, endIndex), source.range(startIndex, endIndex)); return { token: token, endIndex: endIndex } } function endToken(input, source) { return new Token("end", null, source.range(input.length, input.length)) } return rules = rules.map(function (rule) { return { name: rule.name, regex: new RegExp(rule.regex.source, "g") } }), { tokenise: tokenise } } var Token = require("./Token"), StringSource = require("./StringSource"); exports.RegexTokeniser = RegexTokeniser }, { "./StringSource": 90, "./Token": 91 }], 99: [function (require, module, exports) { function noOpRule(input) { return results.success(null, input) } function describeTokenMismatch(input, expected) { var error, token = input.head(); return error = token ? errors.error({ expected: expected, actual: describeToken(token), location: token.source }) : errors.error({ expected: expected, actual: "end of tokens" }), results.failure([error], input) } var _ = require("underscore"), options = require("option"), results = require("./parsing-results"), errors = require("./errors"), lazyIterators = require("./lazy-iterators"); exports.token = function (tokenType, value) { var matchValue = void 0 !== value; return function (input) { var token = input.head(); if (!token || token.name !== tokenType || matchValue && token.value !== value) { var expected = describeToken({ name: tokenType, value: value }); return describeTokenMismatch(input, expected) } return results.success(token.value, input.tail(), token.source) } }, exports.tokenOfType = function (tokenType) { return exports.token(tokenType) }, exports.firstOf = function (name, parsers) { return _.isArray(parsers) || (parsers = Array.prototype.slice.call(arguments, 1)), function (input) { return lazyIterators.fromArray(parsers).map(function (parser) { return parser(input) }).filter(function (result) { return result.isSuccess() || result.isError() }).first() || describeTokenMismatch(input, name) } }, exports.then = function (parser, func) { return function (input) { var result = parser(input); return result.map || console.log(result), result.map(func) } }, exports.sequence = function () { function isCapturedRule(subRule) { return subRule.isCaptured } var parsers = Array.prototype.slice.call(arguments, 0), rule = function (input) { var result = _.foldl(parsers, function (memo, parser) { var result = memo.result, hasCut = memo.hasCut; if (!result.isSuccess()) return { result: result, hasCut: hasCut }; var subResult = parser(result.remaining()); if (subResult.isCut()) return { result: result, hasCut: !0 }; if (subResult.isSuccess()) { var values; values = parser.isCaptured ? result.value().withValue(parser, subResult.value()) : result.value(); var remaining = subResult.remaining(), source = input.to(remaining); return { result: results.success(values, remaining, source), hasCut: hasCut } } return hasCut ? { result: results.error(subResult.errors(), subResult.remaining()), hasCut: hasCut } : { result: subResult, hasCut: hasCut } }, { result: results.success(new SequenceValues, input), hasCut: !1 }).result, source = input.to(result.remaining()); return result.map(function (values) { return values.withValue(exports.sequence.source, source) }) }; return rule.head = function () { var firstCapture = _.find(parsers, isCapturedRule); return exports.then(rule, exports.sequence.extract(firstCapture)) }, rule.map = function (func) { return exports.then(rule, function (result) { return func.apply(this, result.toArray()) }) }, rule }; var SequenceValues = function (values, valuesArray) { this._values = values || {}, this._valuesArray = valuesArray || [] }; SequenceValues.prototype.withValue = function (rule, value) { if (rule.captureName && rule.captureName in this._values) throw new Error('Cannot add second value for capture "' + rule.captureName + '"'); var newValues = _.clone(this._values); newValues[rule.captureName] = value; var newValuesArray = this._valuesArray.concat([value]); return new SequenceValues(newValues, newValuesArray) }, SequenceValues.prototype.get = function (rule) { if (rule.captureName in this._values) return this._values[rule.captureName]; throw new Error('No value for capture "' + rule.captureName + '"') }, SequenceValues.prototype.toArray = function () { return this._valuesArray }, exports.sequence.capture = function (rule, name) { var captureRule = function () { return rule.apply(this, arguments) }; return captureRule.captureName = name, captureRule.isCaptured = !0, captureRule }, exports.sequence.extract = function (rule) { return function (result) { return result.get(rule) } }, exports.sequence.applyValues = function (func) { var rules = Array.prototype.slice.call(arguments, 1); return function (result) { var values = rules.map(function (rule) { return result.get(rule) }); return func.apply(this, values) } }, exports.sequence.source = { captureName: "☃source☃" }, exports.sequence.cut = function () { return function (input) { return results.cut(input) } }, exports.optional = function (rule) { return function (input) { var result = rule(input); return result.isSuccess() ? result.map(options.some) : result.isFailure() ? results.success(options.none, input) : result } }, exports.zeroOrMoreWithSeparator = function (rule, separator) { return repeatedWithSeparator(rule, separator, !1) }, exports.oneOrMoreWithSeparator = function (rule, separator) { return repeatedWithSeparator(rule, separator, !0) }; var zeroOrMore = exports.zeroOrMore = function (rule) { return function (input) { for (var result, values = []; (result = rule(input)) && result.isSuccess();)input = result.remaining(), values.push(result.value()); return result.isError() ? result : results.success(values, input) } }; exports.oneOrMore = function (rule) { return exports.oneOrMoreWithSeparator(rule, noOpRule) }; var repeatedWithSeparator = function (rule, separator, isOneOrMore) { return function (input) { var result = rule(input); if (result.isSuccess()) { var mainRule = exports.sequence.capture(rule, "main"), remainingRule = zeroOrMore(exports.then(exports.sequence(separator, mainRule), exports.sequence.extract(mainRule))), remainingResult = remainingRule(result.remaining()); return results.success([result.value()].concat(remainingResult.value()), remainingResult.remaining()) } return isOneOrMore || result.isError() ? result : results.success([], input) } }; exports.leftAssociative = function (leftRule, rightRule, func) { var rights; rights = func ? [{ func: func, rule: rightRule }] : rightRule, rights = rights.map(function (right) { return exports.then(right.rule, function (rightValue) { return function (leftValue, source) { return right.func(leftValue, rightValue, source) } }) }); var repeatedRule = exports.firstOf.apply(null, ["rules"].concat(rights)); return function (input) { var start = input, leftResult = leftRule(input); if (!leftResult.isSuccess()) return leftResult; for (var repeatedResult = repeatedRule(leftResult.remaining()); repeatedResult.isSuccess();) { var remaining = repeatedResult.remaining(), source = start.to(repeatedResult.remaining()), right = repeatedResult.value(); leftResult = results.success(right(leftResult.value(), source), remaining, source), repeatedResult = repeatedRule(leftResult.remaining()) } return repeatedResult.isError() ? repeatedResult : leftResult } }, exports.leftAssociative.firstOf = function () { return Array.prototype.slice.call(arguments, 0) }, exports.nonConsuming = function (rule) { return function (input) { return rule(input).changeRemaining(input) } }; var describeToken = function (token) { return token.value ? token.name + ' "' + token.value + '"' : token.name } }, { "./errors": 94, "./lazy-iterators": 95, "./parsing-results": 97, option: 100, underscore: 103 }], 100: [function (require, module, exports) { function callOrReturn(value) { return "function" == typeof value ? value() : value } exports.none = Object.create({ value: function () { throw new Error("Called value on none") }, isNone: function () { return !0 }, isSome: function () { return !1 }, map: function () { return exports.none }, flatMap: function () { return exports.none }, filter: function () { return exports.none }, toArray: function () { return [] }, orElse: callOrReturn, valueOrElse: callOrReturn }), exports.some = function (value) { return new Some(value) }; var Some = function (value) { this._value = value }; Some.prototype.value = function () { return this._value }, Some.prototype.isNone = function () { return !1 }, Some.prototype.isSome = function () { return !0 }, Some.prototype.map = function (func) { return new Some(func(this._value)) }, Some.prototype.flatMap = function (func) { return func(this._value) }, Some.prototype.filter = function (predicate) { return predicate(this._value) ? this : exports.none }, Some.prototype.toArray = function () { return [this._value] }, Some.prototype.orElse = function (value) { return this }, Some.prototype.valueOrElse = function (value) { return this._value }, exports.isOption = function (value) { return value === exports.none || value instanceof Some }, exports.fromNullable = function (value) { return null == value ? exports.none : new Some(value) } }, {}], 101: [function (require, module, exports) { (function (process) { function normalizeArray(parts, allowAboveRoot) { for (var up = 0, i = parts.length - 1; i >= 0; i--) { var last = parts[i]; "." === last ? parts.splice(i, 1) : ".." === last ? (parts.splice(i, 1), up++) : up && (parts.splice(i, 1), up--) } if (allowAboveRoot) for (; up--; up)parts.unshift(".."); return parts } function filter(xs, f) { if (xs.filter) return xs.filter(f); for (var res = [], i = 0; i < xs.length; i++)f(xs[i], i, xs) && res.push(xs[i]); return res } var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/, splitPath = function (filename) { return splitPathRe.exec(filename).slice(1) }; exports.resolve = function () { for (var resolvedPath = "", resolvedAbsolute = !1, i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { var path = i >= 0 ? arguments[i] : process.cwd(); if ("string" != typeof path) throw new TypeError("Arguments to path.resolve must be strings"); path && (resolvedPath = path + "/" + resolvedPath, resolvedAbsolute = "/" === path.charAt(0)) } return resolvedPath = normalizeArray(filter(resolvedPath.split("/"), function (p) { return !!p }), !resolvedAbsolute).join("/"), (resolvedAbsolute ? "/" : "") + resolvedPath || "." }, exports.normalize = function (path) { var isAbsolute = exports.isAbsolute(path), trailingSlash = "/" === substr(path, -1); return path = normalizeArray(filter(path.split("/"), function (p) { return !!p }), !isAbsolute).join("/"), path || isAbsolute || (path = "."), path && trailingSlash && (path += "/"), (isAbsolute ? "/" : "") + path }, exports.isAbsolute = function (path) { return "/" === path.charAt(0) }, exports.join = function () { var paths = Array.prototype.slice.call(arguments, 0); return exports.normalize(filter(paths, function (p, index) { if ("string" != typeof p) throw new TypeError("Arguments to path.join must be strings"); return p }).join("/")) }, exports.relative = function (from, to) { function trim(arr) { for (var start = 0; start < arr.length && "" === arr[start]; start++); for (var end = arr.length - 1; end >= 0 && "" === arr[end]; end--); return start > end ? [] : arr.slice(start, end - start + 1) } from = exports.resolve(from).substr(1), to = exports.resolve(to).substr(1); for (var fromParts = trim(from.split("/")), toParts = trim(to.split("/")), length = Math.min(fromParts.length, toParts.length), samePartsLength = length, i = 0; length > i; i++)if (fromParts[i] !== toParts[i]) { samePartsLength = i; break } for (var outputParts = [], i = samePartsLength; i < fromParts.length; i++)outputParts.push(".."); return outputParts = outputParts.concat(toParts.slice(samePartsLength)), outputParts.join("/") }, exports.sep = "/", exports.delimiter = ":", exports.dirname = function (path) { var result = splitPath(path), root = result[0], dir = result[1]; return root || dir ? (dir && (dir = dir.substr(0, dir.length - 1)), root + dir) : "." }, exports.basename = function (path, ext) { var f = splitPath(path)[2]; return ext && f.substr(-1 * ext.length) === ext && (f = f.substr(0, f.length - ext.length)), f }, exports.extname = function (path) { return splitPath(path)[3] }; var substr = "b" === "ab".substr(-1) ? function (str, start, len) { return str.substr(start, len) } : function (str, start, len) { return 0 > start && (start = str.length + start), str.substr(start, len) } }).call(this, require("_process")) }, { _process: 102 }], 102: [function (require, module, exports) { function defaultSetTimout() { throw new Error("setTimeout has not been defined") } function defaultClearTimeout() { throw new Error("clearTimeout has not been defined") } function runTimeout(fun) { if (cachedSetTimeout === setTimeout) return setTimeout(fun, 0); if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) return cachedSetTimeout = setTimeout, setTimeout(fun, 0); try { return cachedSetTimeout(fun, 0) } catch (e) { try { return cachedSetTimeout.call(null, fun, 0) } catch (e) { return cachedSetTimeout.call(this, fun, 0) } } } function runClearTimeout(marker) { if (cachedClearTimeout === clearTimeout) return clearTimeout(marker); if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) return cachedClearTimeout = clearTimeout, clearTimeout(marker); try { return cachedClearTimeout(marker) } catch (e) { try { return cachedClearTimeout.call(null, marker) } catch (e) { return cachedClearTimeout.call(this, marker) } } } function cleanUpNextTick() { draining && currentQueue && (draining = !1, currentQueue.length ? queue = currentQueue.concat(queue) : queueIndex = -1, queue.length && drainQueue()) } function drainQueue() { if (!draining) { var timeout = runTimeout(cleanUpNextTick); draining = !0; for (var len = queue.length; len;) { for (currentQueue = queue, queue = []; ++queueIndex < len;)currentQueue && currentQueue[queueIndex].run(); queueIndex = -1, len = queue.length } currentQueue = null, draining = !1, runClearTimeout(timeout) } } function Item(fun, array) { this.fun = fun, this.array = array } function noop() { } var cachedSetTimeout, cachedClearTimeout, process = module.exports = {}; !function () { try { cachedSetTimeout = "function" == typeof setTimeout ? setTimeout : defaultSetTimout } catch (e) { cachedSetTimeout = defaultSetTimout } try { cachedClearTimeout = "function" == typeof clearTimeout ? clearTimeout : defaultClearTimeout } catch (e) { cachedClearTimeout = defaultClearTimeout } }(); var currentQueue, queue = [], draining = !1, queueIndex = -1; process.nextTick = function (fun) { var args = new Array(arguments.length - 1); if (arguments.length > 1) for (var i = 1; i < arguments.length; i++)args[i - 1] = arguments[i]; queue.push(new Item(fun, args)), 1 !== queue.length || draining || runTimeout(drainQueue) }, Item.prototype.run = function () { this.fun.apply(null, this.array) }, process.title = "browser", process.browser = !0, process.env = {}, process.argv = [], process.version = "", process.versions = {}, process.on = noop, process.addListener = noop, process.once = noop, process.off = noop, process.removeListener = noop, process.removeAllListeners = noop, process.emit = noop, process.binding = function (name) { throw new Error("process.binding is not supported") }, process.cwd = function () { return "/" }, process.chdir = function (dir) { throw new Error("process.chdir is not supported") }, process.umask = function () { return 0 } }, {}], 103: [function (require, module, exports) {
(function (global) {
!function (global, factory) { "object" == typeof exports && "undefined" != typeof module ? module.exports = factory() : "function" == typeof define && define.amd ? define("underscore", factory) : (global = "undefined" != typeof globalThis ? globalThis : global || self, function () { var current = global._, exports = global._ = factory(); exports.noConflict = function () { return global._ = current, exports } }()) }(this, function () {
function restArguments(func, startIndex) { return startIndex = null == startIndex ? func.length - 1 : +startIndex, function () { for (var length = Math.max(arguments.length - startIndex, 0), rest = Array(length), index = 0; length > index; index++)rest[index] = arguments[index + startIndex]; switch (startIndex) { case 0: return func.call(this, rest); case 1: return func.call(this, arguments[0], rest); case 2: return func.call(this, arguments[0], arguments[1], rest) }var args = Array(startIndex + 1); for (index = 0; startIndex > index; index++)args[index] = arguments[index]; return args[startIndex] = rest, func.apply(this, args) } } function isObject(obj) { var type = typeof obj; return "function" === type || "object" === type && !!obj } function isNull(obj) { return null === obj } function isUndefined(obj) { return void 0 === obj } function isBoolean(obj) { return obj === !0 || obj === !1 || "[object Boolean]" === toString.call(obj) } function isElement(obj) { return !(!obj || 1 !== obj.nodeType) } function tagTester(name) { var tag = "[object " + name + "]"; return function (obj) { return toString.call(obj) === tag } } function ie10IsDataView(obj) { return null != obj && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer) } function has$1(obj, key) { return null != obj && hasOwnProperty.call(obj, key) } function isFinite$1(obj) { return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj)) } function isNaN$1(obj) { return isNumber(obj) && _isNaN(obj) } function constant(value) { return function () { return value } } function createSizePropertyCheck(getSizeProperty) { return function (collection) { var sizeProperty = getSizeProperty(collection); return "number" == typeof sizeProperty && sizeProperty >= 0 && MAX_ARRAY_INDEX >= sizeProperty } } function shallowProperty(key) { return function (obj) { return null == obj ? void 0 : obj[key] } } function isTypedArray(obj) { return nativeIsView ? nativeIsView(obj) && !isDataView$1(obj) : isBufferLike(obj) && typedArrayPattern.test(toString.call(obj)) } function emulatedSet(keys) { for (var hash = {}, l = keys.length, i = 0; l > i; ++i)hash[keys[i]] = !0; return { contains: function (key) { return hash[key] }, push: function (key) { return hash[key] = !0, keys.push(key) } } } function collectNonEnumProps(obj, keys) { keys = emulatedSet(keys); var nonEnumIdx = nonEnumerableProps.length, constructor = obj.constructor, proto = isFunction$1(constructor) && constructor.prototype || ObjProto, prop = "constructor"; for (has$1(obj, prop) && !keys.contains(prop) && keys.push(prop); nonEnumIdx--;)prop = nonEnumerableProps[nonEnumIdx], prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop) && keys.push(prop) } function keys(obj) { if (!isObject(obj)) return []; if (nativeKeys) return nativeKeys(obj); var keys = []; for (var key in obj) has$1(obj, key) && keys.push(key); return hasEnumBug && collectNonEnumProps(obj, keys), keys } function isEmpty(obj) { if (null == obj) return !0; var length = getLength(obj); return "number" == typeof length && (isArray(obj) || isString(obj) || isArguments$1(obj)) ? 0 === length : 0 === getLength(keys(obj)) } function isMatch(object, attrs) { var _keys = keys(attrs), length = _keys.length; if (null == object) return !length; for (var obj = Object(object), i = 0; length > i; i++) { var key = _keys[i]; if (attrs[key] !== obj[key] || !(key in obj)) return !1 } return !0 } function _$1(obj) { return obj instanceof _$1 ? obj : this instanceof _$1 ? void (this._wrapped = obj) : new _$1(obj) } function toBufferView(bufferSource) { return new Uint8Array(bufferSource.buffer || bufferSource, bufferSource.byteOffset || 0, getByteLength(bufferSource)) } function eq(a, b, aStack, bStack) { if (a === b) return 0 !== a || 1 / a === 1 / b; if (null == a || null == b) return !1; if (a !== a) return b !== b; var type = typeof a; return "function" !== type && "object" !== type && "object" != typeof b ? !1 : deepEq(a, b, aStack, bStack) } function deepEq(a, b, aStack, bStack) { a instanceof _$1 && (a = a._wrapped), b instanceof _$1 && (b = b._wrapped); var className = toString.call(a); if (className !== toString.call(b)) return !1; if (hasStringTagBug && "[object Object]" == className && isDataView$1(a)) { if (!isDataView$1(b)) return !1; className = tagDataView } switch (className) { case "[object RegExp]": case "[object String]": return "" + a == "" + b; case "[object Number]": return +a !== +a ? +b !== +b : 0 === +a ? 1 / +a === 1 / b : +a === +b; case "[object Date]": case "[object Boolean]": return +a === +b; case "[object Symbol]": return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b); case "[object ArrayBuffer]": case tagDataView: return deepEq(toBufferView(a), toBufferView(b), aStack, bStack) }var areArrays = "[object Array]" === className; if (!areArrays && isTypedArray$1(a)) { var byteLength = getByteLength(a); if (byteLength !== getByteLength(b)) return !1; if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return !0; areArrays = !0 } if (!areArrays) { if ("object" != typeof a || "object" != typeof b) return !1; var aCtor = a.constructor, bCtor = b.constructor; if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor && isFunction$1(bCtor) && bCtor instanceof bCtor) && "constructor" in a && "constructor" in b) return !1 } aStack = aStack || [], bStack = bStack || []; for (var length = aStack.length; length--;)if (aStack[length] === a) return bStack[length] === b; if (aStack.push(a), bStack.push(b), areArrays) { if (length = a.length, length !== b.length) return !1; for (; length--;)if (!eq(a[length], b[length], aStack, bStack)) return !1 } else { var key, _keys = keys(a); if (length = _keys.length, keys(b).length !== length) return !1; for (; length--;)if (key = _keys[length], !has$1(b, key) || !eq(a[key], b[key], aStack, bStack)) return !1 } return aStack.pop(), bStack.pop(), !0 } function isEqual(a, b) { return eq(a, b) } function allKeys(obj) { if (!isObject(obj)) return []; var keys = []; for (var key in obj) keys.push(key); return hasEnumBug && collectNonEnumProps(obj, keys), keys } function ie11fingerprint(methods) { var length = getLength(methods); return function (obj) { if (null == obj) return !1; var keys = allKeys(obj); if (getLength(keys)) return !1; for (var i = 0; length > i; i++)if (!isFunction$1(obj[methods[i]])) return !1; return methods !== weakMapMethods || !isFunction$1(obj[forEachName]) } } function values(obj) { for (var _keys = keys(obj), length = _keys.length, values = Array(length), i = 0; length > i; i++)values[i] = obj[_keys[i]]; return values } function pairs(obj) { for (var _keys = keys(obj), length = _keys.length, pairs = Array(length), i = 0; length > i; i++)pairs[i] = [_keys[i], obj[_keys[i]]]; return pairs } function invert(obj) { for (var result = {}, _keys = keys(obj), i = 0, length = _keys.length; length > i; i++)result[obj[_keys[i]]] = _keys[i]; return result } function functions(obj) { var names = []; for (var key in obj) isFunction$1(obj[key]) && names.push(key); return names.sort() } function createAssigner(keysFunc, defaults) { return function (obj) { var length = arguments.length; if (defaults && (obj = Object(obj)), 2 > length || null == obj) return obj; for (var index = 1; length > index; index++)for (var source = arguments[index], keys = keysFunc(source), l = keys.length, i = 0; l > i; i++) { var key = keys[i]; defaults && void 0 !== obj[key] || (obj[key] = source[key]) } return obj } } function ctor() { return function () { } } function baseCreate(prototype) { if (!isObject(prototype)) return {}; if (nativeCreate) return nativeCreate(prototype); var Ctor = ctor(); Ctor.prototype = prototype; var result = new Ctor; return Ctor.prototype = null, result } function create(prototype, props) { var result = baseCreate(prototype); return props && extendOwn(result, props), result } function clone(obj) { return isObject(obj) ? isArray(obj) ? obj.slice() : extend({}, obj) : obj } function tap(obj, interceptor) { return interceptor(obj), obj } function toPath$1(path) { return isArray(path) ? path : [path] } function toPath(path) { return _$1.toPath(path) } function deepGet(obj, path) { for (var length = path.length, i = 0; length > i; i++) { if (null == obj) return void 0; obj = obj[path[i]] } return length ? obj : void 0 } function get(object, path, defaultValue) { var value = deepGet(object, toPath(path)); return isUndefined(value) ? defaultValue : value } function has(obj, path) { path = toPath(path); for (var length = path.length, i = 0; length > i; i++) { var key = path[i]; if (!has$1(obj, key)) return !1; obj = obj[key] } return !!length } function identity(value) { return value } function matcher(attrs) { return attrs = extendOwn({}, attrs), function (obj) { return isMatch(obj, attrs) } } function property(path) { return path = toPath(path), function (obj) { return deepGet(obj, path) } } function optimizeCb(func, context, argCount) { if (void 0 === context) return func; switch (null == argCount ? 3 : argCount) { case 1: return function (value) { return func.call(context, value) }; case 3: return function (value, index, collection) { return func.call(context, value, index, collection) }; case 4: return function (accumulator, value, index, collection) { return func.call(context, accumulator, value, index, collection) } }return function () { return func.apply(context, arguments) } } function baseIteratee(value, context, argCount) {
return null == value ? identity : isFunction$1(value) ? optimizeCb(value, context, argCount) : isObject(value) && !isArray(value) ? matcher(value) : property(value);
} function iteratee(value, context) { return baseIteratee(value, context, 1 / 0) } function cb(value, context, argCount) { return _$1.iteratee !== iteratee ? _$1.iteratee(value, context) : baseIteratee(value, context, argCount) } function mapObject(obj, iteratee, context) { iteratee = cb(iteratee, context); for (var _keys = keys(obj), length = _keys.length, results = {}, index = 0; length > index; index++) { var currentKey = _keys[index]; results[currentKey] = iteratee(obj[currentKey], currentKey, obj) } return results } function noop() { } function propertyOf(obj) { return null == obj ? noop : function (path) { return get(obj, path) } } function times(n, iteratee, context) { var accum = Array(Math.max(0, n)); iteratee = optimizeCb(iteratee, context, 1); for (var i = 0; n > i; i++)accum[i] = iteratee(i); return accum } function random(min, max) { return null == max && (max = min, min = 0), min + Math.floor(Math.random() * (max - min + 1)) } function createEscaper(map) { var escaper = function (match) { return map[match] }, source = "(?:" + keys(map).join("|") + ")", testRegexp = RegExp(source), replaceRegexp = RegExp(source, "g"); return function (string) { return string = null == string ? "" : "" + string, testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string } } function escapeChar(match) { return "\\" + escapes[match] } function template(text, settings, oldSettings) { !settings && oldSettings && (settings = oldSettings), settings = defaults({}, settings, _$1.templateSettings); var matcher = RegExp([(settings.escape || noMatch).source, (settings.interpolate || noMatch).source, (settings.evaluate || noMatch).source].join("|") + "|$", "g"), index = 0, source = "__p+='"; text.replace(matcher, function (match, escape, interpolate, evaluate, offset) { return source += text.slice(index, offset).replace(escapeRegExp, escapeChar), index = offset + match.length, escape ? source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'" : interpolate ? source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'" : evaluate && (source += "';\n" + evaluate + "\n__p+='"), match }), source += "';\n"; var argument = settings.variable; if (argument) { if (!bareIdentifier.test(argument)) throw new Error("variable is not a bare identifier: " + argument) } else source = "with(obj||{}){\n" + source + "}\n", argument = "obj"; source = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + source + "return __p;\n"; var render; try { render = new Function(argument, "_", source) } catch (e) { throw e.source = source, e } var template = function (data) { return render.call(this, data, _$1) }; return template.source = "function(" + argument + "){\n" + source + "}", template } function result(obj, path, fallback) { path = toPath(path); var length = path.length; if (!length) return isFunction$1(fallback) ? fallback.call(obj) : fallback; for (var i = 0; length > i; i++) { var prop = null == obj ? void 0 : obj[path[i]]; void 0 === prop && (prop = fallback, i = length), obj = isFunction$1(prop) ? prop.call(obj) : prop } return obj } function uniqueId(prefix) { var id = ++idCounter + ""; return prefix ? prefix + id : id } function chain(obj) { var instance = _$1(obj); return instance._chain = !0, instance } function executeBound(sourceFunc, boundFunc, context, callingContext, args) { if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); var self = baseCreate(sourceFunc.prototype), result = sourceFunc.apply(self, args); return isObject(result) ? result : self } function flatten$1(input, depth, strict, output) { if (output = output || [], depth || 0 === depth) { if (0 >= depth) return output.concat(input) } else depth = 1 / 0; for (var idx = output.length, i = 0, length = getLength(input); length > i; i++) { var value = input[i]; if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) if (depth > 1) flatten$1(value, depth - 1, strict, output), idx = output.length; else for (var j = 0, len = value.length; len > j;)output[idx++] = value[j++]; else strict || (output[idx++] = value) } return output } function memoize(func, hasher) { var memoize = function (key) { var cache = memoize.cache, address = "" + (hasher ? hasher.apply(this, arguments) : key); return has$1(cache, address) || (cache[address] = func.apply(this, arguments)), cache[address] }; return memoize.cache = {}, memoize } function throttle(func, wait, options) { var timeout, context, args, result, previous = 0; options || (options = {}); var later = function () { previous = options.leading === !1 ? 0 : now(), timeout = null, result = func.apply(context, args), timeout || (context = args = null) }, throttled = function () { var _now = now(); previous || options.leading !== !1 || (previous = _now); var remaining = wait - (_now - previous); return context = this, args = arguments, 0 >= remaining || remaining > wait ? (timeout && (clearTimeout(timeout), timeout = null), previous = _now, result = func.apply(context, args), timeout || (context = args = null)) : timeout || options.trailing === !1 || (timeout = setTimeout(later, remaining)), result }; return throttled.cancel = function () { clearTimeout(timeout), previous = 0, timeout = context = args = null }, throttled } function debounce(func, wait, immediate) { var timeout, previous, args, result, context, later = function () { var passed = now() - previous; wait > passed ? timeout = setTimeout(later, wait - passed) : (timeout = null, immediate || (result = func.apply(context, args)), timeout || (args = context = null)) }, debounced = restArguments(function (_args) { return context = this, args = _args, previous = now(), timeout || (timeout = setTimeout(later, wait), immediate && (result = func.apply(context, args))), result }); return debounced.cancel = function () { clearTimeout(timeout), timeout = args = context = null }, debounced } function wrap(func, wrapper) { return partial(wrapper, func) } function negate(predicate) { return function () { return !predicate.apply(this, arguments) } } function compose() { var args = arguments, start = args.length - 1; return function () { for (var i = start, result = args[start].apply(this, arguments); i--;)result = args[i].call(this, result); return result } } function after(times, func) { return function () { return --times < 1 ? func.apply(this, arguments) : void 0 } } function before(times, func) { var memo; return function () { return --times > 0 && (memo = func.apply(this, arguments)), 1 >= times && (func = null), memo } } function findKey(obj, predicate, context) { predicate = cb(predicate, context); for (var key, _keys = keys(obj), i = 0, length = _keys.length; length > i; i++)if (key = _keys[i], predicate(obj[key], key, obj)) return key } function createPredicateIndexFinder(dir) { return function (array, predicate, context) { predicate = cb(predicate, context); for (var length = getLength(array), index = dir > 0 ? 0 : length - 1; index >= 0 && length > index; index += dir)if (predicate(array[index], index, array)) return index; return -1 } } function sortedIndex(array, obj, iteratee, context) { iteratee = cb(iteratee, context, 1); for (var value = iteratee(obj), low = 0, high = getLength(array); high > low;) { var mid = Math.floor((low + high) / 2); iteratee(array[mid]) < value ? low = mid + 1 : high = mid } return low } function createIndexFinder(dir, predicateFind, sortedIndex) { return function (array, item, idx) { var i = 0, length = getLength(array); if ("number" == typeof idx) dir > 0 ? i = idx >= 0 ? idx : Math.max(idx + length, i) : length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; else if (sortedIndex && idx && length) return idx = sortedIndex(array, item), array[idx] === item ? idx : -1; if (item !== item) return idx = predicateFind(slice.call(array, i, length), isNaN$1), idx >= 0 ? idx + i : -1; for (idx = dir > 0 ? i : length - 1; idx >= 0 && length > idx; idx += dir)if (array[idx] === item) return idx; return -1 } } function find(obj, predicate, context) { var keyFinder = isArrayLike(obj) ? findIndex : findKey, key = keyFinder(obj, predicate, context); return void 0 !== key && -1 !== key ? obj[key] : void 0 } function findWhere(obj, attrs) { return find(obj, matcher(attrs)) } function each(obj, iteratee, context) { iteratee = optimizeCb(iteratee, context); var i, length; if (isArrayLike(obj)) for (i = 0, length = obj.length; length > i; i++)iteratee(obj[i], i, obj); else { var _keys = keys(obj); for (i = 0, length = _keys.length; length > i; i++)iteratee(obj[_keys[i]], _keys[i], obj) } return obj } function map(obj, iteratee, context) { iteratee = cb(iteratee, context); for (var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length, results = Array(length), index = 0; length > index; index++) { var currentKey = _keys ? _keys[index] : index; results[index] = iteratee(obj[currentKey], currentKey, obj) } return results } function createReduce(dir) { var reducer = function (obj, iteratee, memo, initial) { var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length, index = dir > 0 ? 0 : length - 1; for (initial || (memo = obj[_keys ? _keys[index] : index], index += dir); index >= 0 && length > index; index += dir) { var currentKey = _keys ? _keys[index] : index; memo = iteratee(memo, obj[currentKey], currentKey, obj) } return memo }; return function (obj, iteratee, memo, context) { var initial = arguments.length >= 3; return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial) } } function filter(obj, predicate, context) { var results = []; return predicate = cb(predicate, context), each(obj, function (value, index, list) { predicate(value, index, list) && results.push(value) }), results } function reject(obj, predicate, context) { return filter(obj, negate(cb(predicate)), context) } function every(obj, predicate, context) { predicate = cb(predicate, context); for (var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length, index = 0; length > index; index++) { var currentKey = _keys ? _keys[index] : index; if (!predicate(obj[currentKey], currentKey, obj)) return !1 } return !0 } function some(obj, predicate, context) { predicate = cb(predicate, context); for (var _keys = !isArrayLike(obj) && keys(obj), length = (_keys || obj).length, index = 0; length > index; index++) { var currentKey = _keys ? _keys[index] : index; if (predicate(obj[currentKey], currentKey, obj)) return !0 } return !1 } function contains(obj, item, fromIndex, guard) { return isArrayLike(obj) || (obj = values(obj)), ("number" != typeof fromIndex || guard) && (fromIndex = 0), indexOf(obj, item, fromIndex) >= 0 } function pluck(obj, key) { return map(obj, property(key)) } function where(obj, attrs) { return filter(obj, matcher(attrs)) } function max(obj, iteratee, context) { var value, computed, result = -(1 / 0), lastComputed = -(1 / 0); if (null == iteratee || "number" == typeof iteratee && "object" != typeof obj[0] && null != obj) { obj = isArrayLike(obj) ? obj : values(obj); for (var i = 0, length = obj.length; length > i; i++)value = obj[i], null != value && value > result && (result = value) } else iteratee = cb(iteratee, context), each(obj, function (v, index, list) { computed = iteratee(v, index, list), (computed > lastComputed || computed === -(1 / 0) && result === -(1 / 0)) && (result = v, lastComputed = computed) }); return result } function min(obj, iteratee, context) { var value, computed, result = 1 / 0, lastComputed = 1 / 0; if (null == iteratee || "number" == typeof iteratee && "object" != typeof obj[0] && null != obj) { obj = isArrayLike(obj) ? obj : values(obj); for (var i = 0, length = obj.length; length > i; i++)value = obj[i], null != value && result > value && (result = value) } else iteratee = cb(iteratee, context), each(obj, function (v, index, list) { computed = iteratee(v, index, list), (lastComputed > computed || computed === 1 / 0 && result === 1 / 0) && (result = v, lastComputed = computed) }); return result } function sample(obj, n, guard) { if (null == n || guard) return isArrayLike(obj) || (obj = values(obj)), obj[random(obj.length - 1)]; var sample = isArrayLike(obj) ? clone(obj) : values(obj), length = getLength(sample); n = Math.max(Math.min(n, length), 0); for (var last = length - 1, index = 0; n > index; index++) { var rand = random(index, last), temp = sample[index]; sample[index] = sample[rand], sample[rand] = temp } return sample.slice(0, n) } function shuffle(obj) { return sample(obj, 1 / 0) } function sortBy(obj, iteratee, context) { var index = 0; return iteratee = cb(iteratee, context), pluck(map(obj, function (value, key, list) { return { value: value, index: index++, criteria: iteratee(value, key, list) } }).sort(function (left, right) { var a = left.criteria, b = right.criteria; if (a !== b) { if (a > b || void 0 === a) return 1; if (b > a || void 0 === b) return -1 } return left.index - right.index }), "value") } function group(behavior, partition) { return function (obj, iteratee, context) { var result = partition ? [[], []] : {}; return iteratee = cb(iteratee, context), each(obj, function (value, index) { var key = iteratee(value, index, obj); behavior(result, value, key) }), result } } function toArray(obj) { return obj ? isArray(obj) ? slice.call(obj) : isString(obj) ? obj.match(reStrSymbol) : isArrayLike(obj) ? map(obj, identity) : values(obj) : [] } function size(obj) { return null == obj ? 0 : isArrayLike(obj) ? obj.length : keys(obj).length } function keyInObj(value, key, obj) { return key in obj } function initial(array, n, guard) { return slice.call(array, 0, Math.max(0, array.length - (null == n || guard ? 1 : n))) } function first(array, n, guard) { return null == array || array.length < 1 ? null == n || guard ? void 0 : [] : null == n || guard ? array[0] : initial(array, array.length - n) } function rest(array, n, guard) { return slice.call(array, null == n || guard ? 1 : n) } function last(array, n, guard) { return null == array || array.length < 1 ? null == n || guard ? void 0 : [] : null == n || guard ? array[array.length - 1] : rest(array, Math.max(0, array.length - n)) } function compact(array) { return filter(array, Boolean) } function flatten(array, depth) { return flatten$1(array, depth, !1) } function uniq(array, isSorted, iteratee, context) { isBoolean(isSorted) || (context = iteratee, iteratee = isSorted, isSorted = !1), null != iteratee && (iteratee = cb(iteratee, context)); for (var result = [], seen = [], i = 0, length = getLength(array); length > i; i++) { var value = array[i], computed = iteratee ? iteratee(value, i, array) : value; isSorted && !iteratee ? (i && seen === computed || result.push(value), seen = computed) : iteratee ? contains(seen, computed) || (seen.push(computed), result.push(value)) : contains(result, value) || result.push(value) } return result } function intersection(array) { for (var result = [], argsLength = arguments.length, i = 0, length = getLength(array); length > i; i++) { var item = array[i]; if (!contains(result, item)) { var j; for (j = 1; argsLength > j && contains(arguments[j], item); j++); j === argsLength && result.push(item) } } return result } function unzip(array) { for (var length = array && max(array, getLength).length || 0, result = Array(length), index = 0; length > index; index++)result[index] = pluck(array, index); return result } function object(list, values) { for (var result = {}, i = 0, length = getLength(list); length > i; i++)values ? result[list[i]] = values[i] : result[list[i][0]] = list[i][1]; return result } function range(start, stop, step) { null == stop && (stop = start || 0, start = 0), step || (step = start > stop ? -1 : 1); for (var length = Math.max(Math.ceil((stop - start) / step), 0), range = Array(length), idx = 0; length > idx; idx++, start += step)range[idx] = start; return range } function chunk(array, count) { if (null == count || 1 > count) return []; for (var result = [], i = 0, length = array.length; length > i;)result.push(slice.call(array, i, i += count)); return result } function chainResult(instance, obj) { return instance._chain ? _$1(obj).chain() : obj } function mixin(obj) { return each(functions(obj), function (name) { var func = _$1[name] = obj[name]; _$1.prototype[name] = function () { var args = [this._wrapped]; return push.apply(args, arguments), chainResult(this, func.apply(_$1, args)) } }), _$1 } var VERSION = "1.13.1", root = "object" == typeof self && self.self === self && self || "object" == typeof global && global.global === global && global || Function("return this")() || {}, ArrayProto = Array.prototype, ObjProto = Object.prototype, SymbolProto = "undefined" != typeof Symbol ? Symbol.prototype : null, push = ArrayProto.push, slice = ArrayProto.slice, toString = ObjProto.toString, hasOwnProperty = ObjProto.hasOwnProperty, supportsArrayBuffer = "undefined" != typeof ArrayBuffer, supportsDataView = "undefined" != typeof DataView, nativeIsArray = Array.isArray, nativeKeys = Object.keys, nativeCreate = Object.create, nativeIsView = supportsArrayBuffer && ArrayBuffer.isView, _isNaN = isNaN, _isFinite = isFinite, hasEnumBug = !{ toString: null }.propertyIsEnumerable("toString"), nonEnumerableProps = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"], MAX_ARRAY_INDEX = Math.pow(2, 53) - 1, isString = tagTester("String"), isNumber = tagTester("Number"), isDate = tagTester("Date"), isRegExp = tagTester("RegExp"), isError = tagTester("Error"), isSymbol = tagTester("Symbol"), isArrayBuffer = tagTester("ArrayBuffer"), isFunction = tagTester("Function"), nodelist = root.document && root.document.childNodes; "function" != typeof /./ && "object" != typeof Int8Array && "function" != typeof nodelist && (isFunction = function (obj) { return "function" == typeof obj || !1 }); var isFunction$1 = isFunction, hasObjectTag = tagTester("Object"), hasStringTagBug = supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))), isIE11 = "undefined" != typeof Map && hasObjectTag(new Map), isDataView = tagTester("DataView"), isDataView$1 = hasStringTagBug ? ie10IsDataView : isDataView, isArray = nativeIsArray || tagTester("Array"), isArguments = tagTester("Arguments"); !function () { isArguments(arguments) || (isArguments = function (obj) { return has$1(obj, "callee") }) }(); var isArguments$1 = isArguments, getByteLength = shallowProperty("byteLength"), isBufferLike = createSizePropertyCheck(getByteLength), typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/, isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(!1), getLength = shallowProperty("length"); _$1.VERSION = VERSION, _$1.prototype.value = function () { return this._wrapped }, _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value, _$1.prototype.toString = function () { return String(this._wrapped) }; var tagDataView = "[object DataView]", forEachName = "forEach", hasName = "has", commonInit = ["clear", "delete"], mapTail = ["get", hasName, "set"], mapMethods = commonInit.concat(forEachName, mapTail), weakMapMethods = commonInit.concat(mapTail), setMethods = ["add"].concat(commonInit, forEachName, hasName), isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester("Map"), isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester("WeakMap"), isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester("Set"), isWeakSet = tagTester("WeakSet"), extend = createAssigner(allKeys), extendOwn = createAssigner(keys), defaults = createAssigner(allKeys, !0); _$1.toPath = toPath$1, _$1.iteratee = iteratee; var now = Date.now || function () { return (new Date).getTime() }, escapeMap = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'", "`": "`" }, _escape = createEscaper(escapeMap), unescapeMap = invert(escapeMap), _unescape = createEscaper(unescapeMap), templateSettings = _$1.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g }, noMatch = /(.)^/, escapes = { "'": "'", "\\": "\\", "\r": "r", "\n": "n", "\u2028": "u2028", "\u2029": "u2029" }, escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g, bareIdentifier = /^\s*(\w|\$)+\s*$/, idCounter = 0, partial = restArguments(function (func, boundArgs) { var placeholder = partial.placeholder, bound = function () { for (var position = 0, length = boundArgs.length, args = Array(length), i = 0; length > i; i++)args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i]; for (; position < arguments.length;)args.push(arguments[position++]); return executeBound(func, bound, this, this, args) }; return bound }); partial.placeholder = _$1; var bind = restArguments(function (func, context, args) { if (!isFunction$1(func)) throw new TypeError("Bind must be called on a function"); var bound = restArguments(function (callArgs) { return executeBound(func, bound, context, this, args.concat(callArgs)) }); return bound }), isArrayLike = createSizePropertyCheck(getLength), bindAll = restArguments(function (obj, keys) { keys = flatten$1(keys, !1, !1); var index = keys.length; if (1 > index) throw new Error("bindAll must be passed function names"); for (; index--;) { var key = keys[index]; obj[key] = bind(obj[key], obj) } return obj }), delay = restArguments(function (func, wait, args) { return setTimeout(function () { return func.apply(null, args) }, wait) }), defer = partial(delay, _$1, 1), once = partial(before, 2), findIndex = createPredicateIndexFinder(1), findLastIndex = createPredicateIndexFinder(-1), indexOf = createIndexFinder(1, findIndex, sortedIndex), lastIndexOf = createIndexFinder(-1, findLastIndex), reduce = createReduce(1), reduceRight = createReduce(-1), invoke = restArguments(function (obj, path, args) { var contextPath, func; return isFunction$1(path) ? func = path : (path = toPath(path), contextPath = path.slice(0, -1), path = path[path.length - 1]), map(obj, function (context) { var method = func; if (!method) { if (contextPath && contextPath.length && (context = deepGet(context, contextPath)), null == context) return void 0; method = context[path] } return null == method ? method : method.apply(context, args) }) }), groupBy = group(function (result, value, key) { has$1(result, key) ? result[key].push(value) : result[key] = [value] }), indexBy = group(function (result, value, key) { result[key] = value }), countBy = group(function (result, value, key) { has$1(result, key) ? result[key]++ : result[key] = 1 }), partition = group(function (result, value, pass) { result[pass ? 0 : 1].push(value) }, !0), reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g, pick = restArguments(function (obj, keys) { var result = {}, iteratee = keys[0]; if (null == obj) return result; isFunction$1(iteratee) ? (keys.length > 1 && (iteratee = optimizeCb(iteratee, keys[1])), keys = allKeys(obj)) : (iteratee = keyInObj, keys = flatten$1(keys, !1, !1), obj = Object(obj)); for (var i = 0, length = keys.length; length > i; i++) { var key = keys[i], value = obj[key]; iteratee(value, key, obj) && (result[key] = value) } return result }), omit = restArguments(function (obj, keys) { var context, iteratee = keys[0]; return isFunction$1(iteratee) ? (iteratee = negate(iteratee), keys.length > 1 && (context = keys[1])) : (keys = map(flatten$1(keys, !1, !1), String), iteratee = function (value, key) { return !contains(keys, key) }), pick(obj, iteratee, context) }), difference = restArguments(function (array, rest) { return rest = flatten$1(rest, !0, !0), filter(array, function (value) { return !contains(rest, value) }) }), without = restArguments(function (array, otherArrays) { return difference(array, otherArrays) }), union = restArguments(function (arrays) { return uniq(flatten$1(arrays, !0, !0)) }), zip = restArguments(unzip); each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function (name) { var method = ArrayProto[name]; _$1.prototype[name] = function () { var obj = this._wrapped; return null != obj && (method.apply(obj, arguments), "shift" !== name && "splice" !== name || 0 !== obj.length || delete obj[0]), chainResult(this, obj) } }), each(["concat", "join", "slice"], function (name) { var method = ArrayProto[name]; _$1.prototype[name] = function () { var obj = this._wrapped; return null != obj && (obj = method.apply(obj, arguments)), chainResult(this, obj) } }); var allExports = { __proto__: null, VERSION: VERSION, restArguments: restArguments, isObject: isObject, isNull: isNull, isUndefined: isUndefined, isBoolean: isBoolean, isElement: isElement, isString: isString, isNumber: isNumber, isDate: isDate, isRegExp: isRegExp, isError: isError, isSymbol: isSymbol, isArrayBuffer: isArrayBuffer, isDataView: isDataView$1, isArray: isArray, isFunction: isFunction$1, isArguments: isArguments$1, isFinite: isFinite$1, isNaN: isNaN$1, isTypedArray: isTypedArray$1, isEmpty: isEmpty, isMatch: isMatch, isEqual: isEqual, isMap: isMap, isWeakMap: isWeakMap, isSet: isSet, isWeakSet: isWeakSet, keys: keys, allKeys: allKeys, values: values, pairs: pairs, invert: invert, functions: functions, methods: functions, extend: extend, extendOwn: extendOwn, assign: extendOwn, defaults: defaults, create: create, clone: clone, tap: tap, get: get, has: has, mapObject: mapObject, identity: identity, constant: constant, noop: noop, toPath: toPath$1, property: property, propertyOf: propertyOf, matcher: matcher, matches: matcher, times: times, random: random, now: now, escape: _escape, unescape: _unescape, templateSettings: templateSettings, template: template, result: result, uniqueId: uniqueId, chain: chain, iteratee: iteratee, partial: partial, bind: bind, bindAll: bindAll, memoize: memoize, delay: delay, defer: defer, throttle: throttle, debounce: debounce, wrap: wrap, negate: negate, compose: compose, after: after, before: before, once: once, findKey: findKey, findIndex: findIndex, findLastIndex: findLastIndex, sortedIndex: sortedIndex, indexOf: indexOf, lastIndexOf: lastIndexOf, find: find, detect: find, findWhere: findWhere, each: each, forEach: each, map: map, collect: map, reduce: reduce, foldl: reduce, inject: reduce, reduceRight: reduceRight, foldr: reduceRight, filter: filter, select: filter, reject: reject, every: every, all: every, some: some, any: some, contains: contains, includes: contains, include: contains, invoke: invoke, pluck: pluck, where: where, max: max, min: min, shuffle: shuffle, sample: sample, sortBy: sortBy, groupBy: groupBy, indexBy: indexBy, countBy: countBy, partition: partition, toArray: toArray, size: size, pick: pick, omit: omit, first: first, head: first, take: first, initial: initial, last: last, rest: rest, tail: rest, drop: rest, compact: compact, flatten: flatten, without: without, uniq: uniq, unique: uniq, union: union, intersection: intersection, difference: difference, unzip: unzip, transpose: unzip, zip: zip, object: object, range: range, chunk: chunk, mixin: mixin, "default": _$1 }, _ = mixin(allExports); return _._ = _, _
})
}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, {}], 104: [function (require, module, exports) { "function" == typeof Object.create ? module.exports = function (ctor, superCtor) { ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, { constructor: { value: ctor, enumerable: !1, writable: !0, configurable: !0 } }) } : module.exports = function (ctor, superCtor) { ctor.super_ = superCtor; var TempCtor = function () { }; TempCtor.prototype = superCtor.prototype, ctor.prototype = new TempCtor, ctor.prototype.constructor = ctor } }, {}], 105: [function (require, module, exports) { module.exports = function (arg) { return arg && "object" == typeof arg && "function" == typeof arg.copy && "function" == typeof arg.fill && "function" == typeof arg.readUInt8 } }, {}], 106: [function (require, module, exports) {
(function (process, global) {
function inspect(obj, opts) { var ctx = { seen: [], stylize: stylizeNoColor }; return arguments.length >= 3 && (ctx.depth = arguments[2]), arguments.length >= 4 && (ctx.colors = arguments[3]), isBoolean(opts) ? ctx.showHidden = opts : opts && exports._extend(ctx, opts), isUndefined(ctx.showHidden) && (ctx.showHidden = !1), isUndefined(ctx.depth) && (ctx.depth = 2), isUndefined(ctx.colors) && (ctx.colors = !1), isUndefined(ctx.customInspect) && (ctx.customInspect = !0), ctx.colors && (ctx.stylize = stylizeWithColor), formatValue(ctx, obj, ctx.depth) } function stylizeWithColor(str, styleType) { var style = inspect.styles[styleType]; return style ? "[" + inspect.colors[style][0] + "m" + str + "[" + inspect.colors[style][1] + "m" : str } function stylizeNoColor(str, styleType) { return str } function arrayToHash(array) { var hash = {}; return array.forEach(function (val, idx) { hash[val] = !0 }), hash } function formatValue(ctx, value, recurseTimes) { if (ctx.customInspect && value && isFunction(value.inspect) && value.inspect !== exports.inspect && (!value.constructor || value.constructor.prototype !== value)) { var ret = value.inspect(recurseTimes, ctx); return isString(ret) || (ret = formatValue(ctx, ret, recurseTimes)), ret } var primitive = formatPrimitive(ctx, value); if (primitive) return primitive; var keys = Object.keys(value), visibleKeys = arrayToHash(keys); if (ctx.showHidden && (keys = Object.getOwnPropertyNames(value)), isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0)) return formatError(value); if (0 === keys.length) { if (isFunction(value)) { var name = value.name ? ": " + value.name : ""; return ctx.stylize("[Function" + name + "]", "special") } if (isRegExp(value)) return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); if (isDate(value)) return ctx.stylize(Date.prototype.toString.call(value), "date"); if (isError(value)) return formatError(value) } var base = "", array = !1, braces = ["{", "}"]; if (isArray(value) && (array = !0, braces = ["[", "]"]), isFunction(value)) { var n = value.name ? ": " + value.name : ""; base = " [Function" + n + "]" } if (isRegExp(value) && (base = " " + RegExp.prototype.toString.call(value)), isDate(value) && (base = " " + Date.prototype.toUTCString.call(value)), isError(value) && (base = " " + formatError(value)), 0 === keys.length && (!array || 0 == value.length)) return braces[0] + base + braces[1]; if (0 > recurseTimes) return isRegExp(value) ? ctx.stylize(RegExp.prototype.toString.call(value), "regexp") : ctx.stylize("[Object]", "special"); ctx.seen.push(value); var output; return output = array ? formatArray(ctx, value, recurseTimes, visibleKeys, keys) : keys.map(function (key) { return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) }), ctx.seen.pop(), reduceToSingleString(output, base, braces) } function formatPrimitive(ctx, value) { if (isUndefined(value)) return ctx.stylize("undefined", "undefined"); if (isString(value)) { var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; return ctx.stylize(simple, "string") } return isNumber(value) ? ctx.stylize("" + value, "number") : isBoolean(value) ? ctx.stylize("" + value, "boolean") : isNull(value) ? ctx.stylize("null", "null") : void 0 } function formatError(value) { return "[" + Error.prototype.toString.call(value) + "]" } function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { for (var output = [], i = 0, l = value.length; l > i; ++i)hasOwnProperty(value, String(i)) ? output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), !0)) : output.push(""); return keys.forEach(function (key) { key.match(/^\d+$/) || output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, !0)) }), output } function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { var name, str, desc; if (desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }, desc.get ? str = desc.set ? ctx.stylize("[Getter/Setter]", "special") : ctx.stylize("[Getter]", "special") : desc.set && (str = ctx.stylize("[Setter]", "special")), hasOwnProperty(visibleKeys, key) || (name = "[" + key + "]"), str || (ctx.seen.indexOf(desc.value) < 0 ? (str = isNull(recurseTimes) ? formatValue(ctx, desc.value, null) : formatValue(ctx, desc.value, recurseTimes - 1), str.indexOf("\n") > -1 && (str = array ? str.split("\n").map(function (line) { return " " + line }).join("\n").substr(2) : "\n" + str.split("\n").map(function (line) { return " " + line }).join("\n"))) : str = ctx.stylize("[Circular]", "special")), isUndefined(name)) { if (array && key.match(/^\d+$/)) return str; name = JSON.stringify("" + key), name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (name = name.substr(1, name.length - 2), name = ctx.stylize(name, "name")) : (name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), name = ctx.stylize(name, "string")) } return name + ": " + str } function reduceToSingleString(output, base, braces) { var numLinesEst = 0, length = output.reduce(function (prev, cur) { return numLinesEst++, cur.indexOf("\n") >= 0 && numLinesEst++, prev + cur.replace(/\u001b\[\d\d?m/g, "").length + 1 }, 0); return length > 60 ? braces[0] + ("" === base ? "" : base + "\n ") + " " + output.join(",\n ") + " " + braces[1] : braces[0] + base + " " + output.join(", ") + " " + braces[1] } function isArray(ar) { return Array.isArray(ar) } function isBoolean(arg) { return "boolean" == typeof arg } function isNull(arg) { return null === arg } function isNullOrUndefined(arg) { return null == arg } function isNumber(arg) { return "number" == typeof arg } function isString(arg) { return "string" == typeof arg } function isSymbol(arg) { return "symbol" == typeof arg } function isUndefined(arg) { return void 0 === arg } function isRegExp(re) { return isObject(re) && "[object RegExp]" === objectToString(re) } function isObject(arg) { return "object" == typeof arg && null !== arg } function isDate(d) { return isObject(d) && "[object Date]" === objectToString(d) } function isError(e) { return isObject(e) && ("[object Error]" === objectToString(e) || e instanceof Error) } function isFunction(arg) { return "function" == typeof arg } function isPrimitive(arg) { return null === arg || "boolean" == typeof arg || "number" == typeof arg || "string" == typeof arg || "symbol" == typeof arg || "undefined" == typeof arg } function objectToString(o) { return Object.prototype.toString.call(o) } function pad(n) { return 10 > n ? "0" + n.toString(10) : n.toString(10) } function timestamp() { var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(":"); return [d.getDate(), months[d.getMonth()], time].join(" ") } function hasOwnProperty(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop) } var formatRegExp = /%[sdj%]/g; exports.format = function (f) { if (!isString(f)) { for (var objects = [], i = 0; i < arguments.length; i++)objects.push(inspect(arguments[i])); return objects.join(" ") } for (var i = 1, args = arguments, len = args.length, str = String(f).replace(formatRegExp, function (x) { if ("%%" === x) return "%"; if (i >= len) return x; switch (x) { case "%s": return String(args[i++]); case "%d": return Number(args[i++]); case "%j": try { return JSON.stringify(args[i++]) } catch (_) { return "[Circular]" } default: return x } }), x = args[i]; len > i; x = args[++i])str += isNull(x) || !isObject(x) ? " " + x : " " + inspect(x); return str }, exports.deprecate = function (fn, msg) { function deprecated() { if (!warned) { if (process.throwDeprecation) throw new Error(msg); process.traceDeprecation ? console.trace(msg) : console.error(msg), warned = !0 } return fn.apply(this, arguments) } if (isUndefined(global.process)) return function () { return exports.deprecate(fn, msg).apply(this, arguments) }; if (process.noDeprecation === !0) return fn; var warned = !1; return deprecated }; var debugEnviron, debugs = {}; exports.debuglog = function (set) { if (isUndefined(debugEnviron) && (debugEnviron = process.env.NODE_DEBUG || ""), set = set.toUpperCase(), !debugs[set]) if (new RegExp("\\b" + set + "\\b", "i").test(debugEnviron)) { var pid = process.pid; debugs[set] = function () { var msg = exports.format.apply(exports, arguments); console.error("%s %d: %s", set, pid, msg) } } else debugs[set] = function () { }; return debugs[set] }, exports.inspect = inspect, inspect.colors = {
bold: [1, 22], italic: [3, 23], underline: [4, 24], inverse: [7, 27], white: [37, 39], grey: [90, 39], black: [30, 39], blue: [34, 39], cyan: [36, 39],
green: [32, 39], magenta: [35, 39], red: [31, 39], yellow: [33, 39]
}, inspect.styles = { special: "cyan", number: "yellow", "boolean": "yellow", undefined: "grey", "null": "bold", string: "green", date: "magenta", regexp: "red" }, exports.isArray = isArray, exports.isBoolean = isBoolean, exports.isNull = isNull, exports.isNullOrUndefined = isNullOrUndefined, exports.isNumber = isNumber, exports.isString = isString, exports.isSymbol = isSymbol, exports.isUndefined = isUndefined, exports.isRegExp = isRegExp, exports.isObject = isObject, exports.isDate = isDate, exports.isError = isError, exports.isFunction = isFunction, exports.isPrimitive = isPrimitive, exports.isBuffer = require("./support/isBuffer"); var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; exports.log = function () { console.log("%s - %s", timestamp(), exports.format.apply(exports, arguments)) }, exports.inherits = require("inherits"), exports._extend = function (origin, add) { if (!add || !isObject(add)) return origin; for (var keys = Object.keys(add), i = keys.length; i--;)origin[keys[i]] = add[keys[i]]; return origin }
}).call(this, require("_process"), "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {})
}, { "./support/isBuffer": 105, _process: 102, inherits: 104 }], 107: [function (require, module, exports) { (function () { var assign, getValue, isArray, isEmpty, isFunction, isObject, isPlainObject, slice = [].slice, hasProp = {}.hasOwnProperty; assign = function () { var i, key, len, source, sources, target; if (target = arguments[0], sources = 2 <= arguments.length ? slice.call(arguments, 1) : [], isFunction(Object.assign)) Object.assign.apply(null, arguments); else for (i = 0, len = sources.length; len > i; i++)if (source = sources[i], null != source) for (key in source) hasProp.call(source, key) && (target[key] = source[key]); return target }, isFunction = function (val) { return !!val && "[object Function]" === Object.prototype.toString.call(val) }, isObject = function (val) { var ref; return !!val && ("function" == (ref = typeof val) || "object" === ref) }, isArray = function (val) { return isFunction(Array.isArray) ? Array.isArray(val) : "[object Array]" === Object.prototype.toString.call(val) }, isEmpty = function (val) { var key; if (isArray(val)) return !val.length; for (key in val) if (hasProp.call(val, key)) return !1; return !0 }, isPlainObject = function (val) { var ctor, proto; return isObject(val) && (proto = Object.getPrototypeOf(val)) && (ctor = proto.constructor) && "function" == typeof ctor && ctor instanceof ctor && Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object) }, getValue = function (obj) { return isFunction(obj.valueOf) ? obj.valueOf() : obj }, module.exports.assign = assign, module.exports.isFunction = isFunction, module.exports.isObject = isObject, module.exports.isArray = isArray, module.exports.isEmpty = isEmpty, module.exports.isPlainObject = isPlainObject, module.exports.getValue = getValue }).call(this) }, {}], 108: [function (require, module, exports) { (function () { var XMLAttribute; module.exports = XMLAttribute = function () { function XMLAttribute(parent, name, value) { if (this.options = parent.options, this.stringify = parent.stringify, this.parent = parent, null == name) throw new Error("Missing attribute name. " + this.debugInfo(name)); if (null == value) throw new Error("Missing attribute value. " + this.debugInfo(name)); this.name = this.stringify.attName(name), this.value = this.stringify.attValue(value) } return XMLAttribute.prototype.clone = function () { return Object.create(this) }, XMLAttribute.prototype.toString = function (options) { return this.options.writer.set(options).attribute(this) }, XMLAttribute.prototype.debugInfo = function (name) { var ref, ref1; return name = name || this.name, null != name || (null != (ref = this.parent) ? ref.name : void 0) ? null == name ? "parent: <" + this.parent.name + ">" : (null != (ref1 = this.parent) ? ref1.name : void 0) ? "attribute: {" + name + "}, parent: <" + this.parent.name + ">" : "attribute: {" + name + "}" : "" }, XMLAttribute }() }).call(this) }, {}], 109: [function (require, module, exports) { (function () { var XMLCData, XMLNode, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLCData = function (superClass) { function XMLCData(parent, text) { if (XMLCData.__super__.constructor.call(this, parent), null == text) throw new Error("Missing CDATA text. " + this.debugInfo()); this.text = this.stringify.cdata(text) } return extend(XMLCData, superClass), XMLCData.prototype.clone = function () { return Object.create(this) }, XMLCData.prototype.toString = function (options) { return this.options.writer.set(options).cdata(this) }, XMLCData }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 110: [function (require, module, exports) { (function () { var XMLComment, XMLNode, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLComment = function (superClass) { function XMLComment(parent, text) { if (XMLComment.__super__.constructor.call(this, parent), null == text) throw new Error("Missing comment text. " + this.debugInfo()); this.text = this.stringify.comment(text) } return extend(XMLComment, superClass), XMLComment.prototype.clone = function () { return Object.create(this) }, XMLComment.prototype.toString = function (options) { return this.options.writer.set(options).comment(this) }, XMLComment }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 111: [function (require, module, exports) { (function () { var XMLDTDAttList, XMLNode, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLDTDAttList = function (superClass) { function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) { if (XMLDTDAttList.__super__.constructor.call(this, parent), null == elementName) throw new Error("Missing DTD element name. " + this.debugInfo()); if (null == attributeName) throw new Error("Missing DTD attribute name. " + this.debugInfo(elementName)); if (!attributeType) throw new Error("Missing DTD attribute type. " + this.debugInfo(elementName)); if (!defaultValueType) throw new Error("Missing DTD attribute default. " + this.debugInfo(elementName)); if (0 !== defaultValueType.indexOf("#") && (defaultValueType = "#" + defaultValueType), !defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. " + this.debugInfo(elementName)); if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) throw new Error("Default value only applies to #FIXED or #DEFAULT. " + this.debugInfo(elementName)); this.elementName = this.stringify.eleName(elementName), this.attributeName = this.stringify.attName(attributeName), this.attributeType = this.stringify.dtdAttType(attributeType), this.defaultValue = this.stringify.dtdAttDefault(defaultValue), this.defaultValueType = defaultValueType } return extend(XMLDTDAttList, superClass), XMLDTDAttList.prototype.toString = function (options) { return this.options.writer.set(options).dtdAttList(this) }, XMLDTDAttList }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 112: [function (require, module, exports) { (function () { var XMLDTDElement, XMLNode, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLDTDElement = function (superClass) { function XMLDTDElement(parent, name, value) { if (XMLDTDElement.__super__.constructor.call(this, parent), null == name) throw new Error("Missing DTD element name. " + this.debugInfo()); value || (value = "(#PCDATA)"), Array.isArray(value) && (value = "(" + value.join(",") + ")"), this.name = this.stringify.eleName(name), this.value = this.stringify.dtdElementValue(value) } return extend(XMLDTDElement, superClass), XMLDTDElement.prototype.toString = function (options) { return this.options.writer.set(options).dtdElement(this) }, XMLDTDElement }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 113: [function (require, module, exports) { (function () { var XMLDTDEntity, XMLNode, isObject, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; isObject = require("./Utility").isObject, XMLNode = require("./XMLNode"), module.exports = XMLDTDEntity = function (superClass) { function XMLDTDEntity(parent, pe, name, value) { if (XMLDTDEntity.__super__.constructor.call(this, parent), null == name) throw new Error("Missing DTD entity name. " + this.debugInfo(name)); if (null == value) throw new Error("Missing DTD entity value. " + this.debugInfo(name)); if (this.pe = !!pe, this.name = this.stringify.eleName(name), isObject(value)) { if (!value.pubID && !value.sysID) throw new Error("Public and/or system identifiers are required for an external entity. " + this.debugInfo(name)); if (value.pubID && !value.sysID) throw new Error("System identifier is required for a public external entity. " + this.debugInfo(name)); if (null != value.pubID && (this.pubID = this.stringify.dtdPubID(value.pubID)), null != value.sysID && (this.sysID = this.stringify.dtdSysID(value.sysID)), null != value.nData && (this.nData = this.stringify.dtdNData(value.nData)), this.pe && this.nData) throw new Error("Notation declaration is not allowed in a parameter entity. " + this.debugInfo(name)) } else this.value = this.stringify.dtdEntityValue(value) } return extend(XMLDTDEntity, superClass), XMLDTDEntity.prototype.toString = function (options) { return this.options.writer.set(options).dtdEntity(this) }, XMLDTDEntity }(XMLNode) }).call(this) }, { "./Utility": 107, "./XMLNode": 120 }], 114: [function (require, module, exports) { (function () { var XMLDTDNotation, XMLNode, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLDTDNotation = function (superClass) { function XMLDTDNotation(parent, name, value) { if (XMLDTDNotation.__super__.constructor.call(this, parent), null == name) throw new Error("Missing DTD notation name. " + this.debugInfo(name)); if (!value.pubID && !value.sysID) throw new Error("Public or system identifiers are required for an external entity. " + this.debugInfo(name)); this.name = this.stringify.eleName(name), null != value.pubID && (this.pubID = this.stringify.dtdPubID(value.pubID)), null != value.sysID && (this.sysID = this.stringify.dtdSysID(value.sysID)) } return extend(XMLDTDNotation, superClass), XMLDTDNotation.prototype.toString = function (options) { return this.options.writer.set(options).dtdNotation(this) }, XMLDTDNotation }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 115: [function (require, module, exports) { (function () { var XMLDeclaration, XMLNode, isObject, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; isObject = require("./Utility").isObject, XMLNode = require("./XMLNode"), module.exports = XMLDeclaration = function (superClass) { function XMLDeclaration(parent, version, encoding, standalone) { var ref; XMLDeclaration.__super__.constructor.call(this, parent), isObject(version) && (ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone), version || (version = "1.0"), this.version = this.stringify.xmlVersion(version), null != encoding && (this.encoding = this.stringify.xmlEncoding(encoding)), null != standalone && (this.standalone = this.stringify.xmlStandalone(standalone)) } return extend(XMLDeclaration, superClass), XMLDeclaration.prototype.toString = function (options) { return this.options.writer.set(options).declaration(this) }, XMLDeclaration }(XMLNode) }).call(this) }, { "./Utility": 107, "./XMLNode": 120 }], 116: [function (require, module, exports) { (function () { var XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNode, isObject, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; isObject = require("./Utility").isObject, XMLNode = require("./XMLNode"), XMLDTDAttList = require("./XMLDTDAttList"), XMLDTDEntity = require("./XMLDTDEntity"), XMLDTDElement = require("./XMLDTDElement"), XMLDTDNotation = require("./XMLDTDNotation"), module.exports = XMLDocType = function (superClass) { function XMLDocType(parent, pubID, sysID) { var ref, ref1; XMLDocType.__super__.constructor.call(this, parent), this.name = "!DOCTYPE", this.documentObject = parent, isObject(pubID) && (ref = pubID, pubID = ref.pubID, sysID = ref.sysID), null == sysID && (ref1 = [pubID, sysID], sysID = ref1[0], pubID = ref1[1]), null != pubID && (this.pubID = this.stringify.dtdPubID(pubID)), null != sysID && (this.sysID = this.stringify.dtdSysID(sysID)) } return extend(XMLDocType, superClass), XMLDocType.prototype.element = function (name, value) { var child; return child = new XMLDTDElement(this, name, value), this.children.push(child), this }, XMLDocType.prototype.attList = function (elementName, attributeName, attributeType, defaultValueType, defaultValue) { var child; return child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue), this.children.push(child), this }, XMLDocType.prototype.entity = function (name, value) { var child; return child = new XMLDTDEntity(this, !1, name, value), this.children.push(child), this }, XMLDocType.prototype.pEntity = function (name, value) { var child; return child = new XMLDTDEntity(this, !0, name, value), this.children.push(child), this }, XMLDocType.prototype.notation = function (name, value) { var child; return child = new XMLDTDNotation(this, name, value), this.children.push(child), this }, XMLDocType.prototype.toString = function (options) { return this.options.writer.set(options).docType(this) }, XMLDocType.prototype.ele = function (name, value) { return this.element(name, value) }, XMLDocType.prototype.att = function (elementName, attributeName, attributeType, defaultValueType, defaultValue) { return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue) }, XMLDocType.prototype.ent = function (name, value) { return this.entity(name, value) }, XMLDocType.prototype.pent = function (name, value) { return this.pEntity(name, value) }, XMLDocType.prototype.not = function (name, value) { return this.notation(name, value) }, XMLDocType.prototype.up = function () { return this.root() || this.documentObject }, XMLDocType }(XMLNode) }).call(this) }, { "./Utility": 107, "./XMLDTDAttList": 111, "./XMLDTDElement": 112, "./XMLDTDEntity": 113, "./XMLDTDNotation": 114, "./XMLNode": 120 }], 117: [function (require, module, exports) { (function () { var XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; isPlainObject = require("./Utility").isPlainObject, XMLNode = require("./XMLNode"), XMLStringifier = require("./XMLStringifier"), XMLStringWriter = require("./XMLStringWriter"), module.exports = XMLDocument = function (superClass) { function XMLDocument(options) { XMLDocument.__super__.constructor.call(this, null), this.name = "?xml", options || (options = {}), options.writer || (options.writer = new XMLStringWriter), this.options = options, this.stringify = new XMLStringifier(options), this.isDocument = !0 } return extend(XMLDocument, superClass), XMLDocument.prototype.end = function (writer) { var writerOptions; return writer ? isPlainObject(writer) && (writerOptions = writer, writer = this.options.writer.set(writerOptions)) : writer = this.options.writer, writer.document(this) }, XMLDocument.prototype.toString = function (options) { return this.options.writer.set(options).document(this) }, XMLDocument }(XMLNode) }).call(this) }, { "./Utility": 107, "./XMLNode": 120, "./XMLStringWriter": 124, "./XMLStringifier": 125 }], 118: [function (require, module, exports) { (function () { var XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref, hasProp = {}.hasOwnProperty; ref = require("./Utility"), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue, XMLElement = require("./XMLElement"), XMLCData = require("./XMLCData"), XMLComment = require("./XMLComment"), XMLRaw = require("./XMLRaw"), XMLText = require("./XMLText"), XMLProcessingInstruction = require("./XMLProcessingInstruction"), XMLDeclaration = require("./XMLDeclaration"), XMLDocType = require("./XMLDocType"), XMLDTDAttList = require("./XMLDTDAttList"), XMLDTDEntity = require("./XMLDTDEntity"), XMLDTDElement = require("./XMLDTDElement"), XMLDTDNotation = require("./XMLDTDNotation"), XMLAttribute = require("./XMLAttribute"), XMLStringifier = require("./XMLStringifier"), XMLStringWriter = require("./XMLStringWriter"), module.exports = XMLDocumentCB = function () { function XMLDocumentCB(options, onData, onEnd) { var writerOptions; this.name = "?xml", options || (options = {}), options.writer ? isPlainObject(options.writer) && (writerOptions = options.writer, options.writer = new XMLStringWriter(writerOptions)) : options.writer = new XMLStringWriter(options), this.options = options, this.writer = options.writer, this.stringify = new XMLStringifier(options), this.onDataCallback = onData || function () { }, this.onEndCallback = onEnd || function () { }, this.currentNode = null, this.currentLevel = -1, this.openTags = {}, this.documentStarted = !1, this.documentCompleted = !1, this.root = null } return XMLDocumentCB.prototype.node = function (name, attributes, text) { var ref1; if (null == name) throw new Error("Missing node name."); if (this.root && -1 === this.currentLevel) throw new Error("Document can only have one root node. " + this.debugInfo(name)); return this.openCurrent(), name = getValue(name), null == attributes && (attributes = {}), attributes = getValue(attributes), isObject(attributes) || (ref1 = [attributes, text], text = ref1[0], attributes = ref1[1]), this.currentNode = new XMLElement(this, name, attributes), this.currentNode.children = !1, this.currentLevel++, this.openTags[this.currentLevel] = this.currentNode, null != text && this.text(text), this }, XMLDocumentCB.prototype.element = function (name, attributes, text) { return this.currentNode && this.currentNode instanceof XMLDocType ? this.dtdElement.apply(this, arguments) : this.node(name, attributes, text) }, XMLDocumentCB.prototype.attribute = function (name, value) { var attName, attValue; if (!this.currentNode || this.currentNode.children) throw new Error("att() can only be used immediately after an ele() call in callback mode. " + this.debugInfo(name)); if (null != name && (name = getValue(name)), isObject(name)) for (attName in name) hasProp.call(name, attName) && (attValue = name[attName], this.attribute(attName, attValue)); else isFunction(value) && (value = value.apply()), this.options.skipNullAttributes && null == value || (this.currentNode.attributes[name] = new XMLAttribute(this, name, value)); return this }, XMLDocumentCB.prototype.text = function (value) { var node; return this.openCurrent(), node = new XMLText(this, value), this.onData(this.writer.text(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.cdata = function (value) { var node; return this.openCurrent(), node = new XMLCData(this, value), this.onData(this.writer.cdata(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.comment = function (value) { var node; return this.openCurrent(), node = new XMLComment(this, value), this.onData(this.writer.comment(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.raw = function (value) { var node; return this.openCurrent(), node = new XMLRaw(this, value), this.onData(this.writer.raw(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.instruction = function (target, value) { var i, insTarget, insValue, len, node; if (this.openCurrent(), null != target && (target = getValue(target)), null != value && (value = getValue(value)), Array.isArray(target)) for (i = 0, len = target.length; len > i; i++)insTarget = target[i], this.instruction(insTarget); else if (isObject(target)) for (insTarget in target) hasProp.call(target, insTarget) && (insValue = target[insTarget], this.instruction(insTarget, insValue)); else isFunction(value) && (value = value.apply()), node = new XMLProcessingInstruction(this, target, value), this.onData(this.writer.processingInstruction(node, this.currentLevel + 1), this.currentLevel + 1); return this }, XMLDocumentCB.prototype.declaration = function (version, encoding, standalone) { var node; if (this.openCurrent(), this.documentStarted) throw new Error("declaration() must be the first node."); return node = new XMLDeclaration(this, version, encoding, standalone), this.onData(this.writer.declaration(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.doctype = function (root, pubID, sysID) { if (this.openCurrent(), null == root) throw new Error("Missing root node name."); if (this.root) throw new Error("dtd() must come before the root node."); return this.currentNode = new XMLDocType(this, pubID, sysID), this.currentNode.rootNodeName = root, this.currentNode.children = !1, this.currentLevel++, this.openTags[this.currentLevel] = this.currentNode, this }, XMLDocumentCB.prototype.dtdElement = function (name, value) { var node; return this.openCurrent(), node = new XMLDTDElement(this, name, value), this.onData(this.writer.dtdElement(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.attList = function (elementName, attributeName, attributeType, defaultValueType, defaultValue) { var node; return this.openCurrent(), node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue), this.onData(this.writer.dtdAttList(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.entity = function (name, value) { var node; return this.openCurrent(), node = new XMLDTDEntity(this, !1, name, value), this.onData(this.writer.dtdEntity(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.pEntity = function (name, value) { var node; return this.openCurrent(), node = new XMLDTDEntity(this, !0, name, value), this.onData(this.writer.dtdEntity(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.notation = function (name, value) { var node; return this.openCurrent(), node = new XMLDTDNotation(this, name, value), this.onData(this.writer.dtdNotation(node, this.currentLevel + 1), this.currentLevel + 1), this }, XMLDocumentCB.prototype.up = function () { if (this.currentLevel < 0) throw new Error("The document node has no parent."); return this.currentNode ? (this.currentNode.children ? this.closeNode(this.currentNode) : this.openNode(this.currentNode), this.currentNode = null) : this.closeNode(this.openTags[this.currentLevel]), delete this.openTags[this.currentLevel], this.currentLevel--, this }, XMLDocumentCB.prototype.end = function () { for (; this.currentLevel >= 0;)this.up(); return this.onEnd() }, XMLDocumentCB.prototype.openCurrent = function () { return this.currentNode ? (this.currentNode.children = !0, this.openNode(this.currentNode)) : void 0 }, XMLDocumentCB.prototype.openNode = function (node) { return node.isOpen ? void 0 : (!this.root && 0 === this.currentLevel && node instanceof XMLElement && (this.root = node), this.onData(this.writer.openNode(node, this.currentLevel), this.currentLevel), node.isOpen = !0) }, XMLDocumentCB.prototype.closeNode = function (node) { return node.isClosed ? void 0 : (this.onData(this.writer.closeNode(node, this.currentLevel), this.currentLevel), node.isClosed = !0) }, XMLDocumentCB.prototype.onData = function (chunk, level) { return this.documentStarted = !0, this.onDataCallback(chunk, level + 1) }, XMLDocumentCB.prototype.onEnd = function () { return this.documentCompleted = !0, this.onEndCallback() }, XMLDocumentCB.prototype.debugInfo = function (name) { return null == name ? "" : "node: <" + name + ">" }, XMLDocumentCB.prototype.ele = function () { return this.element.apply(this, arguments) }, XMLDocumentCB.prototype.nod = function (name, attributes, text) { return this.node(name, attributes, text) }, XMLDocumentCB.prototype.txt = function (value) { return this.text(value) }, XMLDocumentCB.prototype.dat = function (value) { return this.cdata(value) }, XMLDocumentCB.prototype.com = function (value) { return this.comment(value) }, XMLDocumentCB.prototype.ins = function (target, value) { return this.instruction(target, value) }, XMLDocumentCB.prototype.dec = function (version, encoding, standalone) { return this.declaration(version, encoding, standalone) }, XMLDocumentCB.prototype.dtd = function (root, pubID, sysID) { return this.doctype(root, pubID, sysID) }, XMLDocumentCB.prototype.e = function (name, attributes, text) { return this.element(name, attributes, text) }, XMLDocumentCB.prototype.n = function (name, attributes, text) { return this.node(name, attributes, text) }, XMLDocumentCB.prototype.t = function (value) { return this.text(value) }, XMLDocumentCB.prototype.d = function (value) { return this.cdata(value) }, XMLDocumentCB.prototype.c = function (value) { return this.comment(value) }, XMLDocumentCB.prototype.r = function (value) { return this.raw(value) }, XMLDocumentCB.prototype.i = function (target, value) { return this.instruction(target, value) }, XMLDocumentCB.prototype.att = function () { return this.currentNode && this.currentNode instanceof XMLDocType ? this.attList.apply(this, arguments) : this.attribute.apply(this, arguments) }, XMLDocumentCB.prototype.a = function () { return this.currentNode && this.currentNode instanceof XMLDocType ? this.attList.apply(this, arguments) : this.attribute.apply(this, arguments) }, XMLDocumentCB.prototype.ent = function (name, value) { return this.entity(name, value) }, XMLDocumentCB.prototype.pent = function (name, value) { return this.pEntity(name, value) }, XMLDocumentCB.prototype.not = function (name, value) { return this.notation(name, value) }, XMLDocumentCB }() }).call(this) }, { "./Utility": 107, "./XMLAttribute": 108, "./XMLCData": 109, "./XMLComment": 110, "./XMLDTDAttList": 111, "./XMLDTDElement": 112, "./XMLDTDEntity": 113, "./XMLDTDNotation": 114, "./XMLDeclaration": 115, "./XMLDocType": 116, "./XMLElement": 119, "./XMLProcessingInstruction": 121, "./XMLRaw": 122, "./XMLStringWriter": 124, "./XMLStringifier": 125, "./XMLText": 126 }], 119: [function (require, module, exports) { (function () { var XMLAttribute, XMLElement, XMLNode, getValue, isFunction, isObject, ref, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; ref = require("./Utility"), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue, XMLNode = require("./XMLNode"), XMLAttribute = require("./XMLAttribute"), module.exports = XMLElement = function (superClass) { function XMLElement(parent, name, attributes) { if (XMLElement.__super__.constructor.call(this, parent), null == name) throw new Error("Missing element name. " + this.debugInfo()); this.name = this.stringify.eleName(name), this.attributes = {}, null != attributes && this.attribute(attributes), parent.isDocument && (this.isRoot = !0, this.documentObject = parent, parent.rootObject = this) } return extend(XMLElement, superClass), XMLElement.prototype.clone = function () { var att, attName, clonedSelf, ref1; clonedSelf = Object.create(this), clonedSelf.isRoot && (clonedSelf.documentObject = null), clonedSelf.attributes = {}, ref1 = this.attributes; for (attName in ref1) hasProp.call(ref1, attName) && (att = ref1[attName], clonedSelf.attributes[attName] = att.clone()); return clonedSelf.children = [], this.children.forEach(function (child) { var clonedChild; return clonedChild = child.clone(), clonedChild.parent = clonedSelf, clonedSelf.children.push(clonedChild) }), clonedSelf }, XMLElement.prototype.attribute = function (name, value) { var attName, attValue; if (null != name && (name = getValue(name)), isObject(name)) for (attName in name) hasProp.call(name, attName) && (attValue = name[attName], this.attribute(attName, attValue)); else isFunction(value) && (value = value.apply()), this.options.skipNullAttributes && null == value || (this.attributes[name] = new XMLAttribute(this, name, value)); return this }, XMLElement.prototype.removeAttribute = function (name) { var attName, i, len; if (null == name) throw new Error("Missing attribute name. " + this.debugInfo()); if (name = getValue(name), Array.isArray(name)) for (i = 0, len = name.length; len > i; i++)attName = name[i], delete this.attributes[attName]; else delete this.attributes[name]; return this }, XMLElement.prototype.toString = function (options) { return this.options.writer.set(options).element(this) }, XMLElement.prototype.att = function (name, value) { return this.attribute(name, value) }, XMLElement.prototype.a = function (name, value) { return this.attribute(name, value) }, XMLElement }(XMLNode) }).call(this) }, { "./Utility": 107, "./XMLAttribute": 108, "./XMLNode": 120 }], 120: [function (require, module, exports) {
(function () {
var XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLElement, XMLNode, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject, ref, hasProp = {}.hasOwnProperty; ref = require("./Utility"), isObject = ref.isObject, isFunction = ref.isFunction, isEmpty = ref.isEmpty, getValue = ref.getValue, XMLElement = null, XMLCData = null, XMLComment = null, XMLDeclaration = null, XMLDocType = null, XMLRaw = null, XMLText = null, XMLProcessingInstruction = null, module.exports = XMLNode = function () {
function XMLNode(parent) { this.parent = parent, this.parent && (this.options = this.parent.options, this.stringify = this.parent.stringify), this.children = [], XMLElement || (XMLElement = require("./XMLElement"), XMLCData = require("./XMLCData"), XMLComment = require("./XMLComment"), XMLDeclaration = require("./XMLDeclaration"), XMLDocType = require("./XMLDocType"), XMLRaw = require("./XMLRaw"), XMLText = require("./XMLText"), XMLProcessingInstruction = require("./XMLProcessingInstruction")) } return XMLNode.prototype.element = function (name, attributes, text) { var childNode, item, j, k, key, lastChild, len, len1, ref1, val; if (lastChild = null, null == attributes && (attributes = {}), attributes = getValue(attributes), isObject(attributes) || (ref1 = [attributes, text], text = ref1[0], attributes = ref1[1]), null != name && (name = getValue(name)), Array.isArray(name)) for (j = 0, len = name.length; len > j; j++)item = name[j], lastChild = this.element(item); else if (isFunction(name)) lastChild = this.element(name.apply()); else if (isObject(name)) { for (key in name) if (hasProp.call(name, key)) if (val = name[key], isFunction(val) && (val = val.apply()), isObject(val) && isEmpty(val) && (val = null), !this.options.ignoreDecorators && this.stringify.convertAttKey && 0 === key.indexOf(this.stringify.convertAttKey)) lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val); else if (!this.options.separateArrayItems && Array.isArray(val)) for (k = 0, len1 = val.length; len1 > k; k++)item = val[k], childNode = {}, childNode[key] = item, lastChild = this.element(childNode); else isObject(val) ? (lastChild = this.element(key), lastChild.element(val)) : lastChild = this.element(key, val) } else lastChild = !this.options.ignoreDecorators && this.stringify.convertTextKey && 0 === name.indexOf(this.stringify.convertTextKey) ? this.text(text) : !this.options.ignoreDecorators && this.stringify.convertCDataKey && 0 === name.indexOf(this.stringify.convertCDataKey) ? this.cdata(text) : !this.options.ignoreDecorators && this.stringify.convertCommentKey && 0 === name.indexOf(this.stringify.convertCommentKey) ? this.comment(text) : !this.options.ignoreDecorators && this.stringify.convertRawKey && 0 === name.indexOf(this.stringify.convertRawKey) ? this.raw(text) : !this.options.ignoreDecorators && this.stringify.convertPIKey && 0 === name.indexOf(this.stringify.convertPIKey) ? this.instruction(name.substr(this.stringify.convertPIKey.length), text) : this.node(name, attributes, text); if (null == lastChild) throw new Error("Could not create any elements with: " + name + ". " + this.debugInfo()); return lastChild }, XMLNode.prototype.insertBefore = function (name, attributes, text) {
var child, i, removed; if (this.isRoot) throw new Error("Cannot insert elements at root level. " + this.debugInfo(name));
return i = this.parent.children.indexOf(this), removed = this.parent.children.splice(i), child = this.parent.element(name, attributes, text), Array.prototype.push.apply(this.parent.children, removed), child
}, XMLNode.prototype.insertAfter = function (name, attributes, text) { var child, i, removed; if (this.isRoot) throw new Error("Cannot insert elements at root level. " + this.debugInfo(name)); return i = this.parent.children.indexOf(this), removed = this.parent.children.splice(i + 1), child = this.parent.element(name, attributes, text), Array.prototype.push.apply(this.parent.children, removed), child }, XMLNode.prototype.remove = function () { var i, ref1; if (this.isRoot) throw new Error("Cannot remove the root element. " + this.debugInfo()); return i = this.parent.children.indexOf(this), [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref1 = [])), ref1, this.parent }, XMLNode.prototype.node = function (name, attributes, text) { var child, ref1; return null != name && (name = getValue(name)), attributes || (attributes = {}), attributes = getValue(attributes), isObject(attributes) || (ref1 = [attributes, text], text = ref1[0], attributes = ref1[1]), child = new XMLElement(this, name, attributes), null != text && child.text(text), this.children.push(child), child }, XMLNode.prototype.text = function (value) { var child; return child = new XMLText(this, value), this.children.push(child), this }, XMLNode.prototype.cdata = function (value) { var child; return child = new XMLCData(this, value), this.children.push(child), this }, XMLNode.prototype.comment = function (value) { var child; return child = new XMLComment(this, value), this.children.push(child), this }, XMLNode.prototype.commentBefore = function (value) { var child, i, removed; return i = this.parent.children.indexOf(this), removed = this.parent.children.splice(i), child = this.parent.comment(value), Array.prototype.push.apply(this.parent.children, removed), this }, XMLNode.prototype.commentAfter = function (value) { var child, i, removed; return i = this.parent.children.indexOf(this), removed = this.parent.children.splice(i + 1), child = this.parent.comment(value), Array.prototype.push.apply(this.parent.children, removed), this }, XMLNode.prototype.raw = function (value) { var child; return child = new XMLRaw(this, value), this.children.push(child), this }, XMLNode.prototype.instruction = function (target, value) { var insTarget, insValue, instruction, j, len; if (null != target && (target = getValue(target)), null != value && (value = getValue(value)), Array.isArray(target)) for (j = 0, len = target.length; len > j; j++)insTarget = target[j], this.instruction(insTarget); else if (isObject(target)) for (insTarget in target) hasProp.call(target, insTarget) && (insValue = target[insTarget], this.instruction(insTarget, insValue)); else isFunction(value) && (value = value.apply()), instruction = new XMLProcessingInstruction(this, target, value), this.children.push(instruction); return this }, XMLNode.prototype.instructionBefore = function (target, value) { var child, i, removed; return i = this.parent.children.indexOf(this), removed = this.parent.children.splice(i), child = this.parent.instruction(target, value), Array.prototype.push.apply(this.parent.children, removed), this }, XMLNode.prototype.instructionAfter = function (target, value) { var child, i, removed; return i = this.parent.children.indexOf(this), removed = this.parent.children.splice(i + 1), child = this.parent.instruction(target, value), Array.prototype.push.apply(this.parent.children, removed), this }, XMLNode.prototype.declaration = function (version, encoding, standalone) { var doc, xmldec; return doc = this.document(), xmldec = new XMLDeclaration(doc, version, encoding, standalone), doc.children[0] instanceof XMLDeclaration ? doc.children[0] = xmldec : doc.children.unshift(xmldec), doc.root() || doc }, XMLNode.prototype.doctype = function (pubID, sysID) { var child, doc, doctype, i, j, k, len, len1, ref1, ref2; for (doc = this.document(), doctype = new XMLDocType(doc, pubID, sysID), ref1 = doc.children, i = j = 0, len = ref1.length; len > j; i = ++j)if (child = ref1[i], child instanceof XMLDocType) return doc.children[i] = doctype, doctype; for (ref2 = doc.children, i = k = 0, len1 = ref2.length; len1 > k; i = ++k)if (child = ref2[i], child.isRoot) return doc.children.splice(i, 0, doctype), doctype; return doc.children.push(doctype), doctype }, XMLNode.prototype.up = function () { if (this.isRoot) throw new Error("The root node has no parent. Use doc() if you need to get the document object."); return this.parent }, XMLNode.prototype.root = function () { var node; for (node = this; node;) { if (node.isDocument) return node.rootObject; if (node.isRoot) return node; node = node.parent } }, XMLNode.prototype.document = function () { var node; for (node = this; node;) { if (node.isDocument) return node; node = node.parent } }, XMLNode.prototype.end = function (options) { return this.document().end(options) }, XMLNode.prototype.prev = function () { var i; if (i = this.parent.children.indexOf(this), 1 > i) throw new Error("Already at the first node. " + this.debugInfo()); return this.parent.children[i - 1] }, XMLNode.prototype.next = function () { var i; if (i = this.parent.children.indexOf(this), -1 === i || i === this.parent.children.length - 1) throw new Error("Already at the last node. " + this.debugInfo()); return this.parent.children[i + 1] }, XMLNode.prototype.importDocument = function (doc) { var clonedRoot; return clonedRoot = doc.root().clone(), clonedRoot.parent = this, clonedRoot.isRoot = !1, this.children.push(clonedRoot), this }, XMLNode.prototype.debugInfo = function (name) { var ref1, ref2; return name = name || this.name, null != name || (null != (ref1 = this.parent) ? ref1.name : void 0) ? null == name ? "parent: <" + this.parent.name + ">" : (null != (ref2 = this.parent) ? ref2.name : void 0) ? "node: <" + name + ">, parent: <" + this.parent.name + ">" : "node: <" + name + ">" : "" }, XMLNode.prototype.ele = function (name, attributes, text) { return this.element(name, attributes, text) }, XMLNode.prototype.nod = function (name, attributes, text) { return this.node(name, attributes, text) }, XMLNode.prototype.txt = function (value) { return this.text(value) }, XMLNode.prototype.dat = function (value) { return this.cdata(value) }, XMLNode.prototype.com = function (value) { return this.comment(value) }, XMLNode.prototype.ins = function (target, value) { return this.instruction(target, value) }, XMLNode.prototype.doc = function () { return this.document() }, XMLNode.prototype.dec = function (version, encoding, standalone) { return this.declaration(version, encoding, standalone) }, XMLNode.prototype.dtd = function (pubID, sysID) { return this.doctype(pubID, sysID) }, XMLNode.prototype.e = function (name, attributes, text) { return this.element(name, attributes, text) }, XMLNode.prototype.n = function (name, attributes, text) { return this.node(name, attributes, text) }, XMLNode.prototype.t = function (value) { return this.text(value) }, XMLNode.prototype.d = function (value) { return this.cdata(value) }, XMLNode.prototype.c = function (value) { return this.comment(value) }, XMLNode.prototype.r = function (value) { return this.raw(value) }, XMLNode.prototype.i = function (target, value) { return this.instruction(target, value) }, XMLNode.prototype.u = function () { return this.up() }, XMLNode.prototype.importXMLBuilder = function (doc) { return this.importDocument(doc) }, XMLNode
}()
}).call(this)
}, { "./Utility": 107, "./XMLCData": 109, "./XMLComment": 110, "./XMLDeclaration": 115, "./XMLDocType": 116, "./XMLElement": 119, "./XMLProcessingInstruction": 121, "./XMLRaw": 122, "./XMLText": 126 }], 121: [function (require, module, exports) { (function () { var XMLNode, XMLProcessingInstruction, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLProcessingInstruction = function (superClass) { function XMLProcessingInstruction(parent, target, value) { if (XMLProcessingInstruction.__super__.constructor.call(this, parent), null == target) throw new Error("Missing instruction target. " + this.debugInfo()); this.target = this.stringify.insTarget(target), value && (this.value = this.stringify.insValue(value)) } return extend(XMLProcessingInstruction, superClass), XMLProcessingInstruction.prototype.clone = function () { return Object.create(this) }, XMLProcessingInstruction.prototype.toString = function (options) { return this.options.writer.set(options).processingInstruction(this) }, XMLProcessingInstruction }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 122: [function (require, module, exports) { (function () { var XMLNode, XMLRaw, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLNode = require("./XMLNode"), module.exports = XMLRaw = function (superClass) { function XMLRaw(parent, text) { if (XMLRaw.__super__.constructor.call(this, parent), null == text) throw new Error("Missing raw text. " + this.debugInfo()); this.value = this.stringify.raw(text) } return extend(XMLRaw, superClass), XMLRaw.prototype.clone = function () { return Object.create(this) }, XMLRaw.prototype.toString = function (options) { return this.options.writer.set(options).raw(this) }, XMLRaw }(XMLNode) }).call(this) }, { "./XMLNode": 120 }], 123: [function (require, module, exports) { (function () { var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStreamWriter, XMLText, XMLWriterBase, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLDeclaration = require("./XMLDeclaration"), XMLDocType = require("./XMLDocType"), XMLCData = require("./XMLCData"), XMLComment = require("./XMLComment"), XMLElement = require("./XMLElement"), XMLRaw = require("./XMLRaw"), XMLText = require("./XMLText"), XMLProcessingInstruction = require("./XMLProcessingInstruction"), XMLDTDAttList = require("./XMLDTDAttList"), XMLDTDElement = require("./XMLDTDElement"), XMLDTDEntity = require("./XMLDTDEntity"), XMLDTDNotation = require("./XMLDTDNotation"), XMLWriterBase = require("./XMLWriterBase"), module.exports = XMLStreamWriter = function (superClass) { function XMLStreamWriter(stream, options) { XMLStreamWriter.__super__.constructor.call(this, options), this.stream = stream } return extend(XMLStreamWriter, superClass), XMLStreamWriter.prototype.document = function (doc) { var child, i, j, len, len1, ref, ref1, results; for (ref = doc.children, i = 0, len = ref.length; len > i; i++)child = ref[i], child.isLastRootNode = !1; for (doc.children[doc.children.length - 1].isLastRootNode = !0, ref1 = doc.children, results = [], j = 0, len1 = ref1.length; len1 > j; j++)switch (child = ref1[j], !1) { case !(child instanceof XMLDeclaration): results.push(this.declaration(child)); break; case !(child instanceof XMLDocType): results.push(this.docType(child)); break; case !(child instanceof XMLComment): results.push(this.comment(child)); break; case !(child instanceof XMLProcessingInstruction): results.push(this.processingInstruction(child)); break; default: results.push(this.element(child)) }return results }, XMLStreamWriter.prototype.attribute = function (att) { return this.stream.write(" " + att.name + '="' + att.value + '"') }, XMLStreamWriter.prototype.cdata = function (node, level) { return this.stream.write(this.space(level) + "" + this.endline(node)) }, XMLStreamWriter.prototype.comment = function (node, level) { return this.stream.write(this.space(level) + "" + this.endline(node)) }, XMLStreamWriter.prototype.declaration = function (node, level) { return this.stream.write(this.space(level)), this.stream.write('"), this.stream.write(this.endline(node)) }, XMLStreamWriter.prototype.docType = function (node, level) { var child, i, len, ref; if (level || (level = 0), this.stream.write(this.space(level)), this.stream.write(" 0) { for (this.stream.write(" ["), this.stream.write(this.endline(node)), ref = node.children, i = 0, len = ref.length; len > i; i++)switch (child = ref[i], !1) { case !(child instanceof XMLDTDAttList): this.dtdAttList(child, level + 1); break; case !(child instanceof XMLDTDElement): this.dtdElement(child, level + 1); break; case !(child instanceof XMLDTDEntity): this.dtdEntity(child, level + 1); break; case !(child instanceof XMLDTDNotation): this.dtdNotation(child, level + 1); break; case !(child instanceof XMLCData): this.cdata(child, level + 1); break; case !(child instanceof XMLComment): this.comment(child, level + 1); break; case !(child instanceof XMLProcessingInstruction): this.processingInstruction(child, level + 1); break; default: throw new Error("Unknown DTD node type: " + child.constructor.name) }this.stream.write("]") } return this.stream.write(this.spacebeforeslash + ">"), this.stream.write(this.endline(node)) }, XMLStreamWriter.prototype.element = function (node, level) { var att, child, i, len, name, ref, ref1, space; level || (level = 0), space = this.space(level), this.stream.write(space + "<" + node.name), ref = node.attributes; for (name in ref) hasProp.call(ref, name) && (att = ref[name], this.attribute(att)); if (0 === node.children.length || node.children.every(function (e) { return "" === e.value })) this.allowEmpty ? this.stream.write(">" + node.name + ">") : this.stream.write(this.spacebeforeslash + "/>"); else if (this.pretty && 1 === node.children.length && null != node.children[0].value) this.stream.write(">"), this.stream.write(node.children[0].value), this.stream.write("" + node.name + ">"); else { for (this.stream.write(">" + this.newline), ref1 = node.children, i = 0, len = ref1.length; len > i; i++)switch (child = ref1[i], !1) { case !(child instanceof XMLCData): this.cdata(child, level + 1); break; case !(child instanceof XMLComment): this.comment(child, level + 1); break; case !(child instanceof XMLElement): this.element(child, level + 1); break; case !(child instanceof XMLRaw): this.raw(child, level + 1); break; case !(child instanceof XMLText): this.text(child, level + 1); break; case !(child instanceof XMLProcessingInstruction): this.processingInstruction(child, level + 1); break; default: throw new Error("Unknown XML node type: " + child.constructor.name) }this.stream.write(space + "" + node.name + ">") } return this.stream.write(this.endline(node)) }, XMLStreamWriter.prototype.processingInstruction = function (node, level) { return this.stream.write(this.space(level) + "" + node.target), node.value && this.stream.write(" " + node.value), this.stream.write(this.spacebeforeslash + "?>" + this.endline(node)) }, XMLStreamWriter.prototype.raw = function (node, level) { return this.stream.write(this.space(level) + node.value + this.endline(node)) }, XMLStreamWriter.prototype.text = function (node, level) { return this.stream.write(this.space(level) + node.value + this.endline(node)) }, XMLStreamWriter.prototype.dtdAttList = function (node, level) { return this.stream.write(this.space(level) + "" + this.endline(node)) }, XMLStreamWriter.prototype.dtdElement = function (node, level) { return this.stream.write(this.space(level) + "" + this.endline(node)) }, XMLStreamWriter.prototype.dtdEntity = function (node, level) { return this.stream.write(this.space(level) + "" + this.endline(node)) }, XMLStreamWriter.prototype.dtdNotation = function (node, level) { return this.stream.write(this.space(level) + "" + this.endline(node)) }, XMLStreamWriter.prototype.endline = function (node) { return node.isLastRootNode ? "" : this.newline }, XMLStreamWriter }(XMLWriterBase) }).call(this) }, { "./XMLCData": 109, "./XMLComment": 110, "./XMLDTDAttList": 111, "./XMLDTDElement": 112, "./XMLDTDEntity": 113, "./XMLDTDNotation": 114, "./XMLDeclaration": 115, "./XMLDocType": 116, "./XMLElement": 119, "./XMLProcessingInstruction": 121, "./XMLRaw": 122, "./XMLText": 126, "./XMLWriterBase": 127 }], 124: [function (require, module, exports) { (function () { var XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLText, XMLWriterBase, extend = function (child, parent) { function ctor() { this.constructor = child } for (var key in parent) hasProp.call(parent, key) && (child[key] = parent[key]); return ctor.prototype = parent.prototype, child.prototype = new ctor, child.__super__ = parent.prototype, child }, hasProp = {}.hasOwnProperty; XMLDeclaration = require("./XMLDeclaration"), XMLDocType = require("./XMLDocType"), XMLCData = require("./XMLCData"), XMLComment = require("./XMLComment"), XMLElement = require("./XMLElement"), XMLRaw = require("./XMLRaw"), XMLText = require("./XMLText"), XMLProcessingInstruction = require("./XMLProcessingInstruction"), XMLDTDAttList = require("./XMLDTDAttList"), XMLDTDElement = require("./XMLDTDElement"), XMLDTDEntity = require("./XMLDTDEntity"), XMLDTDNotation = require("./XMLDTDNotation"), XMLWriterBase = require("./XMLWriterBase"), module.exports = XMLStringWriter = function (superClass) { function XMLStringWriter(options) { XMLStringWriter.__super__.constructor.call(this, options) } return extend(XMLStringWriter, superClass), XMLStringWriter.prototype.document = function (doc) { var child, i, len, r, ref; for (this.textispresent = !1, r = "", ref = doc.children, i = 0, len = ref.length; len > i; i++)child = ref[i], r += function () { switch (!1) { case !(child instanceof XMLDeclaration): return this.declaration(child); case !(child instanceof XMLDocType): return this.docType(child); case !(child instanceof XMLComment): return this.comment(child); case !(child instanceof XMLProcessingInstruction): return this.processingInstruction(child); default: return this.element(child, 0) } }.call(this); return this.pretty && r.slice(-this.newline.length) === this.newline && (r = r.slice(0, -this.newline.length)), r }, XMLStringWriter.prototype.attribute = function (att) { return " " + att.name + '="' + att.value + '"' }, XMLStringWriter.prototype.cdata = function (node, level) { return this.space(level) + "" + this.newline }, XMLStringWriter.prototype.comment = function (node, level) { return this.space(level) + "" + this.newline }, XMLStringWriter.prototype.declaration = function (node, level) { var r; return r = this.space(level), r += '", r += this.newline }, XMLStringWriter.prototype.docType = function (node, level) { var child, i, len, r, ref; if (level || (level = 0), r = this.space(level), r += " 0) { for (r += " [", r += this.newline, ref = node.children, i = 0, len = ref.length; len > i; i++)child = ref[i], r += function () { switch (!1) { case !(child instanceof XMLDTDAttList): return this.dtdAttList(child, level + 1); case !(child instanceof XMLDTDElement): return this.dtdElement(child, level + 1); case !(child instanceof XMLDTDEntity): return this.dtdEntity(child, level + 1); case !(child instanceof XMLDTDNotation): return this.dtdNotation(child, level + 1); case !(child instanceof XMLCData): return this.cdata(child, level + 1); case !(child instanceof XMLComment): return this.comment(child, level + 1); case !(child instanceof XMLProcessingInstruction): return this.processingInstruction(child, level + 1); default: throw new Error("Unknown DTD node type: " + child.constructor.name) } }.call(this); r += "]" } return r += this.spacebeforeslash + ">", r += this.newline }, XMLStringWriter.prototype.element = function (node, level) { var att, child, i, j, len, len1, name, r, ref, ref1, ref2, space, textispresentwasset; level || (level = 0), textispresentwasset = !1, this.textispresent ? (this.newline = "", this.pretty = !1) : (this.newline = this.newlinedefault, this.pretty = this.prettydefault), space = this.space(level), r = "", r += space + "<" + node.name, ref = node.attributes; for (name in ref) hasProp.call(ref, name) && (att = ref[name], r += this.attribute(att)); if (0 === node.children.length || node.children.every(function (e) { return "" === e.value })) r += this.allowEmpty ? ">" + node.name + ">" + this.newline : this.spacebeforeslash + "/>" + this.newline; else if (this.pretty && 1 === node.children.length && null != node.children[0].value) r += ">", r += node.children[0].value, r += "" + node.name + ">" + this.newline; else { if (this.dontprettytextnodes) for (ref1 = node.children, i = 0, len = ref1.length; len > i; i++)if (child = ref1[i], null != child.value) { this.textispresent++, textispresentwasset = !0; break } for (this.textispresent && (this.newline = "", this.pretty = !1, space = this.space(level)), r += ">" + this.newline, ref2 = node.children, j = 0, len1 = ref2.length; len1 > j; j++)child = ref2[j], r += function () { switch (!1) { case !(child instanceof XMLCData): return this.cdata(child, level + 1); case !(child instanceof XMLComment): return this.comment(child, level + 1); case !(child instanceof XMLElement): return this.element(child, level + 1); case !(child instanceof XMLRaw): return this.raw(child, level + 1); case !(child instanceof XMLText): return this.text(child, level + 1); case !(child instanceof XMLProcessingInstruction): return this.processingInstruction(child, level + 1); default: throw new Error("Unknown XML node type: " + child.constructor.name) } }.call(this); textispresentwasset && this.textispresent--, this.textispresent || (this.newline = this.newlinedefault, this.pretty = this.prettydefault), r += space + "" + node.name + ">" + this.newline } return r }, XMLStringWriter.prototype.processingInstruction = function (node, level) { var r; return r = this.space(level) + "" + node.target, node.value && (r += " " + node.value), r += this.spacebeforeslash + "?>" + this.newline }, XMLStringWriter.prototype.raw = function (node, level) { return this.space(level) + node.value + this.newline }, XMLStringWriter.prototype.text = function (node, level) { return this.space(level) + node.value + this.newline }, XMLStringWriter.prototype.dtdAttList = function (node, level) { var r; return r = this.space(level) + "" + this.newline }, XMLStringWriter.prototype.dtdElement = function (node, level) { return this.space(level) + "" + this.newline }, XMLStringWriter.prototype.dtdEntity = function (node, level) { var r; return r = this.space(level) + "" + this.newline }, XMLStringWriter.prototype.dtdNotation = function (node, level) { var r; return r = this.space(level) + "" + this.newline }, XMLStringWriter.prototype.openNode = function (node, level) { var att, name, r, ref; if (level || (level = 0), node instanceof XMLElement) { r = this.space(level) + "<" + node.name, ref = node.attributes; for (name in ref) hasProp.call(ref, name) && (att = ref[name], r += this.attribute(att)); return r += (node.children ? ">" : "/>") + this.newline } return r = this.space(level) + "") + this.newline }, XMLStringWriter.prototype.closeNode = function (node, level) { switch (level || (level = 0), !1) { case !(node instanceof XMLElement): return this.space(level) + "" + node.name + ">" + this.newline; case !(node instanceof XMLDocType): return this.space(level) + "]>" + this.newline } }, XMLStringWriter }(XMLWriterBase) }).call(this) }, { "./XMLCData": 109, "./XMLComment": 110, "./XMLDTDAttList": 111, "./XMLDTDElement": 112, "./XMLDTDEntity": 113, "./XMLDTDNotation": 114, "./XMLDeclaration": 115, "./XMLDocType": 116, "./XMLElement": 119, "./XMLProcessingInstruction": 121, "./XMLRaw": 122, "./XMLText": 126, "./XMLWriterBase": 127 }], 125: [function (require, module, exports) { (function () { var XMLStringifier, bind = function (fn, me) { return function () { return fn.apply(me, arguments) } }, hasProp = {}.hasOwnProperty; module.exports = XMLStringifier = function () { function XMLStringifier(options) { this.assertLegalChar = bind(this.assertLegalChar, this); var key, ref, value; options || (options = {}), this.noDoubleEncoding = options.noDoubleEncoding, ref = options.stringify || {}; for (key in ref) hasProp.call(ref, key) && (value = ref[key], this[key] = value) } return XMLStringifier.prototype.eleName = function (val) { return val = "" + val || "", this.assertLegalChar(val) }, XMLStringifier.prototype.eleText = function (val) { return val = "" + val || "", this.assertLegalChar(this.elEscape(val)) }, XMLStringifier.prototype.cdata = function (val) { return val = "" + val || "", val = val.replace("]]>", "]]]]>"), this.assertLegalChar(val) }, XMLStringifier.prototype.comment = function (val) { if (val = "" + val || "", val.match(/--/)) throw new Error("Comment text cannot contain double-hypen: " + val); return this.assertLegalChar(val) }, XMLStringifier.prototype.raw = function (val) { return "" + val || "" }, XMLStringifier.prototype.attName = function (val) { return val = "" + val || "" }, XMLStringifier.prototype.attValue = function (val) { return val = "" + val || "", this.attEscape(val) }, XMLStringifier.prototype.insTarget = function (val) { return "" + val || "" }, XMLStringifier.prototype.insValue = function (val) { if (val = "" + val || "", val.match(/\?>/)) throw new Error("Invalid processing instruction value: " + val); return val }, XMLStringifier.prototype.xmlVersion = function (val) { if (val = "" + val || "", !val.match(/1\.[0-9]+/)) throw new Error("Invalid version number: " + val); return val }, XMLStringifier.prototype.xmlEncoding = function (val) { if (val = "" + val || "", !val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) throw new Error("Invalid encoding: " + val); return val }, XMLStringifier.prototype.xmlStandalone = function (val) { return val ? "yes" : "no" }, XMLStringifier.prototype.dtdPubID = function (val) { return "" + val || "" }, XMLStringifier.prototype.dtdSysID = function (val) { return "" + val || "" }, XMLStringifier.prototype.dtdElementValue = function (val) { return "" + val || "" }, XMLStringifier.prototype.dtdAttType = function (val) { return "" + val || "" }, XMLStringifier.prototype.dtdAttDefault = function (val) { return null != val ? "" + val || "" : val }, XMLStringifier.prototype.dtdEntityValue = function (val) { return "" + val || "" }, XMLStringifier.prototype.dtdNData = function (val) { return "" + val || "" }, XMLStringifier.prototype.convertAttKey = "@", XMLStringifier.prototype.convertPIKey = "?", XMLStringifier.prototype.convertTextKey = "#text", XMLStringifier.prototype.convertCDataKey = "#cdata", XMLStringifier.prototype.convertCommentKey = "#comment", XMLStringifier.prototype.convertRawKey = "#raw", XMLStringifier.prototype.assertLegalChar = function (str) { var res; if (res = str.match(/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/)) throw new Error("Invalid character in string: " + str + " at index " + res.index); return str }, XMLStringifier.prototype.elEscape = function (str) { var ampregex; return ampregex = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g, str.replace(ampregex, "&").replace(//g, ">").replace(/\r/g, "
") }, XMLStringifier.prototype.attEscape = function (str) { var ampregex; return ampregex = this.noDoubleEncoding ? /(?!&\S+;)&/g : /&/g, str.replace(ampregex, "&").replace(/ 0 ? new Array(indent).join(this.indent) : "") : "" }, XMLWriterBase }() }).call(this) }, {}], 128: [function (require, module, exports) { (function () { var XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref; ref = require("./Utility"), assign = ref.assign, isFunction = ref.isFunction, XMLDocument = require("./XMLDocument"), XMLDocumentCB = require("./XMLDocumentCB"), XMLStringWriter = require("./XMLStringWriter"), XMLStreamWriter = require("./XMLStreamWriter"), module.exports.create = function (name, xmldec, doctype, options) { var doc, root; if (null == name) throw new Error("Root element needs a name."); return options = assign({}, xmldec, doctype, options), doc = new XMLDocument(options), root = doc.element(name), options.headless || (doc.declaration(options), (null != options.pubID || null != options.sysID) && doc.doctype(options)), root }, module.exports.begin = function (options, onData, onEnd) { var ref1; return isFunction(options) && (ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1], options = {}), onData ? new XMLDocumentCB(options, onData, onEnd) : new XMLDocument(options) }, module.exports.stringWriter = function (options) { return new XMLStringWriter(options) }, module.exports.streamWriter = function (stream, options) { return new XMLStreamWriter(stream, options) } }).call(this) }, {
"./Utility": 107, "./XMLDocument": 117, "./XMLDocumentCB": 118, "./XMLStreamWriter": 123, "./XMLStringWriter": 124
}]
}, {}, [21])(21)
});