{"version":3,"sources":["jsdelivr-header.js","/npm/postscribe-umd@2.0.4-deprecated/dist/postscribe-commonjs.js"],"names":[],"mappings":"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","file":"/npm/postscribe-umd@2.0.4-deprecated/dist/postscribe-commonjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/postscribe-umd@2.0.4-deprecated/dist/postscribe-commonjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*! Asynchronously write javascript, even with document.write., v2.0.4 https://krux.github.io/postscribe\nCopyright (c) 2016 Derek Brans, MIT license https://github.com/krux/postscribe/blob/master/LICENSE */\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {//     postscribe.js 1.4.0\n\t//     (c) Copyright 2012-2015 to the present, Krux\n\t//     postscribe is freely distributable under the MIT license.\n\t//     For all details and documentation:\n\t//     http://krux.github.io/postscribe\n\n\tvar WriteStream = __webpack_require__(1);\n\tvar objectAssign = __webpack_require__(4);\n\tvar helpers = __webpack_require__(3);\n\n\t// A function that intentionally does nothing.\n\tfunction doNothing() {}\n\n\tvar isFunction = helpers.isFunction;\n\tvar toArray = helpers.toArray;\n\tvar defaults = helpers.defaults;\n\tvar last = helpers.last;\n\tvar eachKey = helpers.eachKey;\n\n\t// Available options and defaults.\n\tvar OPTIONS = {\n\t  // Called when an async script has loaded.\n\t  afterAsync: doNothing,\n\t  // Called immediately before removing from the write queue.\n\t  afterDequeue: doNothing,\n\t  // Called sync after a stream's first thread release.\n\t  afterStreamStart: doNothing,\n\t  // Called after writing buffered document.write calls.\n\t  afterWrite: doNothing,\n\t  // Allows disabling the autoFix feature of htmlParser\n\t  autoFix: true,\n\t  // Called immediately before adding to the write queue.\n\t  beforeEnqueue: doNothing,\n\t  // Called before writing a token.\n\t  beforeWriteToken: function(tok) { return tok; },\n\t  // Called before writing buffered document.write calls.\n\t  beforeWrite: function(str) { return str; },\n\t  // Called when evaluation is finished.\n\t  done: doNothing,\n\t  // Called when a write results in an error.\n\t  error: function(e) { throw e; },\n\t  // Called when inline event handlers were extracted, must export into global namespace\n\t  exportEventHandlers: function (fns, scope) {\n\t    eachKey(fns, function (name, fnRef) {\n\t      scope[name] = fnRef;\n\t    });\n\t  },\n\t  // Whether to let scripts w/ async attribute set fall out of the queue.\n\t  releaseAsync: false\n\t};\n\n\t// Public-facing interface and queuing\n\tmodule.exports = (function() {\n\t  var nextId = 0;\n\n\t  var queue = [];\n\n\t  var active = null;\n\n\t  function nextStream() {\n\t    var args = queue.shift();\n\t    var options;\n\t    if(args) {\n\t      options = last(args);\n\t      options.afterDequeue();\n\t      args.stream = runStream.apply(null, args);\n\t      options.afterStreamStart();\n\t    }\n\t  }\n\n\t  function runStream(el, html, options) {\n\t    active = new WriteStream(el, options);\n\n\t    // Identify this stream.\n\t    active.id = nextId++;\n\t    active.name = options.name || active.id;\n\t    postscribe.streams[active.name] = active;\n\n\t    // Override document.write.\n\t    var doc = el.ownerDocument;\n\n\t    var stash = {\n\t      close: doc.close,\n\t      open: doc.open,\n\t      write: doc.write,\n\t      writeln: doc.writeln\n\t    };\n\n\t    function write(str) {\n\t      str = options.beforeWrite(str);\n\t      active.write(str);\n\t      options.afterWrite(str);\n\t    }\n\n\t    objectAssign(doc, {\n\t      close: doNothing,\n\t      open: doNothing,\n\t      write: function(){\n\t        return write(toArray(arguments).join(''));\n\t      },\n\t      writeln: function() {\n\t        return write(toArray(arguments).join('') + '\\n');\n\t      }\n\t    });\n\n\t    // Override window.onerror\n\t    var oldOnError = active.win.onerror || doNothing;\n\n\t    // This works together with the try/catch around WriteStream::insertScript\n\t    // In modern browsers, exceptions in tag scripts go directly to top level\n\t    active.win.onerror = function(msg, url, line) {\n\t      options.error({ msg: msg + ' - ' + url + ':' + line });\n\t      oldOnError.apply(active.win, arguments);\n\t    };\n\n\t    // Write to the stream\n\t    active.write(html, function streamDone() {\n\t      // restore document.write\n\t      objectAssign(doc, stash);\n\n\t      // restore window.onerror\n\t      active.win.onerror = oldOnError;\n\n\t      options.done();\n\t      active = null;\n\t      nextStream();\n\t    });\n\n\t    return active;\n\t  }\n\n\t  function postscribe(el, html, options) {\n\t    if(isFunction(options)) {\n\t      options = { done: options };\n\t    }\n\t    options = defaults(options, OPTIONS);\n\n\t    el =\n\t      // id selector\n\t      (/^#/).test(el) ? global.document.getElementById(el.substr(1)) :\n\t      // jquery object. TODO: loop over all elements.\n\t      el.jquery ? el[0] : el;\n\n\n\t    var args = [el, html, options];\n\n\t    el.postscribe = {\n\t      cancel: function() {\n\t        if(args.stream) {\n\t          // TODO: implement this\n\t          args.stream.abort();\n\t        } else {\n\t          args[1] = doNothing;\n\t        }\n\t      }\n\t    };\n\n\t    options.beforeEnqueue(args);\n\t    queue.push(args);\n\n\t    if(!active) {\n\t      nextStream();\n\t    }\n\n\t    return el.postscribe;\n\t  }\n\n\t  return objectAssign(postscribe, {\n\t    htmlParser: __webpack_require__(2),\n\t    // Streams by name.\n\t    streams: {},\n\t    // Queue of streams.\n\t    queue: queue,\n\t    // Expose internal classes.\n\t    WriteStream: WriteStream\n\t  });\n\t})();\n\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// # Class WriteStream\n\n\t// Stream static html to an element, where \"static html\" denotes \"html without scripts\".\n\n\t// This class maintains a *history of writes devoid of any attributes* or \"proxy history\".\n\t// Injecting the proxy history into a temporary div has no side-effects,\n\t// other than to create proxy elements for previously written elements.\n\n\t// Given the `staticHtml` of a new write, a `tempDiv`'s innerHTML is set to `proxy_history + staticHtml`.\n\t// The *structure* of `tempDiv`'s contents, (i.e., the placement of new nodes beside or inside of proxy elements),\n\t// reflects the DOM structure that would have resulted if all writes had been squashed into a single write.\n\n\t// For each descendent `node` of `tempDiv` whose parentNode is a *proxy*, `node` is appended to the corresponding *real* element within the DOM.\n\n\t// Proxy elements are mapped to *actual* elements in the DOM by injecting a data-id attribute into each start tag in `staticHtml`.\n\tvar htmlParser = __webpack_require__(2);\n\tvar objectAssign = __webpack_require__(4);\n\n\tvar helpers = __webpack_require__(3);\n\n\tvar isFunction = helpers.isFunction;\n\tvar each = helpers.each;\n\tvar eachKey = helpers.eachKey;\n\tvar existy = helpers.existy;\n\tvar toArray = helpers.toArray;\n\tvar isScript = helpers.isScript;\n\tvar isStyle = helpers.isStyle;\n\n\t// Turn on to debug how each chunk affected the DOM.\n\tvar DEBUG_CHUNK = false;\n\n\tmodule.exports = (function() {\n\n\t  // Prefix for data attributes on DOM elements.\n\t  var BASEATTR = 'data-ps-';\n\n\t  // get / set data attributes\n\t  function data(el, name, value) {\n\t    var attr = BASEATTR + name;\n\n\t    if(arguments.length === 2) {\n\t      // Get\n\t      var val = el.getAttribute(attr);\n\n\t      // IE 8 returns a number if it's a number\n\t      return !existy(val) ? val : String(val);\n\n\t    } else if(existy(value) && value !== '') {\n\t      // Set\n\t      el.setAttribute(attr, value);\n\n\t    } else {\n\t      // Remove\n\t      el.removeAttribute(attr);\n\t    }\n\t  }\n\n\t  function WriteStream(root, options) {\n\t    var doc = root.ownerDocument;\n\n\t    objectAssign(this, {\n\t      root: root,\n\n\t      options: options,\n\n\t      win: doc.defaultView || doc.parentWindow,\n\n\t      doc: doc,\n\n\t      parser: htmlParser('', { autoFix: options.autoFix }),\n\n\t      // Actual elements by id.\n\t      actuals: [root],\n\n\t      // Embodies the \"structure\" of what's been written so far, devoid of attributes.\n\t      proxyHistory: '',\n\n\t      // Create a proxy of the root element.\n\t      proxyRoot: doc.createElement(root.nodeName),\n\n\t      scriptStack: [],\n\n\t      writeQueue: []\n\t    });\n\n\t    data(this.proxyRoot, 'proxyof', 0);\n\n\t  }\n\n\t  WriteStream.prototype.write = function() {\n\t    [].push.apply(this.writeQueue, arguments);\n\t    // Process writes\n\t    // When new script gets pushed or pending this will stop\n\t    // because new writeQueue gets pushed\n\t    var arg;\n\t    while(!this.deferredRemote &&\n\t          this.writeQueue.length) {\n\t      arg = this.writeQueue.shift();\n\n\t      if(isFunction(arg)) {\n\t        this.callFunction(arg);\n\t      } else {\n\t        this.writeImpl(arg);\n\t      }\n\t    }\n\t  };\n\n\t  WriteStream.prototype.callFunction = function(fn) {\n\t    var tok = { type: 'function', value: fn.name || fn.toString() };\n\t    this.onScriptStart(tok);\n\t    fn.call(this.win, this.doc);\n\t    this.onScriptDone(tok);\n\t  };\n\n\t  WriteStream.prototype.writeImpl = function(html) {\n\t    this.parser.append(html);\n\n\t    var tok, tokens = [], script, style;\n\n\t    // stop if we see a script token\n\t    while((tok = this.parser.readToken()) && !(script = isScript(tok)) && !(style = isStyle(tok))) {\n\t      tok = this.options.beforeWriteToken(tok);\n\n\t      if (tok) {\n\t        tokens.push(tok);\n\t      }\n\t    }\n\n\t    this.writeStaticTokens(tokens);\n\n\t    if(script) {\n\t      this.handleScriptToken(tok);\n\t    }\n\t    if(style){\n\t      this.handleStyleToken(tok);\n\t    }\n\t  };\n\n\t  // ## Contiguous non-script tokens (a chunk)\n\t  WriteStream.prototype.writeStaticTokens = function(tokens) {\n\n\t    var chunk = this.buildChunk(tokens);\n\n\t    if(!chunk.actual) {\n\t      // e.g., no tokens, or a noscript that got ignored\n\t      return;\n\t    }\n\n\t    // Export extracted inline event handlers (side-effect)\n\t    this.options.exportEventHandlers(chunk.fns, this.win);\n\n\t    chunk.html = this.proxyHistory + chunk.actual;\n\t    this.proxyHistory += chunk.proxy;\n\n\t    this.proxyRoot.innerHTML = chunk.html;\n\n\t    if(DEBUG_CHUNK) {\n\t      chunk.proxyInnerHTML = this.proxyRoot.innerHTML;\n\t    }\n\n\t    this.walkChunk();\n\n\t    if(DEBUG_CHUNK) {\n\t      chunk.actualInnerHTML = this.root.innerHTML; //root\n\t    }\n\n\t    return chunk;\n\t  };\n\n\t  WriteStream.prototype.buildChunk = function (tokens) {\n\t    var nextId = this.actuals.length,\n\n\t        // The raw html of this chunk.\n\t        raw = [],\n\n\t        // The html to create the nodes in the tokens (with id's injected).\n\t        actual = [],\n\n\t        // Html that can later be used to proxy the nodes in the tokens.\n\t        proxy = [],\n\n\t        // Extracted inline event handler function objects\n\t        fns = {};\n\n\t    each(tokens, function(tok) {\n\n\t      var tokenRaw = htmlParser.tokenToString(tok, fns);\n\n\t      raw.push(tokenRaw);\n\n\t      if(tok.attrs) { // tok.attrs <==> startTag or atomicTag or cursor\n\t        // Ignore noscript tags. They are atomic, so we don't have to worry about children.\n\t        if(!(/^noscript$/i).test(tok.tagName)) {\n\t          var id = nextId++;\n\n\t          // Actual: inject id attribute: replace '>' at end of start tag with id attribute + '>'\n\t          actual.push(\n\t            tokenRaw.replace(/(\\/?>)/, ' ' + BASEATTR + 'id=' + id + ' $1')\n\t          );\n\n\t          // Don't proxy scripts: they have no bearing on DOM structure.\n\t          if(tok.attrs.id !== 'ps-script' && tok.attrs.id !== 'ps-style') {\n\t            // Proxy: strip all attributes and inject proxyof attribute\n\t            proxy.push(\n\t              // ignore atomic tags (e.g., style): they have no \"structural\" effect\n\t              tok.type === 'atomicTag' ? '' :\n\t                '<' + tok.tagName + ' ' + BASEATTR + 'proxyof=' + id + (tok.unary ? ' />' : '>')\n\t            );\n\t          }\n\t        }\n\n\t      } else {\n\t        // Visit any other type of token\n\t        // Actual: append.\n\t        actual.push(tokenRaw);\n\t        // Proxy: append endTags. Ignore everything else.\n\t        proxy.push(tok.type === 'endTag' ? tokenRaw : '');\n\t      }\n\t    });\n\n\t    return {\n\t      fns: fns,\n\t      tokens: tokens,\n\t      raw: raw.join(''),\n\t      actual: actual.join(''),\n\t      proxy: proxy.join('')\n\t    };\n\t  };\n\n\t  WriteStream.prototype.walkChunk = function() {\n\t    var node, stack = [this.proxyRoot];\n\n\t    // use shift/unshift so that children are walked in document order\n\n\t    while(existy(node = stack.shift())) {\n\n\t      var isElement = node.nodeType === 1;\n\t      var isProxy = isElement && data(node, 'proxyof');\n\n\t      // Ignore proxies\n\t      if(!isProxy) {\n\n\t        if(isElement) {\n\t          // New actual element: register it and remove the the id attr.\n\t          this.actuals[data(node, 'id')] = node;\n\t          data(node, 'id', null);\n\t        }\n\n\t        // Is node's parent a proxy?\n\t        var parentIsProxyOf = node.parentNode && data(node.parentNode, 'proxyof');\n\t        if(parentIsProxyOf) {\n\t          // Move node under actual parent.\n\t          this.actuals[parentIsProxyOf].appendChild(node);\n\t        }\n\t      }\n\t      // prepend childNodes to stack\n\t      stack.unshift.apply(stack, toArray(node.childNodes));\n\t    }\n\t  };\n\n\t  // ### Script tokens\n\t  WriteStream.prototype.handleScriptToken = function(tok) {\n\t    var remainder = this.parser.clear();\n\n\t    if(remainder) {\n\t      // Write remainder immediately behind this script.\n\t      this.writeQueue.unshift(remainder);\n\t    }\n\n\t    //noinspection JSUnresolvedVariable\n\t    tok.src = tok.attrs.src || tok.attrs.SRC;\n\n\t    tok = this.options.beforeWriteToken(tok);\n\n\t    if(!tok) {\n\t      // User has removed this token\n\t      return;\n\t    }\n\n\t    if(tok.src && this.scriptStack.length) {\n\t      // Defer this script until scriptStack is empty.\n\t      // Assumption 1: This script will not start executing until\n\t      // scriptStack is empty.\n\t      this.deferredRemote = tok;\n\t    } else {\n\t      this.onScriptStart(tok);\n\t    }\n\n\t    // Put the script node in the DOM.\n\t    var that = this;\n\t    this.writeScriptToken(tok, function() {\n\t      that.onScriptDone(tok);\n\t    });\n\n\t  };\n\n\t  // ### Style tokens\n\t  WriteStream.prototype.handleStyleToken = function(tok) {\n\t    var remainder = this.parser.clear();\n\n\t    if(remainder) {\n\t      // Write remainder immediately behind this style.\n\t      this.writeQueue.unshift(remainder);\n\t    }\n\n\t    tok.type = tok.attrs.type || tok.attrs.TYPE || 'text/css';\n\n\t    tok = this.options.beforeWriteToken(tok);\n\n\t    if(tok) {\n\t      // Put the style node in the DOM.\n\t      this.writeStyleToken(tok);\n\t    }\n\n\t    if(remainder) {\n\t      this.write();\n\t    }\n\t  };\n\n\t  // Build a style and insert it into the DOM.\n\t  WriteStream.prototype.writeStyleToken = function(tok) {\n\t    var el = this.buildStyle(tok);\n\n\t    this.insertStyle(el);\n\n\t    // Set content\n\t    if(tok.content) {\n\t      //noinspection JSUnresolvedVariable\n\t      if(el.styleSheet && !el.sheet) {\n\t        el.styleSheet.cssText = tok.content;\n\t      }\n\t      else {\n\t        el.appendChild(this.doc.createTextNode(tok.content));\n\t      }\n\t    }\n\t  };\n\n\t  // Build a style element from an atomic style token.\n\t  WriteStream.prototype.buildStyle = function(tok) {\n\t    var el = this.doc.createElement(tok.tagName);\n\n\t    el.setAttribute('type', tok.type);\n\t    // Set attributes\n\t    eachKey(tok.attrs, function(name, value) {\n\t      el.setAttribute(name, value);\n\t    });\n\n\t    return el;\n\t  };\n\n\t  // Insert style into DOM where it would naturally be written.\n\t  WriteStream.prototype.insertStyle = function(el) {\n\t    // Append a span to the stream. That span will act as a cursor\n\t    // (i.e. insertion point) for the style.\n\t    this.writeImpl('<span id=\"ps-style\"/>');\n\n\t    // Grab that span from the DOM.\n\t    var cursor = this.doc.getElementById('ps-style');\n\n\t    // Replace cursor with style.\n\t    cursor.parentNode.replaceChild(el, cursor);\n\t  };\n\n\t  WriteStream.prototype.onScriptStart = function(tok) {\n\t    tok.outerWrites = this.writeQueue;\n\t    this.writeQueue = [];\n\t    this.scriptStack.unshift(tok);\n\t  };\n\n\t  WriteStream.prototype.onScriptDone = function(tok) {\n\t    // Pop script and check nesting.\n\t    if(tok !== this.scriptStack[0]) {\n\t      this.options.error({ message: 'Bad script nesting or script finished twice' });\n\t      return;\n\t    }\n\t    this.scriptStack.shift();\n\n\t    // Append outer writes to queue and process them.\n\t    this.write.apply(this, tok.outerWrites);\n\n\t    // Check for pending remote\n\n\t    // Assumption 2: if remote_script1 writes remote_script2 then\n\t    // the we notice remote_script1 finishes before remote_script2 starts.\n\t    // I think this is equivalent to assumption 1\n\t    if(!this.scriptStack.length && this.deferredRemote) {\n\t      this.onScriptStart(this.deferredRemote);\n\t      this.deferredRemote = null;\n\t    }\n\t  };\n\n\t  // Build a script and insert it into the DOM.\n\t  // Done is called once script has executed.\n\t  WriteStream.prototype.writeScriptToken = function(tok, done) {\n\t    var el = this.buildScript(tok);\n\t    var asyncRelease = this.shouldRelease(el);\n\t    var afterAsync = this.options.afterAsync;\n\n\t    if(tok.src) {\n\t      // Fix for attribute \"SRC\" (capitalized). IE does not recognize it.\n\t      el.src = tok.src;\n\t      this.scriptLoadHandler(el, !asyncRelease ? function() {\n\t        done();\n\t        afterAsync();\n\t      } : afterAsync);\n\t    }\n\n\t    try {\n\t      this.insertScript(el);\n\t      if(!tok.src || asyncRelease) {\n\t        done();\n\t      }\n\t    } catch(e) {\n\t      this.options.error(e);\n\t      done();\n\t    }\n\t  };\n\n\t  // Build a script element from an atomic script token.\n\t  WriteStream.prototype.buildScript = function(tok) {\n\t    var el = this.doc.createElement(tok.tagName);\n\n\t    // Set attributes\n\t    eachKey(tok.attrs, function(name, value) {\n\t      el.setAttribute(name, value);\n\t    });\n\n\t    // Set content\n\t    if(tok.content) {\n\t      el.text = tok.content;\n\t    }\n\n\t    return el;\n\t  };\n\n\t  // Insert script into DOM where it would naturally be written.\n\t  WriteStream.prototype.insertScript = function(el) {\n\t    // Append a span to the stream. That span will act as a cursor\n\t    // (i.e. insertion point) for the script.\n\t    this.writeImpl('<span id=\"ps-script\"/>');\n\n\t    // Grab that span from the DOM.\n\t    var cursor = this.doc.getElementById('ps-script');\n\n\t    // Replace cursor with script.\n\t    cursor.parentNode.replaceChild(el, cursor);\n\t  };\n\n\t  WriteStream.prototype.scriptLoadHandler = function(el, done) {\n\t    function cleanup() {\n\t      el = el.onload = el.onreadystatechange = el.onerror = null;\n\t    }\n\n\t    // Error handler\n\t    var error = this.options.error;\n\n\t    function success() {\n\t      cleanup();\n\t      done();\n\t    }\n\n\t    function failure(err) {\n\t      cleanup();\n\t      error(err);\n\t      done();\n\t    }\n\n\t    // Set handlers\n\t    objectAssign(el, {\n\t      onload: function() {\n\t        success();\n\t      },\n\n\t      onreadystatechange: function() {\n\t        if(/^(loaded|complete)$/.test( el.readyState )) {\n\t          success();\n\t        }\n\t      },\n\n\t      onerror: function() {\n\t        failure({ message: 'remote script failed ' + el.src });\n\t      }\n\t    });\n\t  };\n\n\t  WriteStream.prototype.shouldRelease = function(el) {\n\t    var isScriptRegex = /^script$/i.test(el.nodeName);\n\t    return !isScriptRegex || !!(this.options.releaseAsync && el.src && el.hasAttribute('async'));\n\t  };\n\n\t  return WriteStream;\n\n\t})();\n\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// A stateless HTML Parser written in JavaScript\n\t// Based on http://ejohn.org/blog/pure-javascript-html-parser/\n\t// Turns an HTML string into a token iterator.\n\n\t//TODO(#39)\n\t/*globals console:false*/\n\tvar supports = (function() {\n\t  var target = {};\n\n\t  var html;\n\t  var work = document.createElement('div');\n\n\t  html = '<P><I></P></I>';\n\t  work.innerHTML = html;\n\t  target.tagSoup = work.innerHTML !== html;\n\n\t  work.innerHTML = '<P><i><P></P></i></P>';\n\t  target.selfClose = work.childNodes.length === 2;\n\n\t  return target;\n\t})();\n\n\tvar escapeQuotes = __webpack_require__(3).escapeQuotes;\n\n\t// Regular Expressions for parsing tags and attributes\n\tvar startTag = /^<([\\-A-Za-z0-9_]+)((?:\\s+[\\w\\-]+(?:\\s*=?\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*(\\/?)>/;\n\tvar endTag = /^<\\/([\\-A-Za-z0-9_]+)[^>]*>/;\n\tvar attr = /(?:([\\-A-Za-z0-9_]+)\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|([^>\\s]+)))|(?:([\\-A-Za-z0-9_]+)(\\s|$)+)/g;\n\tvar fillAttr = /^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noresize|noshade|nowrap|readonly|selected)$/i;\n\tvar inlineEventHandler = /^on[a-z]+/;\n\n\tvar DEBUG = false;\n\n\tfunction htmlParser(stream, options) {\n\t  stream = stream || '';\n\n\t  // Options\n\t  options = options || {};\n\n\t  for(var key in supports) {\n\t    if(supports.hasOwnProperty(key)) {\n\t      if(options.autoFix) {\n\t        options['fix_' + key] = true;//!supports[key];\n\t      }\n\t      options.fix = options.fix || options['fix_' + key];\n\t    }\n\t  }\n\n\t  var append = function(str) {\n\t    stream += str;\n\t  };\n\n\t  var prepend = function(str) {\n\t    stream = str + stream;\n\t  };\n\n\t  // Order of detection matters: detection of one can only\n\t  // succeed if detection of previous didn't\n\t  var detect = {\n\t    comment: /^<!--/,\n\t    endTag: /^<\\//,\n\t    atomicTag: /^<\\s*(script|style|noscript|iframe|textarea)[\\s\\/>]/i,\n\t    startTag: /^</,\n\t    chars: /^[^<]/\n\t  };\n\n\t  // Detection has already happened when a reader is called.\n\t  var reader = {\n\n\t    comment: function() {\n\t      var index = stream.indexOf('-->');\n\t      if ( index >= 0 ) {\n\t        return {\n\t          content: stream.substr(4, index - 1),\n\t          length: index + 3\n\t        };\n\t      }\n\t    },\n\n\t    endTag: function() {\n\t      var match = stream.match( endTag );\n\n\t      if ( match ) {\n\t        return {\n\t          tagName: match[1],\n\t          length: match[0].length\n\t        };\n\t      }\n\t    },\n\n\t    atomicTag: function() {\n\t      var start = reader.startTag();\n\t      if(start) {\n\t        var rest = stream.slice(start.length);\n\t        // for optimization, we check first just for the end tag\n\t        if(rest.match(new RegExp('<\\/\\\\s*' + start.tagName + '\\\\s*>', 'i'))) {\n\t          // capturing the content is inefficient, so we do it inside the if\n\t          var match = rest.match(new RegExp('([\\\\s\\\\S]*?)<\\/\\\\s*' + start.tagName + '\\\\s*>', 'i'));\n\t          if(match) {\n\t            // good to go\n\t            return {\n\t              tagName: start.tagName,\n\t              attrs: start.attrs,\n\t              content: match[1],\n\t              length: match[0].length + start.length\n\t            };\n\t          }\n\t        }\n\t      }\n\t    },\n\n\t    startTag: function() {\n\n\t      var endTagIndex = stream.indexOf('>');\n\t      if(endTagIndex === -1) {\n\t        return null; //avoid the match statement if there will be no match\n\t      }\n\n\t      var match = stream.match( startTag );\n\n\t      if ( match ) {\n\t        var attrs = {};\n\t        var booleanAttrs = {};\n\t        var rest = match[2];\n\n\t        match[2].replace(attr, function(matched, name) {\n\t          if (!(arguments[2] || arguments[3] || arguments[4] || arguments[5])) {\n\t            attrs[name] = null;\n\t          } else if (arguments[5]) {\n\t            attrs[arguments[5]] = '';\n\t            booleanAttrs[name] = true;\n\t          } else {\n\t            var value = arguments[2] || arguments[3] || arguments[4] ||\n\t              fillAttr.test(name) && name || '';\n\t            attrs[name] = value;\n\t          }\n\t          rest = rest.replace(matched, '');\n\t        });\n\n\t        return {\n\t          tagName: match[1],\n\t          attrs: attrs,\n\t          booleanAttrs: booleanAttrs,\n\t          rest: rest,\n\t          unary: !!match[3],\n\t          length: match[0].length\n\t        };\n\t      }\n\t    },\n\n\t    chars: function() {\n\t      var index = stream.indexOf('<');\n\t      return {\n\t        length: index >= 0 ? index : stream.length\n\t      };\n\t    }\n\t  };\n\n\t  var readToken = function() {\n\n\t    // Enumerate detects in order\n\t    for (var type in detect) {\n\n\t      if(detect[type].test(stream)) {\n\t        if(DEBUG) { console.log('suspected ' + type); }\n\n\t        var token = reader[type]();\n\t        if(token) {\n\t          if(DEBUG) { console.log('parsed ' + type, token); }\n\t          // Type\n\t          token.type = token.type || type;\n\t          // Entire text\n\t          token.text = stream.substr(0, token.length);\n\t          // Update the stream\n\t          stream = stream.slice(token.length);\n\n\t          return token;\n\t        }\n\t        return null;\n\t      }\n\t    }\n\t  };\n\n\t  var readTokens = function(handlers) {\n\t    var tok;\n\t    while((tok = readToken())) {\n\t      // continue until we get an explicit \"false\" return\n\t      if(handlers[tok.type] && handlers[tok.type](tok) === false) {\n\t        return;\n\t      }\n\t    }\n\t  };\n\n\t  var clear = function() {\n\t    var rest = stream;\n\t    stream = '';\n\t    return rest;\n\t  };\n\n\t  var rest = function() {\n\t    return stream;\n\t  };\n\t  var stack = [];\n\t  if(options.fix) {\n\t    (function() {\n\t      // Empty Elements - HTML 4.01\n\t      var EMPTY = /^(AREA|BASE|BASEFONT|BR|COL|FRAME|HR|IMG|INPUT|ISINDEX|LINK|META|PARAM|EMBED)$/i;\n\n\t      // Elements that you can| intentionally| leave open\n\t      // (and which close themselves)\n\t      var CLOSESELF = /^(COLGROUP|DD|DT|LI|OPTIONS|P|TD|TFOOT|TH|THEAD|TR)$/i;\n\n\n\t      stack = [];\n\t      stack.last = function() {\n\t        return this[this.length - 1];\n\t      };\n\t      stack.lastTagNameEq = function(tagName) {\n\t        var last = this.last();\n\t        return last && last.tagName &&\n\t          last.tagName.toUpperCase() === tagName.toUpperCase();\n\t      };\n\n\t      stack.containsTagName = function(tagName) {\n\t        for (var i = 0, tok; (tok === this[i]); i++) { // TODO AMBROOS\n\t          if(tok.tagName === tagName) {\n\t            return true;\n\t          }\n\t        }\n\t        return false;\n\t      };\n\n\t      var correct = function(tok) {\n\t        if(tok && tok.type === 'startTag') {\n\t          // unary\n\t          tok.unary = EMPTY.test(tok.tagName) || tok.unary;\n\t          tok.html5Unary = !/\\/>$/.test(tok.text);\n\t        }\n\t        return tok;\n\t      };\n\n\t      var readTokenImpl = readToken;\n\n\t      var peekToken = function() {\n\t        var tmp = stream;\n\t        var tok = correct(readTokenImpl());\n\t        stream = tmp;\n\t        return tok;\n\t      };\n\n\t      var closeLast = function() {\n\t        var tok = stack.pop();\n\n\t        // prepend close tag to stream.\n\t        prepend('</' + tok.tagName + '>');\n\t      };\n\n\t      var handlers = {\n\t        startTag: function(tok) {\n\t          var tagName = tok.tagName;\n\t          // Fix tbody\n\t          if(tagName.toUpperCase() === 'TR' && stack.lastTagNameEq('TABLE')) {\n\t            prepend('<TBODY>');\n\t            prepareNextToken();\n\t          } else if(options.fix_selfClose && CLOSESELF.test(tagName) && stack.containsTagName(tagName)) {\n\t            if(stack.lastTagNameEq(tagName)) {\n\t              closeLast();\n\t            } else {\n\t              prepend('</' + tok.tagName + '>');\n\t              prepareNextToken();\n\t            }\n\t          } else if (!tok.unary) {\n\t            stack.push(tok);\n\t          }\n\t        },\n\n\t        endTag: function(tok) {\n\t          var last = stack.last();\n\t          if(last) {\n\t            if(options.fix_tagSoup && !stack.lastTagNameEq(tok.tagName)) {\n\t              // cleanup tag soup\n\t              closeLast();\n\t            } else {\n\t              stack.pop();\n\t            }\n\t          } else if (options.fix_tagSoup) {\n\t            // cleanup tag soup part 2: skip this token\n\t            skipToken();\n\t          }\n\t        }\n\t      };\n\n\t      var skipToken = function() {\n\t        // shift the next token\n\t        readTokenImpl();\n\n\t        prepareNextToken();\n\t      };\n\n\t      var prepareNextToken = function() {\n\t        var tok = peekToken();\n\t        if(tok && handlers[tok.type]) {\n\t          handlers[tok.type](tok);\n\t        }\n\t      };\n\n\t      // redefine readToken\n\t      readToken = function() {\n\t        prepareNextToken();\n\t        return correct(readTokenImpl());\n\t      };\n\t    })();\n\t  }\n\n\t  return {\n\t    append: append,\n\t    readToken: readToken,\n\t    readTokens: readTokens,\n\t    clear: clear,\n\t    rest: rest,\n\t    stack: stack\n\t  };\n\n\t}\n\n\thtmlParser.supports = supports;\n\n\thtmlParser.tokenToString = function(rootTok, fns) {\n\t  var fnStash = {\n\t    nextName: function (eventAttrib) {\n\t      return '__psIFX_' + (+new Date()) + '_' + (Math.random() * 99999 | 0) + '_' + (eventAttrib || 'anon');\n\t    },\n\t    push: function (eventAttrib, srcStr) {\n\t      var name = this.nextName(eventAttrib);\n\t      while (fns.hasOwnProperty(name)) {\n\t        name = this.nextName(eventAttrib);\n\t      }\n\t      fns[name] = new Function(srcStr);\n\t      return name;\n\t    }\n\t  };\n\t  var handler = {\n\t    comment: function(tok) {\n\t      return '<!--' + tok.content;\n\t    },\n\t    endTag: function(tok) {\n\t      return '</' + tok.tagName + '>';\n\t    },\n\t    atomicTag: function(tok) {\n\t      if(DEBUG) { console.log(tok); }\n\t      return handler.startTag(tok) +\n\t            tok.content +\n\t            handler.endTag(tok);\n\t    },\n\t    startTag: function(tok) {\n\t      var str = '<' + tok.tagName;\n\t      for (var key in tok.attrs) {\n\t        str += ' ' + key;\n\n\t        var val = tok.attrs[key];\n\t        if (typeof tok.booleanAttrs === 'undefined' || typeof tok.booleanAttrs[key] === 'undefined') {\n\t          if (inlineEventHandler.test(key)) {\n\t            try {\n\t              str += '=\"' + fnStash.push(key, val) + '.call(this);\"';\n\t            } catch (e) {\n\t              throw new Error('Failed replacing inline event handler with function for ' + key + ': ' + e.message);\n\t            }\n\t          } else {\n\t            // escape quotes\n\t            str += '=\"' + escapeQuotes(val) + '\"';\n\t          }\n\t        }\n\t      }\n\t      if (tok.rest) {\n\t        str += tok.rest;\n\t      }\n\t      return str + (tok.unary && !tok.html5Unary ? '/>' : '>');\n\t    },\n\t    chars: function(tok) {\n\t      return tok.text;\n\t    }\n\t  };\n\t  return handler[rootTok.type](rootTok);\n\t};\n\n\thtmlParser.escapeAttributes = function(attrs) {\n\t  var escapedAttrs = {};\n\t  // escape double-quotes for writing html as a string\n\n\t  for (var name in attrs) {\n\t    var value = attrs[name];\n\t    escapedAttrs[name] = escapeQuotes(value);\n\t  }\n\t  return escapedAttrs;\n\t};\n\n\tfor (var key in supports) {\n\t  htmlParser.browserHasFlaw = htmlParser.browserHasFlaw || (!supports[key]) && key;\n\t}\n\n\tmodule.exports = htmlParser;\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t// Is this a function?\n\tfunction isFunction(x) {\n\t  return typeof x === 'function';\n\t}\n\n\t// Loop over each item in an array-like value.\n\tfunction each(arr, fn, _this) {\n\t  var i, len = (arr && arr.length) || 0;\n\t  for(i = 0; i < len; i++) {\n\t    fn.call(_this, arr[i], i);\n\t  }\n\t}\n\n\t// Loop over each key/value pair in a hash.\n\tfunction eachKey(obj, fn, _this) {\n\t  var key;\n\t  for(key in obj) {\n\t    if(obj.hasOwnProperty(key)) {\n\t      fn.call(_this, key, obj[key]);\n\t    }\n\t  }\n\t}\n\n\tfunction escapeQuotes(str) {\n\t  return (str ? str.replace(/(^|[^\\\\])\"/g, '$1\\\\\\\"') : '');\n\t}\n\n\tfunction existy(thing) {\n\t  return thing !== void 0 && thing !== null;\n\t}\n\n\t// Set default options where some option was not specified.\n\tfunction defaults(options, _defaults) {\n\t  options = options || {};\n\t  eachKey(_defaults, function(key, val) {\n\t    if(!existy(options[key])) {\n\t      options[key] = val;\n\t    }\n\t  });\n\t  return options;\n\t}\n\n\t// Convert value (e.g., a NodeList) to an array.\n\tfunction toArray(obj) {\n\t  try {\n\t    return Array.prototype.slice.call(obj);\n\t  } catch(e) {\n\t    var ret = [];\n\t    each(obj, function(val) {\n\t      ret.push(val);\n\t    });\n\t    return ret;\n\t  }\n\t}\n\n\tfunction last(array) {\n\t  return array[array.length - 1];\n\t}\n\n\t// Test if token is a script tag.\n\tfunction isScript(tok) {\n\t  return !tok || !('tagName' in tok) ? !1 : !!~tok.tagName.toLowerCase().indexOf('script');\n\t}\n\n\tfunction isStyle(tok) {\n\t  return !tok || !('tagName' in tok) ? !1 : !!~tok.tagName.toLowerCase().indexOf('style');\n\t}\n\n\tmodule.exports = {\n\t  isFunction: isFunction,\n\t  each: each,\n\t  eachKey: eachKey,\n\t  escapeQuotes: escapeQuotes,\n\t  existy: existy,\n\t  defaults: defaults,\n\t  toArray: toArray,\n\t  last: last,\n\t  isScript: isScript,\n\t  isStyle: isStyle\n\t};\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\tmodule.exports = require(\"object-assign\");\n\n/***/ }\n/******/ ]);"]}