\"));\n }\n\n emitter.write(\"\"));\n _context22.next = 23;\n return r.renderTemplates(this.templates, ctx, emitter);\n\n case 23:\n emitter.write(' | ');\n\n case 24:\n idx++, tablerowloop.next();\n _context22.next = 17;\n break;\n\n case 27:\n if (collection.length) emitter.write('
');\n ctx.pop();\n\n case 29:\n case \"end\":\n return _context22.stop();\n }\n }\n }, render, this);\n })\n};\nvar unless = {\n parse: function parse(tagToken, remainTokens) {\n var _this42 = this;\n\n this.templates = [];\n this.branches = [];\n this.elseTemplates = [];\n var p;\n var stream = this.liquid.parser.parseStream(remainTokens).on('start', function () {\n p = _this42.templates;\n _this42.cond = tagToken.args;\n }).on('tag:elsif', function (token) {\n _this42.branches.push({\n cond: token.args,\n templates: p = []\n });\n }).on('tag:else', function () {\n return p = _this42.elseTemplates;\n }).on('tag:endunless', function () {\n return stream.stop();\n }).on('template', function (tpl) {\n return p.push(tpl);\n }).on('end', function () {\n throw new Error(\"tag \".concat(tagToken.getText(), \" not closed\"));\n });\n stream.start();\n },\n render: /*#__PURE__*/_regeneratorRuntime.mark(function render(ctx, emitter) {\n var r, _this$liquid$options3, operators, operatorsTrie, cond, _iterator10, _step10, branch, _cond;\n\n return _regeneratorRuntime.wrap(function render$(_context23) {\n while (1) {\n switch (_context23.prev = _context23.next) {\n case 0:\n r = this.liquid.renderer;\n _this$liquid$options3 = this.liquid.options, operators = _this$liquid$options3.operators, operatorsTrie = _this$liquid$options3.operatorsTrie;\n _context23.next = 4;\n return new Expression(this.cond, operators, operatorsTrie, ctx.opts.lenientIf).value(ctx);\n\n case 4:\n cond = _context23.sent;\n\n if (!isFalsy(cond, ctx)) {\n _context23.next = 9;\n break;\n }\n\n _context23.next = 8;\n return r.renderTemplates(this.templates, ctx, emitter);\n\n case 8:\n return _context23.abrupt(\"return\");\n\n case 9:\n _iterator10 = _createForOfIteratorHelper(this.branches);\n _context23.prev = 10;\n\n _iterator10.s();\n\n case 12:\n if ((_step10 = _iterator10.n()).done) {\n _context23.next = 23;\n break;\n }\n\n branch = _step10.value;\n _context23.next = 16;\n return new Expression(branch.cond, operators, operatorsTrie, ctx.opts.lenientIf).value(ctx);\n\n case 16:\n _cond = _context23.sent;\n\n if (!isTruthy(_cond, ctx)) {\n _context23.next = 21;\n break;\n }\n\n _context23.next = 20;\n return r.renderTemplates(branch.templates, ctx, emitter);\n\n case 20:\n return _context23.abrupt(\"return\");\n\n case 21:\n _context23.next = 12;\n break;\n\n case 23:\n _context23.next = 28;\n break;\n\n case 25:\n _context23.prev = 25;\n _context23.t0 = _context23[\"catch\"](10);\n\n _iterator10.e(_context23.t0);\n\n case 28:\n _context23.prev = 28;\n\n _iterator10.f();\n\n return _context23.finish(28);\n\n case 31:\n _context23.next = 33;\n return r.renderTemplates(this.elseTemplates, ctx, emitter);\n\n case 33:\n case \"end\":\n return _context23.stop();\n }\n }\n }, render, this, [[10, 25, 28, 31]]);\n })\n};\nvar Break = {\n render: function render(ctx, emitter) {\n emitter[\"break\"] = true;\n }\n};\nvar Continue = {\n render: function render(ctx, emitter) {\n emitter[\"continue\"] = true;\n }\n};\nvar tags = {\n assign: assign,\n 'for': For,\n capture: capture,\n 'case': Case,\n comment: comment,\n include: include,\n render: render,\n decrement: decrement,\n increment: increment,\n cycle: cycle,\n 'if': If,\n layout: layout,\n block: block,\n raw: raw,\n tablerow: tablerow,\n unless: unless,\n 'break': Break,\n 'continue': Continue\n};\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nvar unescapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n};\n\nfunction escape(str) {\n return stringify(str).replace(/&|<|>|\"|'/g, function (m) {\n return escapeMap[m];\n });\n}\n\nfunction unescape(str) {\n return String(str).replace(/&(amp|lt|gt|#34|#39);/g, function (m) {\n return unescapeMap[m];\n });\n}\n\nfunction escapeOnce(str) {\n return escape(unescape(str));\n}\n\nfunction newlineToBr(v) {\n return v.replace(/\\n/g, '