From 71a5873902568a169d59da6b78ee42e7d97b5dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Estev=C3=A3o=20Soares=20dos=20Santos?= Date: Mon, 25 Jan 2016 03:01:54 +0000 Subject: [PATCH] fix(HTMLParser): fix code tags parsing Closes #231 --- dist/showdown.js | 26 ++++++++++++++++--- dist/showdown.js.map | 2 +- dist/showdown.min.js | 2 +- dist/showdown.min.js.map | 2 +- src/converter.js | 1 + src/subParsers/hashPreCodeTags.js | 15 +++++++++++ src/subParsers/paragraphs.js | 9 ++++--- .../pre-code-tags-inside-code-block.html | 7 +++++ test/cases/pre-code-tags-inside-code-block.md | 8 ++++++ test/cases/pre-code-tags.html | 16 ++++++++++++ test/cases/pre-code-tags.md | 17 ++++++++++++ ...de-being-parsed-inside-HTML-code-tags.html | 12 ++++----- ...de-being-parsed-inside-HTML-code-tags.html | 2 +- ...agraphs-are-ignored-between-code-tags.html | 12 +++++++++ ...aragraphs-are-ignored-between-code-tags.md | 12 +++++++++ 15 files changed, 127 insertions(+), 16 deletions(-) create mode 100644 src/subParsers/hashPreCodeTags.js create mode 100644 test/cases/pre-code-tags-inside-code-block.html create mode 100644 test/cases/pre-code-tags-inside-code-block.md create mode 100644 test/cases/pre-code-tags.html create mode 100644 test/cases/pre-code-tags.md create mode 100644 test/issues/#230.paragraphs-are-ignored-between-code-tags.html create mode 100644 test/issues/#230.paragraphs-are-ignored-between-code-tags.md diff --git a/dist/showdown.js b/dist/showdown.js index 6d30511f..cbf5522c 100644 --- a/dist/showdown.js +++ b/dist/showdown.js @@ -963,6 +963,7 @@ showdown.Converter = function (converterOptions) { }); // run the sub parsers + text = showdown.subParser('hashPreCodeTags')(text, options, globals); text = showdown.subParser('githubCodeBlocks')(text, options, globals); text = showdown.subParser('hashHTMLBlocks')(text, options, globals); text = showdown.subParser('hashHTMLSpans')(text, options, globals); @@ -1772,6 +1773,22 @@ showdown.subParser('unhashHTMLSpans', function (text, config, globals) { return text; }); +/** + * Hash span elements that should not be parsed as markdown + */ +showdown.subParser('hashPreCodeTags', function (text, config, globals) { + 'use strict'; + + var repFunc = function (wholeMatch, match, left, right) { + // encode html entities + var codeblock = left + showdown.subParser('encodeCode')(match) + right; + return '\n\n~G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\n\n'; + }; + + text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^(?: |\\t){0,3}]*>\\s*]*>', '^(?: |\\t){0,3}\\s*', 'gim'); + return text; +}); + showdown.subParser('headers', function (text, options, globals) { 'use strict'; @@ -2164,7 +2181,6 @@ showdown.subParser('paragraphs', function (text, options, globals) { for (i = 0; i < end; i++) { var blockText = '', grafsOutIt = grafsOut[i], - child = false, codeFlag = false; // if this is a marker for an html block... while (grafsOutIt.search(/~(K|G)(\d+)\1/) >= 0) { @@ -2175,7 +2191,12 @@ showdown.subParser('paragraphs', function (text, options, globals) { blockText = globals.gHtmlBlocks[num]; } else { // we need to check if ghBlock is a false positive - blockText = (codeFlag) ? globals.ghCodeBlocks[num].text : globals.ghCodeBlocks[num].codeblock; + if (codeFlag) { + // use encoded version of all text + blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text); + } else { + blockText = globals.ghCodeBlocks[num].codeblock; + } } blockText = blockText.replace(/\$/g, '$$$$'); // Escape any dollar signs @@ -2184,7 +2205,6 @@ showdown.subParser('paragraphs', function (text, options, globals) { if (/^]*>\s*]*>/.test(grafsOutIt)) { codeFlag = true; } - child = true; } grafsOut[i] = grafsOutIt; } diff --git a/dist/showdown.js.map b/dist/showdown.js.map index a64543d2..79e29c97 100644 --- a/dist/showdown.js.map +++ b/dist/showdown.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/options.js","../src/showdown.js","../src/helpers.js","../src/converter.js","../src/subParsers/anchors.js","../src/subParsers/autoLinks.js","../src/subParsers/blockGamut.js","../src/subParsers/blockQuotes.js","../src/subParsers/codeBlocks.js","../src/subParsers/codeSpans.js","../src/subParsers/detab.js","../src/subParsers/encodeAmpsAndAngles.js","../src/subParsers/encodeBackslashEscapes.js","../src/subParsers/encodeCode.js","../src/subParsers/encodeEmailAddress.js","../src/subParsers/escapeSpecialCharsWithinTagAttributes.js","../src/subParsers/githubCodeBlocks.js","../src/subParsers/hashBlock.js","../src/subParsers/hashElement.js","../src/subParsers/hashHTMLBlocks.js","../src/subParsers/hashHTMLSpans.js","../src/subParsers/headers.js","../src/subParsers/images.js","../src/subParsers/italicsAndBold.js","../src/subParsers/lists.js","../src/subParsers/outdent.js","../src/subParsers/paragraphs.js","../src/subParsers/runExtension.js","../src/subParsers/spanGamut.js","../src/subParsers/strikethrough.js","../src/subParsers/stripBlankLines.js","../src/subParsers/stripLinkDefinitions.js","../src/subParsers/tables.js","../src/subParsers/unescapeSpecialChars.js","../src/loader.js"],"names":[],"mappings":";;AAAA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,EAAE,CAAC;AACJ,CAAC;AACD,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,uBAAuB,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACzE,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAClB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;AACnD,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAC5D,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,EAAE,CAAC;AACP,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AACjD,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AACvD,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAClD,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,yBAAyB,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;AACpE,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AACrB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;AACrD,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACd,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9C,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AAC9C,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACrB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9D,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;AACjB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;AACpD,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,EAAE,CAAC;AACP,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACzB,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,MAAM,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACnF,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,IAAI,CAAC,CAAC;AACN,EAAE,EAAE,CAAC;AACL,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC;AACvD,EAAE,CAAC,CAAC;AACJ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAChB,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9C,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC9C,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACd,CAAC,CAAC;;ACpFF,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,EAAE,CAAC;AACJ,CAAC;AACD,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;AACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AACnB,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAClB,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AACrB,IAAI,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC1C,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;AAChB,QAAQ,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC;AACzC,QAAQ,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC;AACpD,QAAQ,kBAAkB,CAAC,QAAQ,IAAI,CAAC,CAAC;AACzC,QAAQ,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC;AACzC,QAAQ,aAAa,CAAC,aAAa,IAAI,CAAC,CAAC;AACzC,QAAQ,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC;AACzC,QAAQ,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC;AACzC,QAAQ,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;AACzC,QAAQ,SAAS,CAAC,iBAAiB,IAAI,CAAC;AACxC,MAAM,EAAE,CAAC;AACT,MAAM,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,EAAE,CAAC;AACP,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACd,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACtB,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACd,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1B,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9B,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;AAChB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;AAC7B,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACjB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACpC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACxB,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AACxC,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACrC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC/B,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC3C,QAAQ,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAChD,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACjB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;AACjC,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;AACtD,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;AAChB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACvC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1C,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC;AACrE,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;AAChB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,IAAI,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;AACxD,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AACD,EAAE,EAAE,CAAC,MAAM,CAAC;AACZ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1C,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5C,MAAM,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC;AACtE,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AACD,IAAI,EAAE,CAAC,MAAM,CAAC;AACd,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACrC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AACnB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;AACpC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AACzC,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACjB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrB,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC3B,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;AAC1B,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;AACnB,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AAC5F,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AACnB,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;AAChB,IAAI,EAAE,CAAC;AACP,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC7C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC7B,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACzD,QAAQ,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/E,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC/C,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACnG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC;AAClD,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;AAChC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC/B,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChC,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3B,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAClC,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACvE,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzB,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC;AAC/H,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC/B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACxD,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC;AACzG,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC/F,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/G,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACzB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/C,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/G,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,CAAC;AACR,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACtC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAChD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACzD,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/B,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxH,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAChF,YAAY,MAAM,CAAC,GAAG,CAAC,CAAC;AACxB,UAAU,CAAC,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAClG,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACjD,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,MAAM,CAAC,CAAC;AACR,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACjI,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,CAAC;AACR,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACtD,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;AAChG,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACd,CAAC,CAAC;AACF,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/C,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,IAAI,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC3C,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClB,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,EAAE,CAAC;;ACpUH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/B,CAAC,EAAE,CAAC;AACJ,CAAC;AACD,EAAE,CAAC,EAAE,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1C,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACxB,CAAC,CAAC;AACF,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACzD,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC;AAChE,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAC9B,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC3C,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AAC9E,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;AACvC,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC;AACnD,EAAE,CAAC;AACH,CAAC;AACD,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;AAC3C,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC,CAAC;AACF,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;AACrE,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;AAChC,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACpG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC;AAC3D,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AAChD,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChF,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AACxC,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5C,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,wBAAwB,EAAE,CAAC;AACxD,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;AACvB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACnE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACd,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,CAAC;AACP,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAChC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1B,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3B,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACnC,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC7C,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AAC/C,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,UAAU,EAAE,CAAC;AACb,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACzB,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,YAAY,MAAM,CAAC,GAAG,CAAC,CAAC;AACxB,UAAU,CAAC,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACpC,CAAC;AACD,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACd,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,oBAAoB,CAAC;AACxB,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;AACf,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AACjE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC;AACjE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9D,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7D,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;AAC/D,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;AAChE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC;AAC3D,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AACjE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9C,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;AACf,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9B,CAAC,CAAC,CAAC,oBAAoB,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACrF,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACrB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5E,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5D,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAClB,CAAC;AACD,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AACnB,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;AAC3E,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AACjE,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/D,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAChE,IAAI,GAAG,CAAC;AACR,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAClB,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3F,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAClD,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC9B,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,EAAE,CAAC;AACP,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAC3D,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACtB,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACnB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;AAC7D,IAAI,CAAC,CAAC;AACN,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,QAAQ,WAAW,CAAC,CAAC;AACrB,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;AAC/E,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;AACrE,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AACnE,UAAU,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACpE,QAAQ,CAAC,CAAC;AACV,MAAM,EAAE,CAAC;AACT,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;AAC5F,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC;AAC9D,IAAI,CAAC,CAAC;AACN,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnB,EAAE,CAAC;AACH,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,SAAS,CAAC;AACb,CAAC,EAAE,CAAC;AACJ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC5C,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AACpB,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;AAClB,IAAI,EAAE,CAAC;AACP,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AACpB,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;AAClB,IAAI,EAAE,CAAC;AACP,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AACpB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;AACjB,IAAI,CAAC,CAAC;AACN,EAAE,EAAE,CAAC;AACL,CAAC,CAAC;;AC/QF,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,EAAE,CAAC;AACJ,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;AACxB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACnD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC;AACN,MAAM,GAAG,CAAC;AACV,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AACxC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,OAAO,EAAE,CAAC;AACV,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,CAAC;AACD,MAAM,GAAG,CAAC;AACV,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AACpD,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACvB,OAAO,EAAE,CAAC;AACV,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3B,CAAC;AACD,MAAM,GAAG,CAAC;AACV,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5D,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACvB,OAAO,EAAE,CAAC;AACV,MAAM,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,CAAC;AACD,MAAM,GAAG,CAAC;AACV,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;AACzB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACpB,OAAO,EAAE,CAAC;AACV,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;AACtB,CAAC;AACD,EAAE,YAAY,GAAG,CAAC;AAClB,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC;AAC3B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACd,GAAG,EAAE,CAAC;AACN,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAC5B,IAAI,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC;AAC/C,CAAC;AACD,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAChD,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;AAC7C,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AACrB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAChD,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAQ,EAAE,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACpD,UAAU,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;AAChD,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC7G,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;AAC/B,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC9B,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;AACpE,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;AACrB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACpB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACd,GAAG,EAAE,CAAC;AACN,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AACD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7D,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC7C,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AACD,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;AAC7B,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACtC,QAAQ,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrH,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC;AAChF,QAAQ,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/D,QAAQ,MAAM,CAAC,CAAC;AAChB,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,CAAC;AACD,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAClE,QAAQ,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC/B,CAAC;AACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC;AAC1H,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACrC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AACnB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3B,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnC,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AACD,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrB,UAAU,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACvC,UAAU,KAAK,CAAC,CAAC;AACjB,CAAC;AACD,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACvB,UAAU,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACxC,UAAU,KAAK,CAAC,CAAC;AACjB,MAAM,CAAC,CAAC;AACR,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3C,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACrD,YAAY,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC;AAC9C,UAAU,CAAC,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,cAAc,CAAC;AACpB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACpB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC1B,GAAG,EAAE,CAAC;AACN,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACrC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC;AAC3C,IAAI,CAAC,CAAC;AACN,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACnB,IAAI,CAAC,CAAC;AACN,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC;AACD,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;AAChC,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrB,UAAU,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACvC,UAAU,KAAK,CAAC,CAAC;AACjB,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AACvB,UAAU,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACxC,UAAU,KAAK,CAAC,CAAC;AACjB,QAAQ,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3C,UAAU,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC;AACvE,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC1B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAChC,GAAG,EAAE,CAAC;AACN,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,MAAM,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1H,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC1C,MAAM,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AACpI,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,IAAI,CAAC,CAAC;AACN,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpC,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;AACvB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AACd,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACxC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;AAC3C,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC7C,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AACrD,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACxB,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACjB,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC1B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAChC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACnC,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACjB,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC1B,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;AAClB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,WAAW,CAAC,KAAK,GAAG,CAAC;AAC3B,MAAM,aAAa,CAAC,GAAG,GAAG,CAAC;AAC3B,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC;AAC3B,MAAM,KAAK,CAAC,WAAW,GAAG,CAAC;AAC3B,MAAM,OAAO,CAAC,SAAS,GAAG,CAAC;AAC3B,MAAM,WAAW,CAAC,KAAK,GAAG,CAAC;AAC3B,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1B,MAAM,cAAc,CAAC,EAAE,GAAG,CAAC;AAC3B,MAAM,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC;AACvC,MAAM,eAAe,CAAC,CAAC,eAAe,CAAC,CAAC;AACxC,MAAM,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;AAC7B,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;AAC1B,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACpE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AACrC,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;AAClD,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;AACzC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AACtC,CAAC;AACD,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AAChC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACvD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACrD,CAAC;AACD,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACjE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC;AACb,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC;AACD,IAAI,EAAE,CAAC,eAAe,CAAC;AACvB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC;AACD,IAAI,EAAE,GAAG,CAAC,kBAAkB,CAAC;AAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,IAAI,GAAG,CAAC;AACR,CAAC;AACD,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;AAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3E,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACrE,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;AACvC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AACjC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACrC,CAAC;AACD,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;AAC5B,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,IAAI,GAAG,CAAC;AACR,CAAC;AACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACjB,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC9C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AACzB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1B,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC/C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;AACzB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;AAClB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AAChD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACnB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AACrC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzB,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AACtC,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC3D,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;AAC/E,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACjD,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;AACpC,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC9C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC1B,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACvC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACjC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7C,UAAU,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAC5C,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;AACjF,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;AAChD,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AAC9B,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAChD,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC/C,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC/B,IAAI,CAAC,CAAC;AACN,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC9B,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,QAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzC,UAAU,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1C,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3C,UAAU,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;AACzC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AACjD,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,IAAI,MAAM,CAAC,CAAC,CAAC;AACb,MAAM,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;AAChC,MAAM,MAAM,CAAC,CAAC,eAAe,CAAC;AAC9B,IAAI,EAAE,CAAC;AACP,EAAE,EAAE,CAAC;AACL,EAAE,CAAC;;AC1YH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,CAAC;AACD,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3C,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACf,IAAI,CAAC,CAAC;AACN,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrB,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC;AACnC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClB,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC;AACD,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAChB,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7D,QAAQ,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/D,MAAM,CAAC,CAAC;AACR,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AACD,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjE,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACrC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,UAAU,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AAC3C,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjD,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,UAAU,MAAM,CAAC,UAAU,CAAC,CAAC;AAC7B,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;AAC7C,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AACpE,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;AACvC,CAAC;AACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AACnB,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC3D,EAAE,EAAE,CAAC;AACL,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrC,GAAG,EAAE,CAAC;AACN,GAAG,CAAC,CAAC;AACL,GAAG,GAAG,CAAC;AACP,GAAG,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAClD,GAAG,CAAC,CAAC;AACL,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC/B,GAAG,EAAE,CAAC;AACN,GAAG,CAAC,CAAC;AACL,GAAG,EAAE,CAAC;AACN,CAAC;AACD,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AAClC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC;AAC7D,CAAC;AACD,GAAG,EAAE,CAAC;AACN,GAAG,KAAK,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,GAAG,EAAE,CAAC;AACN,GAAG,SAAS,KAAK,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC;AACjD,GAAG,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;AAC5B,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AACxG,CAAC;AACD,EAAE,EAAE,CAAC;AACL,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACjE,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,EAAE,CAAC;AACL,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpC,GAAG,EAAE,CAAC;AACN,GAAG,CAAC,CAAC;AACL,GAAG,GAAG,CAAC;AACP,GAAG,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACjD,GAAG,CAAC,CAAC;AACL,GAAG,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjC,GAAG,CAAC,CAAC;AACL,GAAG,CAAC,CAAC;AACL,GAAG,EAAE,CAAC;AACN,GAAG,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;AAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvC,GAAG,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAChB,GAAG,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,GAAG,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;AAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC;AAChC,GAAG,EAAE,CAAC;AACN,GAAG,CAAC,CAAC;AACL,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AACvB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,iCAAiC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxH,sBAAsB,cAAc,EAAE,CAAC;AACvC,CAAC;AACD,EAAE,EAAE,CAAC;AACL,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACjE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAC1B,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,EAAE,CAAC;AACL,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,GAAG,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,GAAG,EAAE,CAAC;AACN,GAAG,UAAU,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;AAChE,GAAG,EAAE,CAAC;AACN,GAAG,WAAW,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC;AAClD,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AACxB,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AACrE,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACpIJ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC;AACD,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;AACrG,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;AACzE,MAAM,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9H,MAAM,cAAc,EAAE,CAAC,CAAC,KAAK,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACvF,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;AAC/D,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;AACpD,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1F,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;AAClE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;AACvD,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,GAAG,EAAE,EAAE,CAAC;AACvE,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAAC;AACnE,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC5BJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACrE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;AACrE,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;AACxB,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACpE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AAClE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AAClE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;AACjE,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9D,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACnE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/D,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACtE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvC,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACnE,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AClCJ,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3E,EAAE,EAAE,CAAC;AACL,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtC,GAAG,CAAC,CAAC;AACL,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClD,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AACtC,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC;AACtB,GAAG,EAAE,CAAC;AACN,GAAG,CAAC,CAAC;AACL,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,SAAS,CAAC;AAC1B,GAAG,EAAE,CAAC;AACN,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7F,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;AAC5E,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;AAChC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACrE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;AAC5E,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACxC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9E,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpB,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrD,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AACxC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,GAAG,CAAC;AACR,CAAC;AACD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACzG,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC9CJ,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC;AACzC,CAAC,EAAE;AACH,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;AACf;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AACzE,EAAE,EAAE;AACJ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAC5B,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG;AACd,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;AAClF,GAAG,GAAG;AACN,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;AACnG,GAAG,GAAG,CAAC,CAAC;AACR,GAAG,EAAE;AACL,GAAG,CAAC;AACJ,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW;AACzD,GAAG,CAAC,CAAC,CAAC,QAAQ,SAAS;AACvB,GAAG,EAAE;AACL;AACA,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;AAC5E,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACf;AACA,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnF,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9D,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACvB,QAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AACtB,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AACnB;AACA,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE;AACzD,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,EAAE;AAC5D,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE;AACvD,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;AACxE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACzE;AACA,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC1C,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG;AACf,IAAI,CAAC;AACL;AACA,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG;AAClE;AACA,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnF,EAAE,GAAG;AACL;AACA,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ;AAC9B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI;AAChC;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AACxE,EAAE,MAAM,CAAC,IAAI,CAAC;AACd,GAAG;;ACjDH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;AAChE,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;AACpE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AACpC,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;AAC3C,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,CAAC;AACD,EAAE,EAAE,CAAC;AACL,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AACzB,GAAG,SAAS,KAAK,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AAClC,GAAG,GAAG,CAAC,GAAG,CAAC;AACX,GAAG,IAAI,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;AACzD,GAAG,CAAC,CAAC;AACL,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC/B,GAAG,KAAK,CAAC;AACT,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,SAAS,CAAC;AAC1B,GAAG,EAAE,CAAC;AACN,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7D,IAAI,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;AAC7D,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;AAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,EAAE,CAAC;AAC/C,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;AAC5C,IAAI,CAAC,CAAC;AACN,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACtDJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;AAC9B,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC;AAC3D,CAAC;AACD,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACxC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AACD,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;AAChE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC;AAChE,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAChD,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1B,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;AACxB,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;AACxB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC;AACtD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AACD,GAAG,CAAC;;AC/BJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC/E,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,mBAAmB,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC3E,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3C,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;AACtE,CAAC;AACD,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACtB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;AACrD,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACbJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,MAAM,IAAI,EAAE,CAAC;AAC/C,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;AACtE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;AAC5E,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;AAC7F,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AChBJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;AAClD,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;AACtC,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1C,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;AACrC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;AACrC,CAAC;AACD,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACxD,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACpE,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,EAAE,KAAK,CAAC;AACR,EAAE,GAAG,CAAC,IAAI,CAAC;AACX,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAClB,EAAE,EAAE,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,EAAE,EAAE,CAAC,GAAG,CAAC;AACT,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC3BJ,GAAG,CAAC;AACJ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AACpE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;AACjF,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACpF,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AACrE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AACH,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,IAAI,EAAE,CAAC;AACP,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,IAAI,EAAE,CAAC;AACP,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;AACjB,IAAI,CAAC,CAAC;AACN,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACtB,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AACjD,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AAC7B,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;AAC3C,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3E,MAAM,EAAE,CAAC;AACT,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;AACf,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;AACpD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAClF,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACnDJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;AACtE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,qCAAqC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9E,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5D,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;AAC/D,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AACjE,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AAChB,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AClBJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;AAC9D,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC7D,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACX,CAAC,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5B,CAAC,CAAC,KAAK,GAAG,CAAC;AACX,CAAC,CAAC,CAAC,GAAG,CAAC;AACP,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3E,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACjB,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAChF,CAAC;AACD,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACxG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACzC,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC;AAC7D,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,EAAE,CAAC;AACxD,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACzE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AAC5E,CAAC;AACD,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC;AAClJ,CAAC;AACD,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7D,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACrE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3G,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACjC,CAAC;AACD,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,GAAG,CAAC;;AC7CJ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,GAAG,CAAC;;ACJJ,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AACD,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACzB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;AAClD,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;AAC9C,CAAC;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;AAClC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AACD,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1E,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AACD,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AACtB,EAAE,EAAE,CAAC;AACL,GAAG,CAAC;;AClBJ,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,MAAM,CAAC,GAAG,EAAE,CAAC;AACb,MAAM,CAAC,GAAG,EAAE,CAAC;AACb,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,UAAU,EAAE,CAAC;AACpB,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClB,MAAM,CAAC,IAAI,EAAE,CAAC;AACd,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,IAAI,EAAE,CAAC;AACd,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,MAAM,CAAC,OAAO,EAAE,CAAC;AACjB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,GAAG,EAAE,CAAC;AACb,MAAM,CAAC,OAAO,EAAE,CAAC;AACjB,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,MAAM,CAAC,OAAO,EAAE,CAAC;AACjB,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,MAAM,EAAE,CAAC;AAChB,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,MAAM,CAAC,CAAC,CAAC,CAAC;AACV,IAAI,EAAE,CAAC;AACP,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC1D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC3D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChE,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvE,IAAI,EAAE,CAAC;AACP,CAAC;AACD,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;AACrJ,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AACrB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,IAAI,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;AAChE,CAAC;AACD,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,IAAI,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;AAChE,CAAC;AACD,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AACpE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClF,IAAI,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;AAChE,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AClEJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC5D,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC;AAC/F,CAAC;AACD,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnG,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;AACJ,CAAC;AACD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACrB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;AAChE,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACzBJ,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,CAAC;AACD,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC7C,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;AAC/G,CAAC;AACD,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACd,EAAE,EAAE,CAAC,QAAQ,CAAC;AACd,EAAE,EAAE,CAAC;AACL,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACd,EAAE,EAAE,CAAC,QAAQ,CAAC;AACd,EAAE,EAAE,CAAC;AACL,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpH,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpH,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AACD,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3E,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,QAAQ,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACnC,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3E,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,QAAQ,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAChF,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACjB,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAClB,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;AACzC,EAAE,EAAE,EAAE,GAAG,CAAC;AACV,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACtB,EAAE,EAAE,CAAC;AACL,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3F,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,QAAQ,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACnD,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AACD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC;AAClE,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC7C,MAAM,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,KAAK,CAAC;AACvE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACzB,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5E,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAChC,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAClD,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnC,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAClB,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC1EJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,CAAC;AACD,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACjJ,MAAM,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AACvE,CAAC;AACD,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC;AACD,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACjC,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACnC,QAAQ,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AACD,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC;AACnC,CAAC;AACD,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAClB,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7D,QAAQ,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9D,MAAM,CAAC,CAAC;AACR,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AACD,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzD,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AAC7B,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,UAAU,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AACnC,QAAQ,CAAC,CAAC;AACV,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,UAAU,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,UAAU,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;AAC/C,IAAI,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AACtE,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AAC9D,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjE,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjB,MAAM,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;AAC7C,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AACpE,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACjD,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AACD,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrB,CAAC;AACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AACnB,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACnE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC;AACvD,CAAC;AACD,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACtF,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;AACpD,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACrE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC5EJ,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAC3C,IAAI,EAAE,WAAW,CAAC;AAClB,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAChE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;AACjG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC;AACvF,IAAI,EAAE,SAAS,CAAC;AAChB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;AAClF,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC;AACpE,CAAC;AACD,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;AACtF,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC;AACtE,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC7E,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACtBJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACrE,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AAC9E,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;AAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;AACnC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,GAAG,EAAE,CAAC;AACN,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACtD,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,IAAI,EAAE,CAAC;AACP,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACzE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,IAAI,EAAE,CAAC;AACP,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC;AAC3C,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;AAC5C,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,IAAI,EAAE,CAAC;AACP,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3E,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3C,IAAI,EAAE,CAAC;AACP,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACzE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACvE,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;AACrE,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACrE,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACrE,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC;AAC1B,CAAC;AACD,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;AAChD,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7C,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACrB,CAAC;AACD,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5H,QAAQ,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC;AAC5D,CAAC;AACD,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7F,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AACpD,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,UAAU,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5B,CAAC;AACD,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;AACtC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAChF,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC;AACzH,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/B,UAAU,CAAC,CAAC;AACZ,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACtB,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AACtB,QAAQ,GAAG,CAAC;AACZ,MAAM,CAAC,CAAC;AACR,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9B,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAClD,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACrB,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChD,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACpE,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACvD,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC7B,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC3E,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,UAAU,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,QAAQ,CAAC,CAAC;AACV,MAAM,CAAC,CAAC;AACR,MAAM,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9D,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;AACnB,IAAI,GAAG,CAAC;AACR,CAAC;AACD,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AACjC,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AACD,IAAI,OAAO,CAAC,UAAU,GAAG,CAAC;AAC1B,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACxB,MAAM,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7C,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AACpB,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,GAAG,CAAC;AACN,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AACnE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AAC1B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;AAC9B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;AACnC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,GAAG,EAAE,CAAC;AACN,EAAE,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;AACjE,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACtF,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1F,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AACrB,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACnB,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;AAC1C,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,UAAU,EAAE,CAAC,KAAK,CAAC;AACnB,UAAU,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAChI,CAAC;AACD,UAAU,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7C,UAAU,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxD,UAAU,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5F,CAAC;AACD,UAAU,EAAE,OAAO,CAAC;AACpB,UAAU,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;AACnC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,UAAU,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAClH,QAAQ,CAAC,CAAC;AACV,MAAM,GAAG,IAAI,EAAE,CAAC;AAChB,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AACD,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9G,IAAI,CAAC,CAAC;AACN,CAAC;AACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AACnB,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9D,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;AAClD,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC1D,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACjH,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACrE,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/D,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,IAAI,GAAG,CAAC;AACR,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACX,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACzH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACzH,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AACD,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/D,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpD,IAAI,GAAG,CAAC;AACR,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACjC,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACpE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACnKJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;AACnD,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACjD,EAAE,EAAE,CAAC,WAAW,GAAG,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAChD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;AAC3E,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;AAC9B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACdJ,GAAG;AACH,CAAC,CAAC;AACF,CAAC,EAAE;AACH,QAAQ,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;AACf;AACA,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AACzE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;AACnC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;AACnC;AACA,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AACpC,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG;AACpB,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AAC1C;AACA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACjC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACvB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE;AACzC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;AACzB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACZ,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;AACnE,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI;AAC7C,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG;AACpB,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;AACzB,IAAI,CAAC;AACL,EAAE,CAAC;AACH;AACA,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC9B,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AACxB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;AACvB,QAAQ,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE;AACjC,QAAQ,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACtB,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AACzB,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG;AAC/C,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5B;AACA,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,QAAQ,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;AAC7C,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;AAC1D,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC;AACtG,MAAM,CAAC;AACP,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK;AAC9E;AACA,MAAM,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;AAC9E,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI;AAC3C,MAAM,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC7D,QAAQ,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACxB,MAAM,CAAC;AACP,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACnB,IAAI,CAAC;AACL,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7B,EAAE,CAAC;AACH,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG;AAC/B,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AACtC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;AACnC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;AACnC,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AACxE,GAAG;;AC9DH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;AACjB,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5E,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;AACzD,CAAC;AACD,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC;AAC3E,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChC,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AAC1C,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACnBJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AACrE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAClE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,qCAAqC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9F,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,CAAC;AACD,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7C,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/D,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAChE,CAAC;AACD,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC;AAC3D,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;AACpD,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAClE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5E,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACtE,CAAC;AACD,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9C,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC9BJ,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC/E,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;AAC3E,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AAC9E,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACVJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC;AAChE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC;AACjE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxD,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AACzC,GAAG,CAAC;;ACTJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;AACpE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,CAAC,CAAC,CAAC,GAAG,CAAC;AACP,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;AAC9E,CAAC,CAAC,CAAC,IAAI,CAAC;AACR,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,IAAI,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACV,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC;AACrB,CAAC,CAAC,CAAC;AACH,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/E,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9K,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7E,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpG,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC;AACnC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AAC9G,CAAC;AACD,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACtB,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvD,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACxD,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AACD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACb,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,QAAQ,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;AACnE,MAAM,CAAC,CAAC;AACR,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3D,QAAQ,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,UAAU,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;AACzB,UAAU,MAAM,CAAC,CAAC,MAAM,CAAC;AACzB,QAAQ,EAAE,CAAC;AACX,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,CAAC;AACN,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACtD,IAAI,MAAM,CAAC,GAAG,CAAC;AACf,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/B,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;AACjC,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;AC7DJ,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,CAAC;AACD,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACrB,QAAQ,MAAM,CAAC,CAAC;AAChB,CAAC;AACD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACnB,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;AAC9B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,QAAQ,MAAM,CAAC,GAAG,CAAC;AACnB,MAAM,CAAC,CAAC;AACR,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACnC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1E,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1D,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACpF,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC;AACtD,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAC7C,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AACD,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAClD,MAAM,CAAC,CAAC;AACR,CAAC;AACD,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACpB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAC7C,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AACD,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,QAAQ,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAClD,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AACf,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAC7C,UAAU,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AACD,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACzB,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACvB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;AAClD,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;AACxB,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;AAC3B,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AACf,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAC3C,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC;AACD,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AACtB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC;AAClD,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;AACxB,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;AAClB,IAAI,EAAE,CAAC;AACP,CAAC;AACD,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;AAClC,QAAQ,IAAI,CAAC,CAAC;AACd,QAAQ,EAAE,CAAC,CAAC;AACZ,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAClB,CAAC;AACD,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACzB,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AACtC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC;AAC/C,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAC9B,CAAC;AACD,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACxB,cAAc,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;AAC3C,cAAc,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3B,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AACD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACjD,YAAY,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;AACtE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,cAAc,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC;AAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACxD,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;AAClD,CAAC;AACD,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5D,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;AACjD,CAAC;AACD,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;AAChD,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,gBAAgB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAChC,cAAc,CAAC,CAAC;AAChB,YAAY,CAAC,CAAC;AACd,UAAU,CAAC,CAAC;AACZ,UAAU,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC;AAC/B,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;AAC9D,CAAC;AACD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,cAAc,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;AAC9C,YAAY,CAAC,CAAC;AACd,UAAU,CAAC,CAAC;AACZ,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;AAC5D,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7B,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACxD,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AACxC,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AAC/B,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnB,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AAC/B,YAAY,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC;AACjC,YAAY,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC;AACtD,cAAc,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;AAClC,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC;AACxG,cAAc,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AACjC,YAAY,CAAC,CAAC;AACd,YAAY,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;AAClC,YAAY,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;AAClC,YAAY,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7D,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;AACtC,YAAY,QAAQ,CAAC,CAAC;AACtB,UAAU,CAAC,CAAC;AACZ,QAAQ,CAAC,CAAC;AACV,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACxB,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;AAC7B,IAAI,EAAE,CAAC;AACP,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5B,EAAE,EAAE,CAAC;AACL,CAAC;AACD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACxE,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC/B,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACpC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACnKJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC,EAAE,CAAC;AACJ,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7D,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAChB,CAAC;AACD,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;AAC1C,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;AACnD,EAAE,GAAG,CAAC;AACN,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,GAAG,CAAC;;ACXJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AACD,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvD,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AACD,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AACd,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrB,EAAE,GAAG,CAAC;AACN,CAAC;AACD,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACT,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC","file":"showdown.js","sourcesContent":["/**\r\n * Created by Tivie on 13-07-2015.\r\n */\r\n\r\nfunction getDefaultOpts(simple) {\r\n 'use strict';\r\n\r\n var defaultOptions = {\r\n omitExtraWLInCodeBlocks: {\r\n default: false,\r\n describe: 'Omit the default extra whiteline added to code blocks',\r\n type: 'boolean'\r\n },\r\n noHeaderId: {\r\n default: false,\r\n describe: 'Turn on/off generated header id',\r\n type: 'boolean'\r\n },\r\n prefixHeaderId: {\r\n default: false,\r\n describe: 'Specify a prefix to generated header ids',\r\n type: 'string'\r\n },\r\n headerLevelStart: {\r\n default: false,\r\n describe: 'The header blocks level start',\r\n type: 'integer'\r\n },\r\n parseImgDimensions: {\r\n default: false,\r\n describe: 'Turn on/off image dimension parsing',\r\n type: 'boolean'\r\n },\r\n simplifiedAutoLink: {\r\n default: false,\r\n describe: 'Turn on/off GFM autolink style',\r\n type: 'boolean'\r\n },\r\n literalMidWordUnderscores: {\r\n default: false,\r\n describe: 'Parse midword underscores as literal underscores',\r\n type: 'boolean'\r\n },\r\n strikethrough: {\r\n default: false,\r\n describe: 'Turn on/off strikethrough support',\r\n type: 'boolean'\r\n },\r\n tables: {\r\n default: false,\r\n describe: 'Turn on/off tables support',\r\n type: 'boolean'\r\n },\r\n tablesHeaderId: {\r\n default: false,\r\n describe: 'Add an id to table headers',\r\n type: 'boolean'\r\n },\r\n ghCodeBlocks: {\r\n default: true,\r\n describe: 'Turn on/off GFM fenced code blocks support',\r\n type: 'boolean'\r\n },\r\n tasklists: {\r\n default: false,\r\n describe: 'Turn on/off GFM tasklist support',\r\n type: 'boolean'\r\n },\r\n smoothLivePreview: {\r\n default: false,\r\n describe: 'Prevents weird effects in live previews due to incomplete input',\r\n type: 'boolean'\r\n }\r\n };\r\n if (simple === false) {\r\n return JSON.parse(JSON.stringify(defaultOptions));\r\n }\r\n var ret = {};\r\n for (var opt in defaultOptions) {\r\n if (defaultOptions.hasOwnProperty(opt)) {\r\n ret[opt] = defaultOptions[opt].default;\r\n }\r\n }\r\n return ret;\r\n}\r\n","/**\r\n * Created by Tivie on 06-01-2015.\r\n */\r\n\r\n// Private properties\r\nvar showdown = {},\r\n parsers = {},\r\n extensions = {},\r\n globalOptions = getDefaultOpts(true),\r\n flavor = {\r\n github: {\r\n omitExtraWLInCodeBlocks: true,\r\n prefixHeaderId: 'user-content-',\r\n simplifiedAutoLink: true,\r\n literalMidWordUnderscores: true,\r\n strikethrough: true,\r\n tables: true,\r\n tablesHeaderId: true,\r\n ghCodeBlocks: true,\r\n tasklists: true\r\n },\r\n vanilla: getDefaultOpts(true)\r\n };\r\n\r\n/**\r\n * helper namespace\r\n * @type {{}}\r\n */\r\nshowdown.helper = {};\r\n\r\n/**\r\n * TODO LEGACY SUPPORT CODE\r\n * @type {{}}\r\n */\r\nshowdown.extensions = {};\r\n\r\n/**\r\n * Set a global option\r\n * @static\r\n * @param {string} key\r\n * @param {*} value\r\n * @returns {showdown}\r\n */\r\nshowdown.setOption = function (key, value) {\r\n 'use strict';\r\n globalOptions[key] = value;\r\n return this;\r\n};\r\n\r\n/**\r\n * Get a global option\r\n * @static\r\n * @param {string} key\r\n * @returns {*}\r\n */\r\nshowdown.getOption = function (key) {\r\n 'use strict';\r\n return globalOptions[key];\r\n};\r\n\r\n/**\r\n * Get the global options\r\n * @static\r\n * @returns {{}}\r\n */\r\nshowdown.getOptions = function () {\r\n 'use strict';\r\n return globalOptions;\r\n};\r\n\r\n/**\r\n * Reset global options to the default values\r\n * @static\r\n */\r\nshowdown.resetOptions = function () {\r\n 'use strict';\r\n globalOptions = getDefaultOpts(true);\r\n};\r\n\r\n/**\r\n * Set the flavor showdown should use as default\r\n * @param {string} name\r\n */\r\nshowdown.setFlavor = function (name) {\r\n 'use strict';\r\n if (flavor.hasOwnProperty(name)) {\r\n var preset = flavor[name];\r\n for (var option in preset) {\r\n if (preset.hasOwnProperty(option)) {\r\n globalOptions[option] = preset[option];\r\n }\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Get the default options\r\n * @static\r\n * @param {boolean} [simple=true]\r\n * @returns {{}}\r\n */\r\nshowdown.getDefaultOptions = function (simple) {\r\n 'use strict';\r\n return getDefaultOpts(simple);\r\n};\r\n\r\n/**\r\n * Get or set a subParser\r\n *\r\n * subParser(name) - Get a registered subParser\r\n * subParser(name, func) - Register a subParser\r\n * @static\r\n * @param {string} name\r\n * @param {function} [func]\r\n * @returns {*}\r\n */\r\nshowdown.subParser = function (name, func) {\r\n 'use strict';\r\n if (showdown.helper.isString(name)) {\r\n if (typeof func !== 'undefined') {\r\n parsers[name] = func;\r\n } else {\r\n if (parsers.hasOwnProperty(name)) {\r\n return parsers[name];\r\n } else {\r\n throw Error('SubParser named ' + name + ' not registered!');\r\n }\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Gets or registers an extension\r\n * @static\r\n * @param {string} name\r\n * @param {object|function=} ext\r\n * @returns {*}\r\n */\r\nshowdown.extension = function (name, ext) {\r\n 'use strict';\r\n\r\n if (!showdown.helper.isString(name)) {\r\n throw Error('Extension \\'name\\' must be a string');\r\n }\r\n\r\n name = showdown.helper.stdExtName(name);\r\n\r\n // Getter\r\n if (showdown.helper.isUndefined(ext)) {\r\n if (!extensions.hasOwnProperty(name)) {\r\n throw Error('Extension named ' + name + ' is not registered!');\r\n }\r\n return extensions[name];\r\n\r\n // Setter\r\n } else {\r\n // Expand extension if it's wrapped in a function\r\n if (typeof ext === 'function') {\r\n ext = ext();\r\n }\r\n\r\n // Ensure extension is an array\r\n if (!showdown.helper.isArray(ext)) {\r\n ext = [ext];\r\n }\r\n\r\n var validExtension = validate(ext, name);\r\n\r\n if (validExtension.valid) {\r\n extensions[name] = ext;\r\n } else {\r\n throw Error(validExtension.error);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Gets all extensions registered\r\n * @returns {{}}\r\n */\r\nshowdown.getAllExtensions = function () {\r\n 'use strict';\r\n return extensions;\r\n};\r\n\r\n/**\r\n * Remove an extension\r\n * @param {string} name\r\n */\r\nshowdown.removeExtension = function (name) {\r\n 'use strict';\r\n delete extensions[name];\r\n};\r\n\r\n/**\r\n * Removes all extensions\r\n */\r\nshowdown.resetExtensions = function () {\r\n 'use strict';\r\n extensions = {};\r\n};\r\n\r\n/**\r\n * Validate extension\r\n * @param {array} extension\r\n * @param {string} name\r\n * @returns {{valid: boolean, error: string}}\r\n */\r\nfunction validate(extension, name) {\r\n 'use strict';\r\n\r\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\r\n ret = {\r\n valid: true,\r\n error: ''\r\n };\r\n\r\n if (!showdown.helper.isArray(extension)) {\r\n extension = [extension];\r\n }\r\n\r\n for (var i = 0; i < extension.length; ++i) {\r\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\r\n ext = extension[i];\r\n if (typeof ext !== 'object') {\r\n ret.valid = false;\r\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\r\n return ret;\r\n }\r\n\r\n if (!showdown.helper.isString(ext.type)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\r\n return ret;\r\n }\r\n\r\n var type = ext.type = ext.type.toLowerCase();\r\n\r\n // normalize extension type\r\n if (type === 'language') {\r\n type = ext.type = 'lang';\r\n }\r\n\r\n if (type === 'html') {\r\n type = ext.type = 'output';\r\n }\r\n\r\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\r\n ret.valid = false;\r\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\r\n return ret;\r\n }\r\n\r\n if (type === 'listener') {\r\n if (showdown.helper.isUndefined(ext.listeners)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\r\n return ret;\r\n }\r\n } else {\r\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\r\n return ret;\r\n }\r\n }\r\n\r\n if (ext.listeners) {\r\n if (typeof ext.listeners !== 'object') {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\r\n return ret;\r\n }\r\n for (var ln in ext.listeners) {\r\n if (ext.listeners.hasOwnProperty(ln)) {\r\n if (typeof ext.listeners[ln] !== 'function') {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\r\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\r\n return ret;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (ext.filter) {\r\n if (typeof ext.filter !== 'function') {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\r\n return ret;\r\n }\r\n } else if (ext.regex) {\r\n if (showdown.helper.isString(ext.regex)) {\r\n ext.regex = new RegExp(ext.regex, 'g');\r\n }\r\n if (!ext.regex instanceof RegExp) {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\r\n return ret;\r\n }\r\n if (showdown.helper.isUndefined(ext.replace)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\r\n return ret;\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\n/**\r\n * Validate extension\r\n * @param {object} ext\r\n * @returns {boolean}\r\n */\r\nshowdown.validateExtension = function (ext) {\r\n 'use strict';\r\n\r\n var validateExtension = validate(ext, null);\r\n if (!validateExtension.valid) {\r\n console.warn(validateExtension.error);\r\n return false;\r\n }\r\n return true;\r\n};\r\n","/**\r\n * showdownjs helper functions\r\n */\r\n\r\nif (!showdown.hasOwnProperty('helper')) {\r\n showdown.helper = {};\r\n}\r\n\r\n/**\r\n * Check if var is string\r\n * @static\r\n * @param {string} a\r\n * @returns {boolean}\r\n */\r\nshowdown.helper.isString = function isString(a) {\r\n 'use strict';\r\n return (typeof a === 'string' || a instanceof String);\r\n};\r\n\r\n/**\r\n * Check if var is a function\r\n * @static\r\n * @param {string} a\r\n * @returns {boolean}\r\n */\r\nshowdown.helper.isFunction = function isFunction(a) {\r\n 'use strict';\r\n var getType = {};\r\n return a && getType.toString.call(a) === '[object Function]';\r\n};\r\n\r\n/**\r\n * ForEach helper function\r\n * @static\r\n * @param {*} obj\r\n * @param {function} callback\r\n */\r\nshowdown.helper.forEach = function forEach(obj, callback) {\r\n 'use strict';\r\n if (typeof obj.forEach === 'function') {\r\n obj.forEach(callback);\r\n } else {\r\n for (var i = 0; i < obj.length; i++) {\r\n callback(obj[i], i, obj);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * isArray helper function\r\n * @static\r\n * @param {*} a\r\n * @returns {boolean}\r\n */\r\nshowdown.helper.isArray = function isArray(a) {\r\n 'use strict';\r\n return a.constructor === Array;\r\n};\r\n\r\n/**\r\n * Check if value is undefined\r\n * @static\r\n * @param {*} value The value to check.\r\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\r\n */\r\nshowdown.helper.isUndefined = function isUndefined(value) {\r\n 'use strict';\r\n return typeof value === 'undefined';\r\n};\r\n\r\n/**\r\n * Standardidize extension name\r\n * @static\r\n * @param {string} s extension name\r\n * @returns {string}\r\n */\r\nshowdown.helper.stdExtName = function (s) {\r\n 'use strict';\r\n return s.replace(/[_-]||\\s/g, '').toLowerCase();\r\n};\r\n\r\nfunction escapeCharactersCallback(wholeMatch, m1) {\r\n 'use strict';\r\n var charCodeToEscape = m1.charCodeAt(0);\r\n return '~E' + charCodeToEscape + 'E';\r\n}\r\n\r\n/**\r\n * Callback used to escape characters when passing through String.replace\r\n * @static\r\n * @param {string} wholeMatch\r\n * @param {string} m1\r\n * @returns {string}\r\n */\r\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\r\n\r\n/**\r\n * Escape characters in a string\r\n * @static\r\n * @param {string} text\r\n * @param {string} charsToEscape\r\n * @param {boolean} afterBackslash\r\n * @returns {XML|string|void|*}\r\n */\r\nshowdown.helper.escapeCharacters = function escapeCharacters(text, charsToEscape, afterBackslash) {\r\n 'use strict';\r\n // First we have to escape the escape characters so that\r\n // we can build a character class out of them\r\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\r\n\r\n if (afterBackslash) {\r\n regexString = '\\\\\\\\' + regexString;\r\n }\r\n\r\n var regex = new RegExp(regexString, 'g');\r\n text = text.replace(regex, escapeCharactersCallback);\r\n\r\n return text;\r\n};\r\n\r\nvar rgxFindMatchPos = function (str, left, right, flags) {\r\n 'use strict';\r\n var f = flags || '',\r\n g = f.indexOf('g') > -1,\r\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\r\n l = new RegExp(left, f.replace(/g/g, '')),\r\n pos = [],\r\n t, s, m, start, end;\r\n\r\n do {\r\n t = 0;\r\n while ((m = x.exec(str))) {\r\n if (l.test(m[0])) {\r\n if (!(t++)) {\r\n s = x.lastIndex;\r\n start = s - m[0].length;\r\n }\r\n } else if (t) {\r\n if (!--t) {\r\n end = m.index + m[0].length;\r\n var obj = {\r\n left: {start: start, end: s},\r\n match: {start: s, end: m.index},\r\n right: {start: m.index, end: end},\r\n wholeMatch: {start: start, end: end}\r\n };\r\n pos.push(obj);\r\n if (!g) {\r\n return pos;\r\n }\r\n }\r\n }\r\n }\r\n } while (t && (x.lastIndex = s));\r\n\r\n return pos;\r\n};\r\n\r\n/**\r\n * matchRecursiveRegExp\r\n *\r\n * (c) 2007 Steven Levithan \r\n * MIT License\r\n *\r\n * Accepts a string to search, a left and right format delimiter\r\n * as regex patterns, and optional regex flags. Returns an array\r\n * of matches, allowing nested instances of left/right delimiters.\r\n * Use the \"g\" flag to return all matches, otherwise only the\r\n * first is returned. Be careful to ensure that the left and\r\n * right format delimiters produce mutually exclusive matches.\r\n * Backreferences are not supported within the right delimiter\r\n * due to how it is internally combined with the left delimiter.\r\n * When matching strings whose format delimiters are unbalanced\r\n * to the left or right, the output is intentionally as a\r\n * conventional regex library with recursion support would\r\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\r\n * \"<\" and \">\" as the delimiters (both strings contain a single,\r\n * balanced instance of \"\").\r\n *\r\n * examples:\r\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\r\n * returns: []\r\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\r\n * returns: [\"t<>\", \"\"]\r\n * matchRecursiveRegExp(\"
test
\", \"]*>\", \"\", \"gi\")\r\n * returns: [\"test\"]\r\n */\r\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\r\n 'use strict';\r\n\r\n var matchPos = rgxFindMatchPos (str, left, right, flags),\r\n results = [];\r\n\r\n for (var i = 0; i < matchPos.length; ++i) {\r\n results.push([\r\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\r\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\r\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\r\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\r\n ]);\r\n }\r\n return results;\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} str\r\n * @param {string|function} replacement\r\n * @param {string} left\r\n * @param {string} right\r\n * @param {string} flags\r\n * @returns {string}\r\n */\r\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\r\n 'use strict';\r\n\r\n if (!showdown.helper.isFunction(replacement)) {\r\n var repStr = replacement;\r\n replacement = function () {\r\n return repStr;\r\n };\r\n }\r\n\r\n var matchPos = rgxFindMatchPos(str, left, right, flags),\r\n finalStr = str,\r\n lng = matchPos.length;\r\n\r\n if (lng > 0) {\r\n var bits = [];\r\n if (matchPos[0].wholeMatch.start !== 0) {\r\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\r\n }\r\n for (var i = 0; i < lng; ++i) {\r\n bits.push(\r\n replacement(\r\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\r\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\r\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\r\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\r\n )\r\n );\r\n if (i < lng - 1) {\r\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\r\n }\r\n }\r\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\r\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\r\n }\r\n finalStr = bits.join('');\r\n }\r\n return finalStr;\r\n};\r\n\r\n/**\r\n * POLYFILLS\r\n */\r\nif (showdown.helper.isUndefined(console)) {\r\n console = {\r\n warn: function (msg) {\r\n 'use strict';\r\n alert(msg);\r\n },\r\n log: function (msg) {\r\n 'use strict';\r\n alert(msg);\r\n },\r\n error: function (msg) {\r\n 'use strict';\r\n throw msg;\r\n }\r\n };\r\n}\r\n","/**\r\n * Created by Estevao on 31-05-2015.\r\n */\r\n\r\n/**\r\n * Showdown Converter class\r\n * @class\r\n * @param {object} [converterOptions]\r\n * @returns {Converter}\r\n */\r\nshowdown.Converter = function (converterOptions) {\r\n 'use strict';\r\n\r\n var\r\n /**\r\n * Options used by this converter\r\n * @private\r\n * @type {{}}\r\n */\r\n options = {},\r\n\r\n /**\r\n * Language extensions used by this converter\r\n * @private\r\n * @type {Array}\r\n */\r\n langExtensions = [],\r\n\r\n /**\r\n * Output modifiers extensions used by this converter\r\n * @private\r\n * @type {Array}\r\n */\r\n outputModifiers = [],\r\n\r\n /**\r\n * Event listeners\r\n * @private\r\n * @type {{}}\r\n */\r\n listeners = {};\r\n\r\n _constructor();\r\n\r\n /**\r\n * Converter constructor\r\n * @private\r\n */\r\n function _constructor() {\r\n converterOptions = converterOptions || {};\r\n\r\n for (var gOpt in globalOptions) {\r\n if (globalOptions.hasOwnProperty(gOpt)) {\r\n options[gOpt] = globalOptions[gOpt];\r\n }\r\n }\r\n\r\n // Merge options\r\n if (typeof converterOptions === 'object') {\r\n for (var opt in converterOptions) {\r\n if (converterOptions.hasOwnProperty(opt)) {\r\n options[opt] = converterOptions[opt];\r\n }\r\n }\r\n } else {\r\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\r\n ' was passed instead.');\r\n }\r\n\r\n if (options.extensions) {\r\n showdown.helper.forEach(options.extensions, _parseExtension);\r\n }\r\n }\r\n\r\n /**\r\n * Parse extension\r\n * @param {*} ext\r\n * @param {string} [name='']\r\n * @private\r\n */\r\n function _parseExtension(ext, name) {\r\n\r\n name = name || null;\r\n // If it's a string, the extension was previously loaded\r\n if (showdown.helper.isString(ext)) {\r\n ext = showdown.helper.stdExtName(ext);\r\n name = ext;\r\n\r\n // LEGACY_SUPPORT CODE\r\n if (showdown.extensions[ext]) {\r\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\r\n 'Please inform the developer that the extension should be updated!');\r\n legacyExtensionLoading(showdown.extensions[ext], ext);\r\n return;\r\n // END LEGACY SUPPORT CODE\r\n\r\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\r\n ext = extensions[ext];\r\n\r\n } else {\r\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\r\n }\r\n }\r\n\r\n if (typeof ext === 'function') {\r\n ext = ext();\r\n }\r\n\r\n if (!showdown.helper.isArray(ext)) {\r\n ext = [ext];\r\n }\r\n\r\n var validExt = validate(ext, name);\r\n if (!validExt.valid) {\r\n throw Error(validExt.error);\r\n }\r\n\r\n for (var i = 0; i < ext.length; ++i) {\r\n switch (ext[i].type) {\r\n\r\n case 'lang':\r\n langExtensions.push(ext[i]);\r\n break;\r\n\r\n case 'output':\r\n outputModifiers.push(ext[i]);\r\n break;\r\n }\r\n if (ext[i].hasOwnProperty(listeners)) {\r\n for (var ln in ext[i].listeners) {\r\n if (ext[i].listeners.hasOwnProperty(ln)) {\r\n listen(ln, ext[i].listeners[ln]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * LEGACY_SUPPORT\r\n * @param {*} ext\r\n * @param {string} name\r\n */\r\n function legacyExtensionLoading(ext, name) {\r\n if (typeof ext === 'function') {\r\n ext = ext(new showdown.Converter());\r\n }\r\n if (!showdown.helper.isArray(ext)) {\r\n ext = [ext];\r\n }\r\n var valid = validate(ext, name);\r\n\r\n if (!valid.valid) {\r\n throw Error(valid.error);\r\n }\r\n\r\n for (var i = 0; i < ext.length; ++i) {\r\n switch (ext[i].type) {\r\n case 'lang':\r\n langExtensions.push(ext[i]);\r\n break;\r\n case 'output':\r\n outputModifiers.push(ext[i]);\r\n break;\r\n default:// should never reach here\r\n throw Error('Extension loader error: Type unrecognized!!!');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Listen to an event\r\n * @param {string} name\r\n * @param {function} callback\r\n */\r\n function listen(name, callback) {\r\n if (!showdown.helper.isString(name)) {\r\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\r\n }\r\n\r\n if (typeof callback !== 'function') {\r\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\r\n }\r\n\r\n if (!listeners.hasOwnProperty(name)) {\r\n listeners[name] = [];\r\n }\r\n listeners[name].push(callback);\r\n }\r\n\r\n /**\r\n * Dispatch an event\r\n * @private\r\n * @param {string} evtName Event name\r\n * @param {string} text Text\r\n * @param {{}} options Converter Options\r\n * @returns {string}\r\n */\r\n this._dispatch = function dispatch (evtName, text, options) {\r\n if (listeners.hasOwnProperty(evtName)) {\r\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\r\n var nText = listeners[evtName][ei](evtName, text, this, options);\r\n if (nText && typeof nText !== 'undefined') {\r\n text = nText;\r\n }\r\n }\r\n }\r\n return text;\r\n };\r\n\r\n /**\r\n * Listen to an event\r\n * @param {string} name\r\n * @param {function} callback\r\n * @returns {showdown.Converter}\r\n */\r\n this.listen = function (name, callback) {\r\n listen(name, callback);\r\n return this;\r\n };\r\n\r\n /**\r\n * Converts a markdown string into HTML\r\n * @param {string} text\r\n * @returns {*}\r\n */\r\n this.makeHtml = function (text) {\r\n //check if text is not falsy\r\n if (!text) {\r\n return text;\r\n }\r\n\r\n var globals = {\r\n gHtmlBlocks: [],\r\n gHtmlMdBlocks: [],\r\n gHtmlSpans: [],\r\n gUrls: {},\r\n gTitles: {},\r\n gDimensions: {},\r\n gListLevel: 0,\r\n hashLinkCounts: {},\r\n langExtensions: langExtensions,\r\n outputModifiers: outputModifiers,\r\n converter: this,\r\n ghCodeBlocks: []\r\n };\r\n\r\n // attacklab: Replace ~ with ~T\r\n // This lets us use tilde as an escape char to avoid md5 hashes\r\n // The choice of character is arbitrary; anything that isn't\r\n // magic in Markdown will work.\r\n text = text.replace(/~/g, '~T');\r\n\r\n // attacklab: Replace $ with ~D\r\n // RegExp interprets $ as a special character\r\n // when it's in a replacement string\r\n text = text.replace(/\\$/g, '~D');\r\n\r\n // Standardize line endings\r\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\r\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\r\n\r\n // Make sure text begins and ends with a couple of newlines:\r\n text = '\\n\\n' + text + '\\n\\n';\r\n\r\n // detab\r\n text = showdown.subParser('detab')(text, options, globals);\r\n\r\n // stripBlankLines\r\n text = showdown.subParser('stripBlankLines')(text, options, globals);\r\n\r\n //run languageExtensions\r\n showdown.helper.forEach(langExtensions, function (ext) {\r\n text = showdown.subParser('runExtension')(ext, text, options, globals);\r\n });\r\n\r\n // run the sub parsers\r\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\r\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\r\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\r\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\r\n text = showdown.subParser('blockGamut')(text, options, globals);\r\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\r\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\r\n\r\n // attacklab: Restore dollar signs\r\n text = text.replace(/~D/g, '$$');\r\n\r\n // attacklab: Restore tildes\r\n text = text.replace(/~T/g, '~');\r\n\r\n // Run output modifiers\r\n showdown.helper.forEach(outputModifiers, function (ext) {\r\n text = showdown.subParser('runExtension')(ext, text, options, globals);\r\n });\r\n\r\n return text;\r\n };\r\n\r\n /**\r\n * Set an option of this Converter instance\r\n * @param {string} key\r\n * @param {*} value\r\n */\r\n this.setOption = function (key, value) {\r\n options[key] = value;\r\n };\r\n\r\n /**\r\n * Get the option of this Converter instance\r\n * @param {string} key\r\n * @returns {*}\r\n */\r\n this.getOption = function (key) {\r\n return options[key];\r\n };\r\n\r\n /**\r\n * Get the options of this Converter instance\r\n * @returns {{}}\r\n */\r\n this.getOptions = function () {\r\n return options;\r\n };\r\n\r\n /**\r\n * Add extension to THIS converter\r\n * @param {{}} extension\r\n * @param {string} [name=null]\r\n */\r\n this.addExtension = function (extension, name) {\r\n name = name || null;\r\n _parseExtension(extension, name);\r\n };\r\n\r\n /**\r\n * Use a global registered extension with THIS converter\r\n * @param {string} extensionName Name of the previously registered extension\r\n */\r\n this.useExtension = function (extensionName) {\r\n _parseExtension(extensionName);\r\n };\r\n\r\n /**\r\n * Set the flavor THIS converter should use\r\n * @param {string} name\r\n */\r\n this.setFlavor = function (name) {\r\n if (flavor.hasOwnProperty(name)) {\r\n var preset = flavor[name];\r\n for (var option in preset) {\r\n if (preset.hasOwnProperty(option)) {\r\n options[option] = preset[option];\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Remove an extension from THIS converter.\r\n * Note: This is a costly operation. It's better to initialize a new converter\r\n * and specify the extensions you wish to use\r\n * @param {Array} extension\r\n */\r\n this.removeExtension = function (extension) {\r\n if (!showdown.helper.isArray(extension)) {\r\n extension = [extension];\r\n }\r\n for (var a = 0; a < extension.length; ++a) {\r\n var ext = extension[a];\r\n for (var i = 0; i < langExtensions.length; ++i) {\r\n if (langExtensions[i] === ext) {\r\n langExtensions[i].splice(i, 1);\r\n }\r\n }\r\n for (var ii = 0; ii < outputModifiers.length; ++i) {\r\n if (outputModifiers[ii] === ext) {\r\n outputModifiers[ii].splice(i, 1);\r\n }\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Get all extension of THIS converter\r\n * @returns {{language: Array, output: Array}}\r\n */\r\n this.getAllExtensions = function () {\r\n return {\r\n language: langExtensions,\r\n output: outputModifiers\r\n };\r\n };\r\n};\r\n","/**\r\n * Turn Markdown link shortcuts into XHTML tags.\r\n */\r\nshowdown.subParser('anchors', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('anchors.before', text, options);\r\n\r\n var writeAnchorTag = function (wholeMatch, m1, m2, m3, m4, m5, m6, m7) {\r\n if (showdown.helper.isUndefined(m7)) {\r\n m7 = '';\r\n }\r\n wholeMatch = m1;\r\n var linkText = m2,\r\n linkId = m3.toLowerCase(),\r\n url = m4,\r\n title = m7;\r\n\r\n if (!url) {\r\n if (!linkId) {\r\n // lower-case and turn embedded newlines into spaces\r\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\r\n }\r\n url = '#' + linkId;\r\n\r\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\r\n url = globals.gUrls[linkId];\r\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\r\n title = globals.gTitles[linkId];\r\n }\r\n } else {\r\n if (wholeMatch.search(/\\(\\s*\\)$/m) > -1) {\r\n // Special case for explicit empty url\r\n url = '';\r\n } else {\r\n return wholeMatch;\r\n }\r\n }\r\n }\r\n\r\n url = showdown.helper.escapeCharacters(url, '*_', false);\r\n var result = '';\r\n\r\n return result;\r\n };\r\n\r\n // First, handle reference-style links: [link text] [id]\r\n /*\r\n text = text.replace(/\r\n (\t\t\t\t\t\t\t// wrap whole match in $1\r\n \\[\r\n (\r\n (?:\r\n \\[[^\\]]*\\]\t\t// allow brackets nested one level\r\n |\r\n [^\\[]\t\t\t// or anything else\r\n )*\r\n )\r\n \\]\r\n\r\n [ ]?\t\t\t\t\t// one optional space\r\n (?:\\n[ ]*)?\t\t\t\t// one optional newline followed by spaces\r\n\r\n \\[\r\n (.*?)\t\t\t\t\t// id = $3\r\n \\]\r\n )()()()()\t\t\t\t\t// pad remaining backreferences\r\n /g,_DoAnchors_callback);\r\n */\r\n text = text.replace(/(\\[((?:\\[[^\\]]*]|[^\\[\\]])*)][ ]?(?:\\n[ ]*)?\\[(.*?)])()()()()/g, writeAnchorTag);\r\n\r\n //\r\n // Next, inline-style links: [link text](url \"optional title\")\r\n //\r\n\r\n /*\r\n text = text.replace(/\r\n (\t\t\t\t\t\t// wrap whole match in $1\r\n \\[\r\n (\r\n (?:\r\n \\[[^\\]]*\\]\t// allow brackets nested one level\r\n |\r\n [^\\[\\]]\t\t\t// or anything else\r\n )\r\n )\r\n \\]\r\n \\(\t\t\t\t\t\t// literal paren\r\n [ \\t]*\r\n ()\t\t\t\t\t\t// no id, so leave $3 empty\r\n ?\t\t\t\t// href = $4\r\n [ \\t]*\r\n (\t\t\t\t\t\t// $5\r\n (['\"])\t\t\t\t// quote char = $6\r\n (.*?)\t\t\t\t// Title = $7\r\n \\6\t\t\t\t\t// matching quote\r\n [ \\t]*\t\t\t\t// ignore any spaces/tabs between closing quote and )\r\n )?\t\t\t\t\t\t// title is optional\r\n \\)\r\n )\r\n /g,writeAnchorTag);\r\n */\r\n text = text.replace(/(\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]\\([ \\t]*()?[ \\t]*((['\"])(.*?)\\6[ \\t]*)?\\))/g,\r\n writeAnchorTag);\r\n\r\n //\r\n // Last, handle reference-style shortcuts: [link text]\r\n // These must come last in case you've also got [link test][1]\r\n // or [link test](/foo)\r\n //\r\n\r\n /*\r\n text = text.replace(/\r\n ( // wrap whole match in $1\r\n \\[\r\n ([^\\[\\]]+) // link text = $2; can't contain '[' or ']'\r\n \\]\r\n )()()()()() // pad rest of backreferences\r\n /g, writeAnchorTag);\r\n */\r\n text = text.replace(/(\\[([^\\[\\]]+)])()()()()()/g, writeAnchorTag);\r\n\r\n text = globals.converter._dispatch('anchors.after', text, options);\r\n return text;\r\n});\r\n","showdown.subParser('autoLinks', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('autoLinks.before', text, options);\r\n\r\n var simpleURLRegex = /\\b(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+)(?=\\s|$)(?![\"<>])/gi,\r\n delimUrlRegex = /<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)>/gi,\r\n simpleMailRegex = /(?:^|[ \\n\\t])([A-Za-z0-9!#$%&'*+-/=?^_`\\{|}~\\.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?:$|[ \\n\\t])/gi,\r\n delimMailRegex = /<(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi;\r\n\r\n text = text.replace(delimUrlRegex, '$1');\r\n text = text.replace(delimMailRegex, replaceMail);\r\n //simpleURLRegex = /\\b(((https?|ftp|dict):\\/\\/|www\\.)[-.+~:?#@!$&'()*,;=[\\]\\w]+)\\b/gi,\r\n // Email addresses: \r\n\r\n if (options.simplifiedAutoLink) {\r\n text = text.replace(simpleURLRegex, '$1');\r\n text = text.replace(simpleMailRegex, replaceMail);\r\n }\r\n\r\n function replaceMail(wholeMatch, m1) {\r\n var unescapedStr = showdown.subParser('unescapeSpecialChars')(m1);\r\n return showdown.subParser('encodeEmailAddress')(unescapedStr);\r\n }\r\n\r\n text = globals.converter._dispatch('autoLinks.after', text, options);\r\n\r\n return text;\r\n});\r\n","/**\r\n * These are all the transformations that form block-level\r\n * tags like paragraphs, headers, and list items.\r\n */\r\nshowdown.subParser('blockGamut', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('blockGamut.before', text, options);\r\n\r\n // we parse blockquotes first so that we can have headings and hrs\r\n // inside blockquotes\r\n text = showdown.subParser('blockQuotes')(text, options, globals);\r\n text = showdown.subParser('headers')(text, options, globals);\r\n\r\n // Do Horizontal Rules:\r\n var key = showdown.subParser('hashBlock')('
', options, globals);\r\n text = text.replace(/^[ ]{0,2}([ ]?\\*[ ]?){3,}[ \\t]*$/gm, key);\r\n text = text.replace(/^[ ]{0,2}([ ]?\\-[ ]?){3,}[ \\t]*$/gm, key);\r\n text = text.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \\t]*$/gm, key);\r\n\r\n text = showdown.subParser('lists')(text, options, globals);\r\n text = showdown.subParser('codeBlocks')(text, options, globals);\r\n text = showdown.subParser('tables')(text, options, globals);\r\n\r\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\r\n // was to escape raw HTML in the original Markdown source. This time,\r\n // we're escaping the markup we've just created, so that we don't wrap\r\n //

tags around block-level tags.\r\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\r\n text = showdown.subParser('paragraphs')(text, options, globals);\r\n\r\n text = globals.converter._dispatch('blockGamut.after', text, options);\r\n\r\n return text;\r\n});\r\n","showdown.subParser('blockQuotes', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('blockQuotes.before', text, options);\r\n /*\r\n text = text.replace(/\r\n (\t\t\t\t\t\t\t\t// Wrap whole match in $1\r\n (\r\n ^[ \\t]*>[ \\t]?\t\t\t// '>' at the start of a line\r\n .+\\n\t\t\t\t\t// rest of the first line\r\n (.+\\n)*\t\t\t\t\t// subsequent consecutive lines\r\n \\n*\t\t\t\t\t\t// blanks\r\n )+\r\n )\r\n /gm, function(){...});\r\n */\r\n\r\n text = text.replace(/((^[ \\t]{0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+)/gm, function (wholeMatch, m1) {\r\n var bq = m1;\r\n\r\n // attacklab: hack around Konqueror 3.5.4 bug:\r\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\r\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, '~0'); // trim one level of quoting\r\n\r\n // attacklab: clean up hack\r\n bq = bq.replace(/~0/g, '');\r\n\r\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\r\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\r\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\r\n\r\n bq = bq.replace(/(^|\\n)/g, '$1 ');\r\n // These leading spaces screw with

 content, so we need to fix that:\r\n    bq = bq.replace(/(\\s*
[^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\r\n      var pre = m1;\r\n      // attacklab: hack around Konqueror 3.5.4 bug:\r\n      pre = pre.replace(/^  /mg, '~0');\r\n      pre = pre.replace(/~0/g, '');\r\n      return pre;\r\n    });\r\n\r\n    return showdown.subParser('hashBlock')('
\\n' + bq + '\\n
', options, globals);\r\n });\r\n\r\n text = globals.converter._dispatch('blockQuotes.after', text, options);\r\n return text;\r\n});\r\n","/**\n * Process Markdown `
` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options);\n  /*\n   text = text.replace(text,\n   /(?:\\n\\n|^)\n   (\t\t\t\t\t\t\t\t// $1 = the code block -- one or more lines, starting with a space/tab\n   (?:\n   (?:[ ]{4}|\\t)\t\t\t// Lines must start with a tab or a tab-width of spaces - attacklab: g_tab_width\n   .*\\n+\n   )+\n   )\n   (\\n*[ ]{0,3}[^ \\t\\n]|(?=~0))\t// attacklab: g_tab_width\n   /g,function(){...});\n   */\n\n  // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '~0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=~0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock);\n    codeblock = showdown.subParser('encodeCode')(codeblock);\n    codeblock = showdown.subParser('detab')(codeblock);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
' + codeblock + end + '
';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // attacklab: strip sentinel\n text = text.replace(/~0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options);\n return text;\n});\n","/**\r\n *\r\n * * Backtick quotes are used for spans.\r\n *\r\n * * You can use multiple backticks as the delimiters if you want to\r\n * include literal backticks in the code span. So, this input:\r\n *\r\n * Just type ``foo `bar` baz`` at the prompt.\r\n *\r\n * Will translate to:\r\n *\r\n *

Just type foo `bar` baz at the prompt.

\r\n *\r\n * There's no arbitrary limit to the number of backticks you\r\n * can use as delimters. If you need three consecutive backticks\r\n * in your code, use four for delimiters, etc.\r\n *\r\n * * You can use spaces to get literal backticks at the edges:\r\n *\r\n * ... type `` `bar` `` ...\r\n *\r\n * Turns to:\r\n *\r\n * ... type `bar` ...\r\n */\r\nshowdown.subParser('codeSpans', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('codeSpans.before', text, options);\r\n\r\n /*\r\n text = text.replace(/\r\n (^|[^\\\\])\t\t\t\t\t// Character before opening ` can't be a backslash\r\n (`+)\t\t\t\t\t\t// $2 = Opening run of `\r\n (\t\t\t\t\t\t\t// $3 = The code block\r\n [^\\r]*?\r\n [^`]\t\t\t\t\t// attacklab: work around lack of lookbehind\r\n )\r\n \\2\t\t\t\t\t\t\t// Matching closer\r\n (?!`)\r\n /gm, function(){...});\r\n */\r\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\r\n function (wholeMatch, m1, m2, m3) {\r\n var c = m3;\r\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\r\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\r\n c = showdown.subParser('encodeCode')(c);\r\n return m1 + '' + c + '';\r\n }\r\n );\r\n\r\n text = globals.converter._dispatch('codeSpans.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Convert all tabs to spaces\r\n */\r\nshowdown.subParser('detab', function (text) {\r\n 'use strict';\r\n\r\n // expand first n-1 tabs\r\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\r\n\r\n // replace the nth with two sentinels\r\n text = text.replace(/\\t/g, '~A~B');\r\n\r\n // use the sentinel to anchor our regex so it doesn't explode\r\n text = text.replace(/~B(.+?)~A/g, function (wholeMatch, m1) {\r\n var leadingText = m1,\r\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\r\n\r\n // there *must* be a better way to do this:\r\n for (var i = 0; i < numSpaces; i++) {\r\n leadingText += ' ';\r\n }\r\n\r\n return leadingText;\r\n });\r\n\r\n // clean up sentinels\r\n text = text.replace(/~A/g, ' '); // g_tab_width\r\n text = text.replace(/~B/g, '');\r\n\r\n return text;\r\n\r\n});\r\n","/**\r\n * Smart processing for ampersands and angle brackets that need to be encoded.\r\n */\r\nshowdown.subParser('encodeAmpsAndAngles', function (text) {\r\n 'use strict';\r\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\r\n // http://bumppo.net/projects/amputator/\r\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\r\n\r\n // Encode naked <'s\r\n text = text.replace(/<(?![a-z\\/?\\$!])/gi, '<');\r\n\r\n return text;\r\n});\r\n","/**\r\n * Returns the string, with after processing the following backslash escape sequences.\r\n *\r\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\r\n *\r\n * text = escapeCharacters(text,\"\\\\\",true);\r\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\r\n *\r\n * ...but we're sidestepping its use of the (slow) RegExp constructor\r\n * as an optimization for Firefox. This function gets called a LOT.\r\n */\r\nshowdown.subParser('encodeBackslashEscapes', function (text) {\r\n 'use strict';\r\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\r\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+-.!])/g, showdown.helper.escapeCharactersCallback);\r\n return text;\r\n});\r\n","/**\r\n * Encode/escape certain characters inside Markdown code runs.\r\n * The point is that in code, these characters are literals,\r\n * and lose their special Markdown meanings.\r\n */\r\nshowdown.subParser('encodeCode', function (text) {\r\n 'use strict';\r\n\r\n // Encode all ampersands; HTML entities are not\r\n // entities within a Markdown code span.\r\n text = text.replace(/&/g, '&');\r\n\r\n // Do the angle bracket song and dance:\r\n text = text.replace(//g, '>');\r\n\r\n // Now, escape characters that are magic in Markdown:\r\n text = showdown.helper.escapeCharacters(text, '*_{}[]\\\\', false);\r\n\r\n // jj the line above breaks this:\r\n //---\r\n //* Item\r\n // 1. Subitem\r\n // special char: *\r\n // ---\r\n\r\n return text;\r\n});\r\n","/**\r\n * Input: an email address, e.g. \"foo@example.com\"\r\n *\r\n * Output: the email address as a mailto link, with each character\r\n * of the address encoded as either a decimal or hex entity, in\r\n * the hopes of foiling most address harvesting spam bots. E.g.:\r\n *\r\n * foo\r\n * @example.com\r\n *\r\n * Based on a filter by Matthew Wickline, posted to the BBEdit-Talk\r\n * mailing list: \r\n *\r\n */\r\nshowdown.subParser('encodeEmailAddress', function (addr) {\r\n 'use strict';\r\n\r\n var encode = [\r\n function (ch) {\r\n return '&#' + ch.charCodeAt(0) + ';';\r\n },\r\n function (ch) {\r\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\r\n },\r\n function (ch) {\r\n return ch;\r\n }\r\n ];\r\n\r\n addr = 'mailto:' + addr;\r\n\r\n addr = addr.replace(/./g, function (ch) {\r\n if (ch === '@') {\r\n // this *must* be encoded. I insist.\r\n ch = encode[Math.floor(Math.random() * 2)](ch);\r\n } else if (ch !== ':') {\r\n // leave ':' alone (to spot mailto: later)\r\n var r = Math.random();\r\n // roughly 10% raw, 45% hex, 45% dec\r\n ch = (\r\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\r\n );\r\n }\r\n return ch;\r\n });\r\n\r\n addr = '' + addr + '';\r\n addr = addr.replace(/\">.+:/g, '\">'); // strip the mailto: from the visible part\r\n\r\n return addr;\r\n});\r\n","/**\r\n * Within tags -- meaning between < and > -- encode [\\ ` * _] so they\r\n * don't conflict with their use in Markdown for code, italics and strong.\r\n */\r\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text) {\r\n 'use strict';\r\n\r\n // Build a regex to find HTML tags and comments. See Friedl's\r\n // \"Mastering Regular Expressions\", 2nd Ed., pp. 200-201.\r\n var regex = /(<[a-z\\/!$](\"[^\"]*\"|'[^']*'|[^'\">])*>|)/gi;\r\n\r\n text = text.replace(regex, function (wholeMatch) {\r\n var tag = wholeMatch.replace(/(.)<\\/?code>(?=.)/g, '$1`');\r\n tag = showdown.helper.escapeCharacters(tag, '\\\\`*_', false);\r\n return tag;\r\n });\r\n\r\n return text;\r\n});\r\n","/**\r\n * Handle github codeblocks prior to running HashHTML so that\r\n * HTML contained within the codeblock gets escaped properly\r\n * Example:\r\n * ```ruby\r\n * def hello_world(x)\r\n * puts \"Hello, #{x}\"\r\n * end\r\n * ```\r\n */\r\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\r\n 'use strict';\r\n\r\n // early exit if option is not enabled\r\n if (!options.ghCodeBlocks) {\r\n return text;\r\n }\r\n\r\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options);\r\n\r\n text += '~0';\r\n\r\n text = text.replace(/(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g, function (wholeMatch, language, codeblock) {\r\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\r\n\r\n // First parse the github code block\r\n codeblock = showdown.subParser('encodeCode')(codeblock);\r\n codeblock = showdown.subParser('detab')(codeblock);\r\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\r\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\r\n\r\n codeblock = '
' + codeblock + end + '
';\r\n\r\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\r\n\r\n // Since GHCodeblocks can be false positives, we need to\r\n // store the primitive text and the parsed text in a global var,\r\n // and then return a token\r\n return '\\n\\n~G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\r\n });\r\n\r\n // attacklab: strip sentinel\r\n text = text.replace(/~0/, '');\r\n\r\n return globals.converter._dispatch('githubCodeBlocks.after', text, options);\r\n});\r\n","showdown.subParser('hashBlock', function (text, options, globals) {\r\n 'use strict';\r\n text = text.replace(/(^\\n+|\\n+$)/g, '');\r\n return '\\n\\n~K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\r\n});\r\n","showdown.subParser('hashElement', function (text, options, globals) {\r\n 'use strict';\r\n\r\n return function (wholeMatch, m1) {\r\n var blockText = m1;\r\n\r\n // Undo double lines\r\n blockText = blockText.replace(/\\n\\n/g, '\\n');\r\n blockText = blockText.replace(/^\\n/, '');\r\n\r\n // strip trailing blank lines\r\n blockText = blockText.replace(/\\n+$/g, '');\r\n\r\n // Replace the element text with a marker (\"~KxK\" where x is its key)\r\n blockText = '\\n\\n~K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\r\n\r\n return blockText;\r\n };\r\n});\r\n","showdown.subParser('hashHTMLBlocks', function (text, options, globals) {\r\n 'use strict';\r\n\r\n var blockTags = [\r\n 'pre',\r\n 'div',\r\n 'h1',\r\n 'h2',\r\n 'h3',\r\n 'h4',\r\n 'h5',\r\n 'h6',\r\n 'blockquote',\r\n 'table',\r\n 'dl',\r\n 'ol',\r\n 'ul',\r\n 'script',\r\n 'noscript',\r\n 'form',\r\n 'fieldset',\r\n 'iframe',\r\n 'math',\r\n 'style',\r\n 'section',\r\n 'header',\r\n 'footer',\r\n 'nav',\r\n 'article',\r\n 'aside',\r\n 'address',\r\n 'audio',\r\n 'canvas',\r\n 'figure',\r\n 'hgroup',\r\n 'output',\r\n 'video',\r\n 'p'\r\n ],\r\n repFunc = function (wholeMatch, match, left, right) {\r\n var txt = wholeMatch;\r\n // check if this html element is marked as markdown\r\n // if so, it's contents should be parsed as markdown\r\n if (left.search(/\\bmarkdown\\b/) !== -1) {\r\n txt = left + globals.converter.makeHtml(match) + right;\r\n }\r\n return '\\n\\n~K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\r\n };\r\n\r\n for (var i = 0; i < blockTags.length; ++i) {\r\n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^(?: |\\\\t){0,3}<' + blockTags[i] + '\\\\b[^>]*>', '', 'gim');\r\n }\r\n\r\n // HR SPECIAL CASE\r\n text = text.replace(/(\\n[ ]{0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\r\n showdown.subParser('hashElement')(text, options, globals));\r\n\r\n // Special case for standalone HTML comments:\r\n text = text.replace(/([ \\t]*(?=\\n{2,}))/g,\r\n showdown.subParser('hashElement')(text, options, globals));\r\n\r\n // PHP and ASP-style processor instructions ( and <%...%>)\r\n text = text.replace(/(?:\\n\\n)([ ]{0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\r\n showdown.subParser('hashElement')(text, options, globals));\r\n\r\n return text;\r\n});\r\n","/**\r\n * Hash span elements that should not be parsed as markdown\r\n */\r\nshowdown.subParser('hashHTMLSpans', function (text, config, globals) {\r\n 'use strict';\r\n\r\n var matches = showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');\r\n\r\n for (var i = 0; i < matches.length; ++i) {\r\n text = text.replace(matches[i][0], '~L' + (globals.gHtmlSpans.push(matches[i][0]) - 1) + 'L');\r\n }\r\n return text;\r\n});\r\n\r\n/**\r\n * Unhash HTML spans\r\n */\r\nshowdown.subParser('unhashHTMLSpans', function (text, config, globals) {\r\n 'use strict';\r\n\r\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\r\n text = text.replace('~L' + i + 'L', globals.gHtmlSpans[i]);\r\n }\r\n\r\n return text;\r\n});\r\n","showdown.subParser('headers', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('headers.before', text, options);\r\n\r\n var prefixHeader = options.prefixHeaderId,\r\n headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\r\n\r\n // Set text-style headers:\r\n //\tHeader 1\r\n //\t========\r\n //\r\n //\tHeader 2\r\n //\t--------\r\n //\r\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\r\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\r\n\r\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\r\n\r\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\r\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\r\n hLevel = headerLevelStart,\r\n hashBlock = '' + spanGamut + '';\r\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\r\n });\r\n\r\n text = text.replace(setextRegexH2, function (matchFound, m1) {\r\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\r\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\r\n hLevel = headerLevelStart + 1,\r\n hashBlock = '' + spanGamut + '';\r\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\r\n });\r\n\r\n // atx-style headers:\r\n // # Header 1\r\n // ## Header 2\r\n // ## Header 2 with closing hashes ##\r\n // ...\r\n // ###### Header 6\r\n //\r\n text = text.replace(/^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm, function (wholeMatch, m1, m2) {\r\n var span = showdown.subParser('spanGamut')(m2, options, globals),\r\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\r\n hLevel = headerLevelStart - 1 + m1.length,\r\n header = '' + span + '';\r\n\r\n return showdown.subParser('hashBlock')(header, options, globals);\r\n });\r\n\r\n function headerId(m) {\r\n var title, escapedId = m.replace(/[^\\w]/g, '').toLowerCase();\r\n\r\n if (globals.hashLinkCounts[escapedId]) {\r\n title = escapedId + '-' + (globals.hashLinkCounts[escapedId]++);\r\n } else {\r\n title = escapedId;\r\n globals.hashLinkCounts[escapedId] = 1;\r\n }\r\n\r\n // Prefix id to prevent causing inadvertent pre-existing style matches.\r\n if (prefixHeader === true) {\r\n prefixHeader = 'section';\r\n }\r\n\r\n if (showdown.helper.isString(prefixHeader)) {\r\n return prefixHeader + title;\r\n }\r\n return title;\r\n }\r\n\r\n text = globals.converter._dispatch('headers.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Turn Markdown image shortcuts into tags.\r\n */\r\nshowdown.subParser('images', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('images.before', text, options);\r\n\r\n var inlineRegExp = /!\\[(.*?)]\\s?\\([ \\t]*()?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(['\"])(.*?)\\6[ \\t]*)?\\)/g,\r\n referenceRegExp = /!\\[(.*?)][ ]?(?:\\n[ ]*)?\\[(.*?)]()()()()()/g;\r\n\r\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\r\n\r\n var gUrls = globals.gUrls,\r\n gTitles = globals.gTitles,\r\n gDims = globals.gDimensions;\r\n\r\n linkId = linkId.toLowerCase();\r\n\r\n if (!title) {\r\n title = '';\r\n }\r\n\r\n if (url === '' || url === null) {\r\n if (linkId === '' || linkId === null) {\r\n // lower-case and turn embedded newlines into spaces\r\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\r\n }\r\n url = '#' + linkId;\r\n\r\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\r\n url = gUrls[linkId];\r\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\r\n title = gTitles[linkId];\r\n }\r\n if (!showdown.helper.isUndefined(gDims[linkId])) {\r\n width = gDims[linkId].width;\r\n height = gDims[linkId].height;\r\n }\r\n } else {\r\n return wholeMatch;\r\n }\r\n }\r\n\r\n altText = altText.replace(/\"/g, '"');\r\n altText = showdown.helper.escapeCharacters(altText, '*_', false);\r\n url = showdown.helper.escapeCharacters(url, '*_', false);\r\n var result = '\"'x \"optional title\")\r\n text = text.replace(inlineRegExp, writeImageTag);\r\n\r\n text = globals.converter._dispatch('images.after', text, options);\r\n return text;\r\n});\r\n","showdown.subParser('italicsAndBold', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('italicsAndBold.before', text, options);\r\n\r\n if (options.literalMidWordUnderscores) {\r\n //underscores\r\n // Since we are consuming a \\s character, we need to add it\r\n text = text.replace(/(^|\\s|>|\\b)__(?=\\S)([^]+?)__(?=\\b|<|\\s|$)/gm, '$1$2');\r\n text = text.replace(/(^|\\s|>|\\b)_(?=\\S)([^]+?)_(?=\\b|<|\\s|$)/gm, '$1$2');\r\n //asterisks\r\n text = text.replace(/(\\*\\*)(?=\\S)([^\\r]*?\\S[*]*)\\1/g, '$2');\r\n text = text.replace(/(\\*)(?=\\S)([^\\r]*?\\S)\\1/g, '$2');\r\n\r\n } else {\r\n // must go first:\r\n text = text.replace(/(\\*\\*|__)(?=\\S)([^\\r]*?\\S[*_]*)\\1/g, '$2');\r\n text = text.replace(/(\\*|_)(?=\\S)([^\\r]*?\\S)\\1/g, '$2');\r\n }\r\n\r\n text = globals.converter._dispatch('italicsAndBold.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\r\n */\r\nshowdown.subParser('lists', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('lists.before', text, options);\r\n /**\r\n * Process the contents of a single ordered or unordered list, splitting it\r\n * into individual list items.\r\n * @param {string} listStr\r\n * @param {boolean} trimTrailing\r\n * @returns {string}\r\n */\r\n function processListItems (listStr, trimTrailing) {\r\n // The $g_list_level global keeps track of when we're inside a list.\r\n // Each time we enter a list, we increment it; when we leave a list,\r\n // we decrement. If it's zero, we're not in a list anymore.\r\n //\r\n // We do this because when we're not inside a list, we want to treat\r\n // something like this:\r\n //\r\n // I recommend upgrading to version\r\n // 8. Oops, now this line is treated\r\n // as a sub-list.\r\n //\r\n // As a single paragraph, despite the fact that the second line starts\r\n // with a digit-period-space sequence.\r\n //\r\n // Whereas when we're inside a list (or sub-list), that line will be\r\n // treated as the start of a sub-list. What a kludge, huh? This is\r\n // an aspect of Markdown's syntax that's hard to parse perfectly\r\n // without resorting to mind-reading. Perhaps the solution is to\r\n // change the syntax rules such that sub-lists must start with a\r\n // starting cardinal number; e.g. \"1.\" or \"a.\".\r\n globals.gListLevel++;\r\n\r\n // trim trailing blank lines:\r\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\r\n\r\n // attacklab: add sentinel to emulate \\z\r\n listStr += '~0';\r\n\r\n var rgx = /(\\n)?(^[ \\t]*)([*+-]|\\d+[.])[ \\t]+((\\[(x| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(~0|\\2([*+-]|\\d+[.])[ \\t]+))/gm,\r\n isParagraphed = (/\\n[ \\t]*\\n(?!~0)/.test(listStr));\r\n\r\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\r\n checked = (checked && checked.trim() !== '');\r\n var item = showdown.subParser('outdent')(m4, options, globals),\r\n bulletStyle = '';\r\n\r\n // Support for github tasklists\r\n if (taskbtn && options.tasklists) {\r\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\r\n item = item.replace(/^[ \\t]*\\[(x| )?]/m, function () {\r\n var otp = ' -1)) {\r\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\r\n item = showdown.subParser('blockGamut')(item, options, globals);\r\n } else {\r\n // Recursion for sub-lists:\r\n item = showdown.subParser('lists')(item, options, globals);\r\n item = item.replace(/\\n$/, ''); // chomp(item)\r\n if (isParagraphed) {\r\n item = showdown.subParser('paragraphs')(item, options, globals);\r\n } else {\r\n item = showdown.subParser('spanGamut')(item, options, globals);\r\n }\r\n }\r\n item = '\\n' + item + '\\n';\r\n return item;\r\n });\r\n\r\n // attacklab: strip sentinel\r\n listStr = listStr.replace(/~0/g, '');\r\n\r\n globals.gListLevel--;\r\n\r\n if (trimTrailing) {\r\n listStr = listStr.replace(/\\s+$/, '');\r\n }\r\n\r\n return listStr;\r\n }\r\n\r\n /**\r\n * Check and parse consecutive lists (better fix for issue #142)\r\n * @param {string} list\r\n * @param {string} listType\r\n * @param {boolean} trimTrailing\r\n * @returns {string}\r\n */\r\n function parseConsecutiveLists(list, listType, trimTrailing) {\r\n // check if we caught 2 or more consecutive lists by mistake\r\n // we use the counterRgx, meaning if listType is UL we look for UL and vice versa\r\n var counterRxg = (listType === 'ul') ? /^ {0,2}\\d+\\.[ \\t]/gm : /^ {0,2}[*+-][ \\t]/gm,\r\n subLists = [],\r\n result = '';\r\n\r\n if (list.search(counterRxg) !== -1) {\r\n (function parseCL(txt) {\r\n var pos = txt.search(counterRxg);\r\n if (pos !== -1) {\r\n // slice\r\n result += '\\n\\n<' + listType + '>' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n\\n';\r\n\r\n // invert counterType and listType\r\n listType = (listType === 'ul') ? 'ol' : 'ul';\r\n counterRxg = (listType === 'ul') ? /^ {0,2}\\d+\\.[ \\t]/gm : /^ {0,2}[*+-][ \\t]/gm;\r\n\r\n //recurse\r\n parseCL(txt.slice(pos));\r\n } else {\r\n result += '\\n\\n<' + listType + '>' + processListItems(txt, !!trimTrailing) + '\\n\\n';\r\n }\r\n })(list);\r\n for (var i = 0; i < subLists.length; ++i) {\r\n\r\n }\r\n } else {\r\n result = '\\n\\n<' + listType + '>' + processListItems(list, !!trimTrailing) + '\\n\\n';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n // attacklab: add sentinel to hack around khtml/safari bug:\r\n // http://bugs.webkit.org/show_bug.cgi?id=11231\r\n text += '~0';\r\n\r\n // Re-usable pattern to match any entire ul or ol list:\r\n var wholeList = /^(([ ]{0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(~0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm;\r\n\r\n if (globals.gListLevel) {\r\n text = text.replace(wholeList, function (wholeMatch, list, m2) {\r\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\r\n return parseConsecutiveLists(list, listType, true);\r\n });\r\n } else {\r\n wholeList = /(\\n\\n|^\\n?)(([ ]{0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(~0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm;\r\n //wholeList = /(\\n\\n|^\\n?)( {0,3}([*+-]|\\d+\\.)[ \\t]+[\\s\\S]+?)(?=(~0)|(\\n\\n(?!\\t| {2,}| {0,3}([*+-]|\\d+\\.)[ \\t])))/g;\r\n text = text.replace(wholeList, function (wholeMatch, m1, list, m3) {\r\n\r\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\r\n return parseConsecutiveLists(list, listType);\r\n });\r\n }\r\n\r\n // attacklab: strip sentinel\r\n text = text.replace(/~0/, '');\r\n\r\n text = globals.converter._dispatch('lists.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Remove one level of line-leading tabs or spaces\r\n */\r\nshowdown.subParser('outdent', function (text) {\r\n 'use strict';\r\n\r\n // attacklab: hack around Konqueror 3.5.4 bug:\r\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\r\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '~0'); // attacklab: g_tab_width\r\n\r\n // attacklab: clean up hack\r\n text = text.replace(/~0/g, '');\r\n\r\n return text;\r\n});\r\n","/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/~(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n } else {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

');\n str += '

';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n child = false,\n codeFlag = false;\n // if this is a marker for an html block...\n while (grafsOutIt.search(/~(K|G)(\\d+)\\1/) >= 0) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n blockText = (codeFlag) ? globals.ghCodeBlocks[num].text : globals.ghCodeBlocks[num].codeblock;\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?~(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n child = true;\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options);\n});\n","/**\r\n * Run extension\r\n */\r\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\r\n 'use strict';\r\n\r\n if (ext.filter) {\r\n text = ext.filter(text, globals.converter, options);\r\n\r\n } else if (ext.regex) {\r\n // TODO remove this when old extension loading mechanism is deprecated\r\n var re = ext.regex;\r\n if (!re instanceof RegExp) {\r\n re = new RegExp(re, 'g');\r\n }\r\n text = text.replace(re, ext.replace);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\r\n * These are all the transformations that occur *within* block-level\r\n * tags like paragraphs, headers, and list items.\r\n */\r\nshowdown.subParser('spanGamut', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('spanGamut.before', text, options);\r\n text = showdown.subParser('codeSpans')(text, options, globals);\r\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\r\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\r\n\r\n // Process anchor and image tags. Images must come first,\r\n // because ![foo][f] looks like an anchor.\r\n text = showdown.subParser('images')(text, options, globals);\r\n text = showdown.subParser('anchors')(text, options, globals);\r\n\r\n // Make links out of things like ``\r\n // Must come after _DoAnchors(), because you can use < and >\r\n // delimiters in inline links like [this]().\r\n text = showdown.subParser('autoLinks')(text, options, globals);\r\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\r\n text = showdown.subParser('italicsAndBold')(text, options, globals);\r\n text = showdown.subParser('strikethrough')(text, options, globals);\r\n\r\n // Do hard breaks:\r\n text = text.replace(/ +\\n/g, '
\\n');\r\n\r\n text = globals.converter._dispatch('spanGamut.after', text, options);\r\n return text;\r\n});\r\n","showdown.subParser('strikethrough', function (text, options, globals) {\r\n 'use strict';\r\n\r\n if (options.strikethrough) {\r\n text = globals.converter._dispatch('strikethrough.before', text, options);\r\n text = text.replace(/(?:~T){2}([\\s\\S]+?)(?:~T){2}/g, '$1');\r\n text = globals.converter._dispatch('strikethrough.after', text, options);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\r\n * Strip any lines consisting only of spaces and tabs.\r\n * This makes subsequent regexs easier to write, because we can\r\n * match consecutive blank lines with /\\n+/ instead of something\r\n * contorted like /[ \\t]*\\n+/\r\n */\r\nshowdown.subParser('stripBlankLines', function (text) {\r\n 'use strict';\r\n return text.replace(/^[ \\t]+$/mg, '');\r\n});\r\n","/**\r\n * Strips link definitions from text, stores the URLs and titles in\r\n * hash references.\r\n * Link defs are in the form: ^[id]: url \"optional title\"\r\n *\r\n * ^[ ]{0,3}\\[(.+)\\]: // id = $1 attacklab: g_tab_width - 1\r\n * [ \\t]*\r\n * \\n? // maybe *one* newline\r\n * [ \\t]*\r\n * ? // url = $2\r\n * [ \\t]*\r\n * \\n? // maybe one newline\r\n * [ \\t]*\r\n * (?:\r\n * (\\n*) // any lines skipped = $3 attacklab: lookbehind removed\r\n * [\"(]\r\n * (.+?) // title = $4\r\n * [\")]\r\n * [ \\t]*\r\n * )? // title is optional\r\n * (?:\\n+|$)\r\n * /gm,\r\n * function(){...});\r\n *\r\n */\r\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\r\n 'use strict';\r\n\r\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=~0))/gm;\r\n\r\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\r\n text += '~0';\r\n\r\n text = text.replace(regex, function (wholeMatch, linkId, url, width, height, blankLines, title) {\r\n linkId = linkId.toLowerCase();\r\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url); // Link IDs are case-insensitive\r\n\r\n if (blankLines) {\r\n // Oops, found blank lines, so it's not a title.\r\n // Put back the parenthetical statement we stole.\r\n return blankLines + title;\r\n\r\n } else {\r\n if (title) {\r\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\r\n }\r\n if (options.parseImgDimensions && width && height) {\r\n globals.gDimensions[linkId] = {\r\n width: width,\r\n height: height\r\n };\r\n }\r\n }\r\n // Completely remove the definition from the text\r\n return '';\r\n });\r\n\r\n // attacklab: strip sentinel\r\n text = text.replace(/~0/, '');\r\n\r\n return text;\r\n});\r\n","showdown.subParser('tables', function (text, options, globals) {\r\n 'use strict';\r\n\r\n var table = function () {\r\n\r\n var tables = {},\r\n filter;\r\n\r\n tables.th = function (header, style) {\r\n var id = '';\r\n header = header.trim();\r\n if (header === '') {\r\n return '';\r\n }\r\n if (options.tableHeaderId) {\r\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\r\n }\r\n header = showdown.subParser('spanGamut')(header, options, globals);\r\n if (!style || style.trim() === '') {\r\n style = '';\r\n } else {\r\n style = ' style=\"' + style + '\"';\r\n }\r\n return '' + header + '';\r\n };\r\n\r\n tables.td = function (cell, style) {\r\n var subText = showdown.subParser('spanGamut')(cell.trim(), options, globals);\r\n if (!style || style.trim() === '') {\r\n style = '';\r\n } else {\r\n style = ' style=\"' + style + '\"';\r\n }\r\n return '' + subText + '';\r\n };\r\n\r\n tables.ths = function () {\r\n var out = '',\r\n i = 0,\r\n hs = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n for (i; i < hs.length; i += 1) {\r\n out += tables.th(hs[i], style[i]) + '\\n';\r\n }\r\n\r\n return out;\r\n };\r\n\r\n tables.tds = function () {\r\n var out = '',\r\n i = 0,\r\n ds = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n for (i; i < ds.length; i += 1) {\r\n out += tables.td(ds[i], style[i]) + '\\n';\r\n }\r\n return out;\r\n };\r\n\r\n tables.thead = function () {\r\n var out,\r\n hs = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n out = '\\n';\r\n out += '\\n';\r\n out += tables.ths.apply(this, [hs, style]);\r\n out += '\\n';\r\n out += '\\n';\r\n return out;\r\n };\r\n\r\n tables.tr = function () {\r\n var out,\r\n cs = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n out = '\\n';\r\n out += tables.tds.apply(this, [cs, style]);\r\n out += '\\n';\r\n return out;\r\n };\r\n\r\n filter = function (text) {\r\n var i = 0,\r\n lines = text.split('\\n'),\r\n line,\r\n hs,\r\n out = [];\r\n\r\n for (i; i < lines.length; i += 1) {\r\n line = lines[i];\r\n // looks like a table heading\r\n if (line.trim().match(/^[|].*[|]$/)) {\r\n line = line.trim();\r\n\r\n var tbl = [],\r\n align = lines[i + 1].trim(),\r\n styles = [],\r\n j = 0;\r\n\r\n if (align.match(/^[|][-=|: ]+[|]$/)) {\r\n styles = align.substring(1, align.length - 1).split('|');\r\n for (j = 0; j < styles.length; ++j) {\r\n styles[j] = styles[j].trim();\r\n if (styles[j].match(/^[:][-=| ]+[:]$/)) {\r\n styles[j] = 'text-align:center;';\r\n\r\n } else if (styles[j].match(/^[-=| ]+[:]$/)) {\r\n styles[j] = 'text-align:right;';\r\n\r\n } else if (styles[j].match(/^[:][-=| ]+$/)) {\r\n styles[j] = 'text-align:left;';\r\n } else {\r\n styles[j] = '';\r\n }\r\n }\r\n }\r\n tbl.push('');\r\n hs = line.substring(1, line.length - 1).split('|');\r\n\r\n if (styles.length === 0) {\r\n for (j = 0; j < hs.length; ++j) {\r\n styles.push('text-align:left');\r\n }\r\n }\r\n tbl.push(tables.thead.apply(this, [hs, styles]));\r\n line = lines[++i];\r\n if (!line.trim().match(/^[|][-=|: ]+[|]$/)) {\r\n // not a table rolling back\r\n line = lines[--i];\r\n } else {\r\n line = lines[++i];\r\n tbl.push('');\r\n while (line.trim().match(/^[|].*[|]$/)) {\r\n line = line.trim();\r\n tbl.push(tables.tr.apply(this, [line.substring(1, line.length - 1).split('|'), styles]));\r\n line = lines[++i];\r\n }\r\n tbl.push('');\r\n tbl.push('
');\r\n // we are done with this table and we move along\r\n out.push(tbl.join('\\n'));\r\n continue;\r\n }\r\n }\r\n out.push(line);\r\n }\r\n return out.join('\\n');\r\n };\r\n return {parse: filter};\r\n };\r\n\r\n if (options.tables) {\r\n text = globals.converter._dispatch('tables.before', text, options);\r\n var tableParser = table();\r\n text = tableParser.parse(text);\r\n text = globals.converter._dispatch('tables.after', text, options);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\r\n * Swap back in all the special characters we've hidden.\r\n */\r\nshowdown.subParser('unescapeSpecialChars', function (text) {\r\n 'use strict';\r\n\r\n text = text.replace(/~E(\\d+)E/g, function (wholeMatch, m1) {\r\n var charCodeToReplace = parseInt(m1);\r\n return String.fromCharCode(charCodeToReplace);\r\n });\r\n return text;\r\n});\r\n","var root = this;\r\n\r\n// CommonJS/nodeJS Loader\r\nif (typeof module !== 'undefined' && module.exports) {\r\n module.exports = showdown;\r\n\r\n// AMD Loader\r\n} else if (typeof define === 'function' && define.amd) {\r\n define(function () {\r\n 'use strict';\r\n return showdown;\r\n });\r\n\r\n// Regular Browser loader\r\n} else {\r\n root.showdown = showdown;\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["../src/options.js","../src/showdown.js","../src/helpers.js","../src/converter.js","../src/subParsers/anchors.js","../src/subParsers/autoLinks.js","../src/subParsers/blockGamut.js","../src/subParsers/blockQuotes.js","../src/subParsers/codeBlocks.js","../src/subParsers/codeSpans.js","../src/subParsers/detab.js","../src/subParsers/encodeAmpsAndAngles.js","../src/subParsers/encodeBackslashEscapes.js","../src/subParsers/encodeCode.js","../src/subParsers/encodeEmailAddress.js","../src/subParsers/escapeSpecialCharsWithinTagAttributes.js","../src/subParsers/githubCodeBlocks.js","../src/subParsers/hashBlock.js","../src/subParsers/hashElement.js","../src/subParsers/hashHTMLBlocks.js","../src/subParsers/hashHTMLSpans.js","../src/subParsers/hashPreCodeTags.js","../src/subParsers/headers.js","../src/subParsers/images.js","../src/subParsers/italicsAndBold.js","../src/subParsers/lists.js","../src/subParsers/outdent.js","../src/subParsers/paragraphs.js","../src/subParsers/runExtension.js","../src/subParsers/spanGamut.js","../src/subParsers/strikethrough.js","../src/subParsers/stripBlankLines.js","../src/subParsers/stripLinkDefinitions.js","../src/subParsers/tables.js","../src/subParsers/unescapeSpecialChars.js","../src/loader.js"],"names":[],"mappings":"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","file":"showdown.js","sourcesContent":["/**\r\n * Created by Tivie on 13-07-2015.\r\n */\r\n\r\nfunction getDefaultOpts(simple) {\r\n 'use strict';\r\n\r\n var defaultOptions = {\r\n omitExtraWLInCodeBlocks: {\r\n default: false,\r\n describe: 'Omit the default extra whiteline added to code blocks',\r\n type: 'boolean'\r\n },\r\n noHeaderId: {\r\n default: false,\r\n describe: 'Turn on/off generated header id',\r\n type: 'boolean'\r\n },\r\n prefixHeaderId: {\r\n default: false,\r\n describe: 'Specify a prefix to generated header ids',\r\n type: 'string'\r\n },\r\n headerLevelStart: {\r\n default: false,\r\n describe: 'The header blocks level start',\r\n type: 'integer'\r\n },\r\n parseImgDimensions: {\r\n default: false,\r\n describe: 'Turn on/off image dimension parsing',\r\n type: 'boolean'\r\n },\r\n simplifiedAutoLink: {\r\n default: false,\r\n describe: 'Turn on/off GFM autolink style',\r\n type: 'boolean'\r\n },\r\n literalMidWordUnderscores: {\r\n default: false,\r\n describe: 'Parse midword underscores as literal underscores',\r\n type: 'boolean'\r\n },\r\n strikethrough: {\r\n default: false,\r\n describe: 'Turn on/off strikethrough support',\r\n type: 'boolean'\r\n },\r\n tables: {\r\n default: false,\r\n describe: 'Turn on/off tables support',\r\n type: 'boolean'\r\n },\r\n tablesHeaderId: {\r\n default: false,\r\n describe: 'Add an id to table headers',\r\n type: 'boolean'\r\n },\r\n ghCodeBlocks: {\r\n default: true,\r\n describe: 'Turn on/off GFM fenced code blocks support',\r\n type: 'boolean'\r\n },\r\n tasklists: {\r\n default: false,\r\n describe: 'Turn on/off GFM tasklist support',\r\n type: 'boolean'\r\n },\r\n smoothLivePreview: {\r\n default: false,\r\n describe: 'Prevents weird effects in live previews due to incomplete input',\r\n type: 'boolean'\r\n }\r\n };\r\n if (simple === false) {\r\n return JSON.parse(JSON.stringify(defaultOptions));\r\n }\r\n var ret = {};\r\n for (var opt in defaultOptions) {\r\n if (defaultOptions.hasOwnProperty(opt)) {\r\n ret[opt] = defaultOptions[opt].default;\r\n }\r\n }\r\n return ret;\r\n}\r\n","/**\r\n * Created by Tivie on 06-01-2015.\r\n */\r\n\r\n// Private properties\r\nvar showdown = {},\r\n parsers = {},\r\n extensions = {},\r\n globalOptions = getDefaultOpts(true),\r\n flavor = {\r\n github: {\r\n omitExtraWLInCodeBlocks: true,\r\n prefixHeaderId: 'user-content-',\r\n simplifiedAutoLink: true,\r\n literalMidWordUnderscores: true,\r\n strikethrough: true,\r\n tables: true,\r\n tablesHeaderId: true,\r\n ghCodeBlocks: true,\r\n tasklists: true\r\n },\r\n vanilla: getDefaultOpts(true)\r\n };\r\n\r\n/**\r\n * helper namespace\r\n * @type {{}}\r\n */\r\nshowdown.helper = {};\r\n\r\n/**\r\n * TODO LEGACY SUPPORT CODE\r\n * @type {{}}\r\n */\r\nshowdown.extensions = {};\r\n\r\n/**\r\n * Set a global option\r\n * @static\r\n * @param {string} key\r\n * @param {*} value\r\n * @returns {showdown}\r\n */\r\nshowdown.setOption = function (key, value) {\r\n 'use strict';\r\n globalOptions[key] = value;\r\n return this;\r\n};\r\n\r\n/**\r\n * Get a global option\r\n * @static\r\n * @param {string} key\r\n * @returns {*}\r\n */\r\nshowdown.getOption = function (key) {\r\n 'use strict';\r\n return globalOptions[key];\r\n};\r\n\r\n/**\r\n * Get the global options\r\n * @static\r\n * @returns {{}}\r\n */\r\nshowdown.getOptions = function () {\r\n 'use strict';\r\n return globalOptions;\r\n};\r\n\r\n/**\r\n * Reset global options to the default values\r\n * @static\r\n */\r\nshowdown.resetOptions = function () {\r\n 'use strict';\r\n globalOptions = getDefaultOpts(true);\r\n};\r\n\r\n/**\r\n * Set the flavor showdown should use as default\r\n * @param {string} name\r\n */\r\nshowdown.setFlavor = function (name) {\r\n 'use strict';\r\n if (flavor.hasOwnProperty(name)) {\r\n var preset = flavor[name];\r\n for (var option in preset) {\r\n if (preset.hasOwnProperty(option)) {\r\n globalOptions[option] = preset[option];\r\n }\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Get the default options\r\n * @static\r\n * @param {boolean} [simple=true]\r\n * @returns {{}}\r\n */\r\nshowdown.getDefaultOptions = function (simple) {\r\n 'use strict';\r\n return getDefaultOpts(simple);\r\n};\r\n\r\n/**\r\n * Get or set a subParser\r\n *\r\n * subParser(name) - Get a registered subParser\r\n * subParser(name, func) - Register a subParser\r\n * @static\r\n * @param {string} name\r\n * @param {function} [func]\r\n * @returns {*}\r\n */\r\nshowdown.subParser = function (name, func) {\r\n 'use strict';\r\n if (showdown.helper.isString(name)) {\r\n if (typeof func !== 'undefined') {\r\n parsers[name] = func;\r\n } else {\r\n if (parsers.hasOwnProperty(name)) {\r\n return parsers[name];\r\n } else {\r\n throw Error('SubParser named ' + name + ' not registered!');\r\n }\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Gets or registers an extension\r\n * @static\r\n * @param {string} name\r\n * @param {object|function=} ext\r\n * @returns {*}\r\n */\r\nshowdown.extension = function (name, ext) {\r\n 'use strict';\r\n\r\n if (!showdown.helper.isString(name)) {\r\n throw Error('Extension \\'name\\' must be a string');\r\n }\r\n\r\n name = showdown.helper.stdExtName(name);\r\n\r\n // Getter\r\n if (showdown.helper.isUndefined(ext)) {\r\n if (!extensions.hasOwnProperty(name)) {\r\n throw Error('Extension named ' + name + ' is not registered!');\r\n }\r\n return extensions[name];\r\n\r\n // Setter\r\n } else {\r\n // Expand extension if it's wrapped in a function\r\n if (typeof ext === 'function') {\r\n ext = ext();\r\n }\r\n\r\n // Ensure extension is an array\r\n if (!showdown.helper.isArray(ext)) {\r\n ext = [ext];\r\n }\r\n\r\n var validExtension = validate(ext, name);\r\n\r\n if (validExtension.valid) {\r\n extensions[name] = ext;\r\n } else {\r\n throw Error(validExtension.error);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * Gets all extensions registered\r\n * @returns {{}}\r\n */\r\nshowdown.getAllExtensions = function () {\r\n 'use strict';\r\n return extensions;\r\n};\r\n\r\n/**\r\n * Remove an extension\r\n * @param {string} name\r\n */\r\nshowdown.removeExtension = function (name) {\r\n 'use strict';\r\n delete extensions[name];\r\n};\r\n\r\n/**\r\n * Removes all extensions\r\n */\r\nshowdown.resetExtensions = function () {\r\n 'use strict';\r\n extensions = {};\r\n};\r\n\r\n/**\r\n * Validate extension\r\n * @param {array} extension\r\n * @param {string} name\r\n * @returns {{valid: boolean, error: string}}\r\n */\r\nfunction validate(extension, name) {\r\n 'use strict';\r\n\r\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\r\n ret = {\r\n valid: true,\r\n error: ''\r\n };\r\n\r\n if (!showdown.helper.isArray(extension)) {\r\n extension = [extension];\r\n }\r\n\r\n for (var i = 0; i < extension.length; ++i) {\r\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\r\n ext = extension[i];\r\n if (typeof ext !== 'object') {\r\n ret.valid = false;\r\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\r\n return ret;\r\n }\r\n\r\n if (!showdown.helper.isString(ext.type)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\r\n return ret;\r\n }\r\n\r\n var type = ext.type = ext.type.toLowerCase();\r\n\r\n // normalize extension type\r\n if (type === 'language') {\r\n type = ext.type = 'lang';\r\n }\r\n\r\n if (type === 'html') {\r\n type = ext.type = 'output';\r\n }\r\n\r\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\r\n ret.valid = false;\r\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\r\n return ret;\r\n }\r\n\r\n if (type === 'listener') {\r\n if (showdown.helper.isUndefined(ext.listeners)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\r\n return ret;\r\n }\r\n } else {\r\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\r\n return ret;\r\n }\r\n }\r\n\r\n if (ext.listeners) {\r\n if (typeof ext.listeners !== 'object') {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\r\n return ret;\r\n }\r\n for (var ln in ext.listeners) {\r\n if (ext.listeners.hasOwnProperty(ln)) {\r\n if (typeof ext.listeners[ln] !== 'function') {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\r\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\r\n return ret;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (ext.filter) {\r\n if (typeof ext.filter !== 'function') {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\r\n return ret;\r\n }\r\n } else if (ext.regex) {\r\n if (showdown.helper.isString(ext.regex)) {\r\n ext.regex = new RegExp(ext.regex, 'g');\r\n }\r\n if (!ext.regex instanceof RegExp) {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\r\n return ret;\r\n }\r\n if (showdown.helper.isUndefined(ext.replace)) {\r\n ret.valid = false;\r\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\r\n return ret;\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\n\r\n/**\r\n * Validate extension\r\n * @param {object} ext\r\n * @returns {boolean}\r\n */\r\nshowdown.validateExtension = function (ext) {\r\n 'use strict';\r\n\r\n var validateExtension = validate(ext, null);\r\n if (!validateExtension.valid) {\r\n console.warn(validateExtension.error);\r\n return false;\r\n }\r\n return true;\r\n};\r\n","/**\r\n * showdownjs helper functions\r\n */\r\n\r\nif (!showdown.hasOwnProperty('helper')) {\r\n showdown.helper = {};\r\n}\r\n\r\n/**\r\n * Check if var is string\r\n * @static\r\n * @param {string} a\r\n * @returns {boolean}\r\n */\r\nshowdown.helper.isString = function isString(a) {\r\n 'use strict';\r\n return (typeof a === 'string' || a instanceof String);\r\n};\r\n\r\n/**\r\n * Check if var is a function\r\n * @static\r\n * @param {string} a\r\n * @returns {boolean}\r\n */\r\nshowdown.helper.isFunction = function isFunction(a) {\r\n 'use strict';\r\n var getType = {};\r\n return a && getType.toString.call(a) === '[object Function]';\r\n};\r\n\r\n/**\r\n * ForEach helper function\r\n * @static\r\n * @param {*} obj\r\n * @param {function} callback\r\n */\r\nshowdown.helper.forEach = function forEach(obj, callback) {\r\n 'use strict';\r\n if (typeof obj.forEach === 'function') {\r\n obj.forEach(callback);\r\n } else {\r\n for (var i = 0; i < obj.length; i++) {\r\n callback(obj[i], i, obj);\r\n }\r\n }\r\n};\r\n\r\n/**\r\n * isArray helper function\r\n * @static\r\n * @param {*} a\r\n * @returns {boolean}\r\n */\r\nshowdown.helper.isArray = function isArray(a) {\r\n 'use strict';\r\n return a.constructor === Array;\r\n};\r\n\r\n/**\r\n * Check if value is undefined\r\n * @static\r\n * @param {*} value The value to check.\r\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\r\n */\r\nshowdown.helper.isUndefined = function isUndefined(value) {\r\n 'use strict';\r\n return typeof value === 'undefined';\r\n};\r\n\r\n/**\r\n * Standardidize extension name\r\n * @static\r\n * @param {string} s extension name\r\n * @returns {string}\r\n */\r\nshowdown.helper.stdExtName = function (s) {\r\n 'use strict';\r\n return s.replace(/[_-]||\\s/g, '').toLowerCase();\r\n};\r\n\r\nfunction escapeCharactersCallback(wholeMatch, m1) {\r\n 'use strict';\r\n var charCodeToEscape = m1.charCodeAt(0);\r\n return '~E' + charCodeToEscape + 'E';\r\n}\r\n\r\n/**\r\n * Callback used to escape characters when passing through String.replace\r\n * @static\r\n * @param {string} wholeMatch\r\n * @param {string} m1\r\n * @returns {string}\r\n */\r\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\r\n\r\n/**\r\n * Escape characters in a string\r\n * @static\r\n * @param {string} text\r\n * @param {string} charsToEscape\r\n * @param {boolean} afterBackslash\r\n * @returns {XML|string|void|*}\r\n */\r\nshowdown.helper.escapeCharacters = function escapeCharacters(text, charsToEscape, afterBackslash) {\r\n 'use strict';\r\n // First we have to escape the escape characters so that\r\n // we can build a character class out of them\r\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\r\n\r\n if (afterBackslash) {\r\n regexString = '\\\\\\\\' + regexString;\r\n }\r\n\r\n var regex = new RegExp(regexString, 'g');\r\n text = text.replace(regex, escapeCharactersCallback);\r\n\r\n return text;\r\n};\r\n\r\nvar rgxFindMatchPos = function (str, left, right, flags) {\r\n 'use strict';\r\n var f = flags || '',\r\n g = f.indexOf('g') > -1,\r\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\r\n l = new RegExp(left, f.replace(/g/g, '')),\r\n pos = [],\r\n t, s, m, start, end;\r\n\r\n do {\r\n t = 0;\r\n while ((m = x.exec(str))) {\r\n if (l.test(m[0])) {\r\n if (!(t++)) {\r\n s = x.lastIndex;\r\n start = s - m[0].length;\r\n }\r\n } else if (t) {\r\n if (!--t) {\r\n end = m.index + m[0].length;\r\n var obj = {\r\n left: {start: start, end: s},\r\n match: {start: s, end: m.index},\r\n right: {start: m.index, end: end},\r\n wholeMatch: {start: start, end: end}\r\n };\r\n pos.push(obj);\r\n if (!g) {\r\n return pos;\r\n }\r\n }\r\n }\r\n }\r\n } while (t && (x.lastIndex = s));\r\n\r\n return pos;\r\n};\r\n\r\n/**\r\n * matchRecursiveRegExp\r\n *\r\n * (c) 2007 Steven Levithan \r\n * MIT License\r\n *\r\n * Accepts a string to search, a left and right format delimiter\r\n * as regex patterns, and optional regex flags. Returns an array\r\n * of matches, allowing nested instances of left/right delimiters.\r\n * Use the \"g\" flag to return all matches, otherwise only the\r\n * first is returned. Be careful to ensure that the left and\r\n * right format delimiters produce mutually exclusive matches.\r\n * Backreferences are not supported within the right delimiter\r\n * due to how it is internally combined with the left delimiter.\r\n * When matching strings whose format delimiters are unbalanced\r\n * to the left or right, the output is intentionally as a\r\n * conventional regex library with recursion support would\r\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\r\n * \"<\" and \">\" as the delimiters (both strings contain a single,\r\n * balanced instance of \"\").\r\n *\r\n * examples:\r\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\r\n * returns: []\r\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\r\n * returns: [\"t<>\", \"\"]\r\n * matchRecursiveRegExp(\"
test
\", \"]*>\", \"\", \"gi\")\r\n * returns: [\"test\"]\r\n */\r\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\r\n 'use strict';\r\n\r\n var matchPos = rgxFindMatchPos (str, left, right, flags),\r\n results = [];\r\n\r\n for (var i = 0; i < matchPos.length; ++i) {\r\n results.push([\r\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\r\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\r\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\r\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\r\n ]);\r\n }\r\n return results;\r\n};\r\n\r\n/**\r\n *\r\n * @param {string} str\r\n * @param {string|function} replacement\r\n * @param {string} left\r\n * @param {string} right\r\n * @param {string} flags\r\n * @returns {string}\r\n */\r\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\r\n 'use strict';\r\n\r\n if (!showdown.helper.isFunction(replacement)) {\r\n var repStr = replacement;\r\n replacement = function () {\r\n return repStr;\r\n };\r\n }\r\n\r\n var matchPos = rgxFindMatchPos(str, left, right, flags),\r\n finalStr = str,\r\n lng = matchPos.length;\r\n\r\n if (lng > 0) {\r\n var bits = [];\r\n if (matchPos[0].wholeMatch.start !== 0) {\r\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\r\n }\r\n for (var i = 0; i < lng; ++i) {\r\n bits.push(\r\n replacement(\r\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\r\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\r\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\r\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\r\n )\r\n );\r\n if (i < lng - 1) {\r\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\r\n }\r\n }\r\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\r\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\r\n }\r\n finalStr = bits.join('');\r\n }\r\n return finalStr;\r\n};\r\n\r\n/**\r\n * POLYFILLS\r\n */\r\nif (showdown.helper.isUndefined(console)) {\r\n console = {\r\n warn: function (msg) {\r\n 'use strict';\r\n alert(msg);\r\n },\r\n log: function (msg) {\r\n 'use strict';\r\n alert(msg);\r\n },\r\n error: function (msg) {\r\n 'use strict';\r\n throw msg;\r\n }\r\n };\r\n}\r\n","/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {};\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor() {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension(ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty(listeners)) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading(ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen(name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: []\n };\n\n // attacklab: Replace ~ with ~T\n // This lets us use tilde as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/~/g, '~T');\n\n // attacklab: Replace $ with ~D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '~D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n // stripBlankLines\n text = showdown.subParser('stripBlankLines')(text, options, globals);\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/~D/g, '$$');\n\n // attacklab: Restore tildes\n text = text.replace(/~T/g, '~');\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n return text;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (flavor.hasOwnProperty(name)) {\n var preset = flavor[name];\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n }\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n};\n","/**\r\n * Turn Markdown link shortcuts into XHTML tags.\r\n */\r\nshowdown.subParser('anchors', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('anchors.before', text, options);\r\n\r\n var writeAnchorTag = function (wholeMatch, m1, m2, m3, m4, m5, m6, m7) {\r\n if (showdown.helper.isUndefined(m7)) {\r\n m7 = '';\r\n }\r\n wholeMatch = m1;\r\n var linkText = m2,\r\n linkId = m3.toLowerCase(),\r\n url = m4,\r\n title = m7;\r\n\r\n if (!url) {\r\n if (!linkId) {\r\n // lower-case and turn embedded newlines into spaces\r\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\r\n }\r\n url = '#' + linkId;\r\n\r\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\r\n url = globals.gUrls[linkId];\r\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\r\n title = globals.gTitles[linkId];\r\n }\r\n } else {\r\n if (wholeMatch.search(/\\(\\s*\\)$/m) > -1) {\r\n // Special case for explicit empty url\r\n url = '';\r\n } else {\r\n return wholeMatch;\r\n }\r\n }\r\n }\r\n\r\n url = showdown.helper.escapeCharacters(url, '*_', false);\r\n var result = '';\r\n\r\n return result;\r\n };\r\n\r\n // First, handle reference-style links: [link text] [id]\r\n /*\r\n text = text.replace(/\r\n (\t\t\t\t\t\t\t// wrap whole match in $1\r\n \\[\r\n (\r\n (?:\r\n \\[[^\\]]*\\]\t\t// allow brackets nested one level\r\n |\r\n [^\\[]\t\t\t// or anything else\r\n )*\r\n )\r\n \\]\r\n\r\n [ ]?\t\t\t\t\t// one optional space\r\n (?:\\n[ ]*)?\t\t\t\t// one optional newline followed by spaces\r\n\r\n \\[\r\n (.*?)\t\t\t\t\t// id = $3\r\n \\]\r\n )()()()()\t\t\t\t\t// pad remaining backreferences\r\n /g,_DoAnchors_callback);\r\n */\r\n text = text.replace(/(\\[((?:\\[[^\\]]*]|[^\\[\\]])*)][ ]?(?:\\n[ ]*)?\\[(.*?)])()()()()/g, writeAnchorTag);\r\n\r\n //\r\n // Next, inline-style links: [link text](url \"optional title\")\r\n //\r\n\r\n /*\r\n text = text.replace(/\r\n (\t\t\t\t\t\t// wrap whole match in $1\r\n \\[\r\n (\r\n (?:\r\n \\[[^\\]]*\\]\t// allow brackets nested one level\r\n |\r\n [^\\[\\]]\t\t\t// or anything else\r\n )\r\n )\r\n \\]\r\n \\(\t\t\t\t\t\t// literal paren\r\n [ \\t]*\r\n ()\t\t\t\t\t\t// no id, so leave $3 empty\r\n ?\t\t\t\t// href = $4\r\n [ \\t]*\r\n (\t\t\t\t\t\t// $5\r\n (['\"])\t\t\t\t// quote char = $6\r\n (.*?)\t\t\t\t// Title = $7\r\n \\6\t\t\t\t\t// matching quote\r\n [ \\t]*\t\t\t\t// ignore any spaces/tabs between closing quote and )\r\n )?\t\t\t\t\t\t// title is optional\r\n \\)\r\n )\r\n /g,writeAnchorTag);\r\n */\r\n text = text.replace(/(\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]\\([ \\t]*()?[ \\t]*((['\"])(.*?)\\6[ \\t]*)?\\))/g,\r\n writeAnchorTag);\r\n\r\n //\r\n // Last, handle reference-style shortcuts: [link text]\r\n // These must come last in case you've also got [link test][1]\r\n // or [link test](/foo)\r\n //\r\n\r\n /*\r\n text = text.replace(/\r\n ( // wrap whole match in $1\r\n \\[\r\n ([^\\[\\]]+) // link text = $2; can't contain '[' or ']'\r\n \\]\r\n )()()()()() // pad rest of backreferences\r\n /g, writeAnchorTag);\r\n */\r\n text = text.replace(/(\\[([^\\[\\]]+)])()()()()()/g, writeAnchorTag);\r\n\r\n text = globals.converter._dispatch('anchors.after', text, options);\r\n return text;\r\n});\r\n","showdown.subParser('autoLinks', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('autoLinks.before', text, options);\r\n\r\n var simpleURLRegex = /\\b(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+)(?=\\s|$)(?![\"<>])/gi,\r\n delimUrlRegex = /<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)>/gi,\r\n simpleMailRegex = /(?:^|[ \\n\\t])([A-Za-z0-9!#$%&'*+-/=?^_`\\{|}~\\.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?:$|[ \\n\\t])/gi,\r\n delimMailRegex = /<(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi;\r\n\r\n text = text.replace(delimUrlRegex, '$1');\r\n text = text.replace(delimMailRegex, replaceMail);\r\n //simpleURLRegex = /\\b(((https?|ftp|dict):\\/\\/|www\\.)[-.+~:?#@!$&'()*,;=[\\]\\w]+)\\b/gi,\r\n // Email addresses: \r\n\r\n if (options.simplifiedAutoLink) {\r\n text = text.replace(simpleURLRegex, '$1');\r\n text = text.replace(simpleMailRegex, replaceMail);\r\n }\r\n\r\n function replaceMail(wholeMatch, m1) {\r\n var unescapedStr = showdown.subParser('unescapeSpecialChars')(m1);\r\n return showdown.subParser('encodeEmailAddress')(unescapedStr);\r\n }\r\n\r\n text = globals.converter._dispatch('autoLinks.after', text, options);\r\n\r\n return text;\r\n});\r\n","/**\r\n * These are all the transformations that form block-level\r\n * tags like paragraphs, headers, and list items.\r\n */\r\nshowdown.subParser('blockGamut', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('blockGamut.before', text, options);\r\n\r\n // we parse blockquotes first so that we can have headings and hrs\r\n // inside blockquotes\r\n text = showdown.subParser('blockQuotes')(text, options, globals);\r\n text = showdown.subParser('headers')(text, options, globals);\r\n\r\n // Do Horizontal Rules:\r\n var key = showdown.subParser('hashBlock')('
', options, globals);\r\n text = text.replace(/^[ ]{0,2}([ ]?\\*[ ]?){3,}[ \\t]*$/gm, key);\r\n text = text.replace(/^[ ]{0,2}([ ]?\\-[ ]?){3,}[ \\t]*$/gm, key);\r\n text = text.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \\t]*$/gm, key);\r\n\r\n text = showdown.subParser('lists')(text, options, globals);\r\n text = showdown.subParser('codeBlocks')(text, options, globals);\r\n text = showdown.subParser('tables')(text, options, globals);\r\n\r\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\r\n // was to escape raw HTML in the original Markdown source. This time,\r\n // we're escaping the markup we've just created, so that we don't wrap\r\n //

tags around block-level tags.\r\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\r\n text = showdown.subParser('paragraphs')(text, options, globals);\r\n\r\n text = globals.converter._dispatch('blockGamut.after', text, options);\r\n\r\n return text;\r\n});\r\n","showdown.subParser('blockQuotes', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('blockQuotes.before', text, options);\r\n /*\r\n text = text.replace(/\r\n (\t\t\t\t\t\t\t\t// Wrap whole match in $1\r\n (\r\n ^[ \\t]*>[ \\t]?\t\t\t// '>' at the start of a line\r\n .+\\n\t\t\t\t\t// rest of the first line\r\n (.+\\n)*\t\t\t\t\t// subsequent consecutive lines\r\n \\n*\t\t\t\t\t\t// blanks\r\n )+\r\n )\r\n /gm, function(){...});\r\n */\r\n\r\n text = text.replace(/((^[ \\t]{0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+)/gm, function (wholeMatch, m1) {\r\n var bq = m1;\r\n\r\n // attacklab: hack around Konqueror 3.5.4 bug:\r\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\r\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, '~0'); // trim one level of quoting\r\n\r\n // attacklab: clean up hack\r\n bq = bq.replace(/~0/g, '');\r\n\r\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\r\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\r\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\r\n\r\n bq = bq.replace(/(^|\\n)/g, '$1 ');\r\n // These leading spaces screw with

 content, so we need to fix that:\r\n    bq = bq.replace(/(\\s*
[^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\r\n      var pre = m1;\r\n      // attacklab: hack around Konqueror 3.5.4 bug:\r\n      pre = pre.replace(/^  /mg, '~0');\r\n      pre = pre.replace(/~0/g, '');\r\n      return pre;\r\n    });\r\n\r\n    return showdown.subParser('hashBlock')('
\\n' + bq + '\\n
', options, globals);\r\n });\r\n\r\n text = globals.converter._dispatch('blockQuotes.after', text, options);\r\n return text;\r\n});\r\n","/**\n * Process Markdown `
` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options);\n  /*\n   text = text.replace(text,\n   /(?:\\n\\n|^)\n   (\t\t\t\t\t\t\t\t// $1 = the code block -- one or more lines, starting with a space/tab\n   (?:\n   (?:[ ]{4}|\\t)\t\t\t// Lines must start with a tab or a tab-width of spaces - attacklab: g_tab_width\n   .*\\n+\n   )+\n   )\n   (\\n*[ ]{0,3}[^ \\t\\n]|(?=~0))\t// attacklab: g_tab_width\n   /g,function(){...});\n   */\n\n  // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '~0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=~0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock);\n    codeblock = showdown.subParser('encodeCode')(codeblock);\n    codeblock = showdown.subParser('detab')(codeblock);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
' + codeblock + end + '
';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // attacklab: strip sentinel\n text = text.replace(/~0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options);\n return text;\n});\n","/**\r\n *\r\n * * Backtick quotes are used for spans.\r\n *\r\n * * You can use multiple backticks as the delimiters if you want to\r\n * include literal backticks in the code span. So, this input:\r\n *\r\n * Just type ``foo `bar` baz`` at the prompt.\r\n *\r\n * Will translate to:\r\n *\r\n *

Just type foo `bar` baz at the prompt.

\r\n *\r\n * There's no arbitrary limit to the number of backticks you\r\n * can use as delimters. If you need three consecutive backticks\r\n * in your code, use four for delimiters, etc.\r\n *\r\n * * You can use spaces to get literal backticks at the edges:\r\n *\r\n * ... type `` `bar` `` ...\r\n *\r\n * Turns to:\r\n *\r\n * ... type `bar` ...\r\n */\r\nshowdown.subParser('codeSpans', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('codeSpans.before', text, options);\r\n\r\n /*\r\n text = text.replace(/\r\n (^|[^\\\\])\t\t\t\t\t// Character before opening ` can't be a backslash\r\n (`+)\t\t\t\t\t\t// $2 = Opening run of `\r\n (\t\t\t\t\t\t\t// $3 = The code block\r\n [^\\r]*?\r\n [^`]\t\t\t\t\t// attacklab: work around lack of lookbehind\r\n )\r\n \\2\t\t\t\t\t\t\t// Matching closer\r\n (?!`)\r\n /gm, function(){...});\r\n */\r\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\r\n function (wholeMatch, m1, m2, m3) {\r\n var c = m3;\r\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\r\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\r\n c = showdown.subParser('encodeCode')(c);\r\n return m1 + '' + c + '';\r\n }\r\n );\r\n\r\n text = globals.converter._dispatch('codeSpans.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Convert all tabs to spaces\r\n */\r\nshowdown.subParser('detab', function (text) {\r\n 'use strict';\r\n\r\n // expand first n-1 tabs\r\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\r\n\r\n // replace the nth with two sentinels\r\n text = text.replace(/\\t/g, '~A~B');\r\n\r\n // use the sentinel to anchor our regex so it doesn't explode\r\n text = text.replace(/~B(.+?)~A/g, function (wholeMatch, m1) {\r\n var leadingText = m1,\r\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\r\n\r\n // there *must* be a better way to do this:\r\n for (var i = 0; i < numSpaces; i++) {\r\n leadingText += ' ';\r\n }\r\n\r\n return leadingText;\r\n });\r\n\r\n // clean up sentinels\r\n text = text.replace(/~A/g, ' '); // g_tab_width\r\n text = text.replace(/~B/g, '');\r\n\r\n return text;\r\n\r\n});\r\n","/**\r\n * Smart processing for ampersands and angle brackets that need to be encoded.\r\n */\r\nshowdown.subParser('encodeAmpsAndAngles', function (text) {\r\n 'use strict';\r\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\r\n // http://bumppo.net/projects/amputator/\r\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\r\n\r\n // Encode naked <'s\r\n text = text.replace(/<(?![a-z\\/?\\$!])/gi, '<');\r\n\r\n return text;\r\n});\r\n","/**\r\n * Returns the string, with after processing the following backslash escape sequences.\r\n *\r\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\r\n *\r\n * text = escapeCharacters(text,\"\\\\\",true);\r\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\r\n *\r\n * ...but we're sidestepping its use of the (slow) RegExp constructor\r\n * as an optimization for Firefox. This function gets called a LOT.\r\n */\r\nshowdown.subParser('encodeBackslashEscapes', function (text) {\r\n 'use strict';\r\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\r\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+-.!])/g, showdown.helper.escapeCharactersCallback);\r\n return text;\r\n});\r\n","/**\r\n * Encode/escape certain characters inside Markdown code runs.\r\n * The point is that in code, these characters are literals,\r\n * and lose their special Markdown meanings.\r\n */\r\nshowdown.subParser('encodeCode', function (text) {\r\n 'use strict';\r\n\r\n // Encode all ampersands; HTML entities are not\r\n // entities within a Markdown code span.\r\n text = text.replace(/&/g, '&');\r\n\r\n // Do the angle bracket song and dance:\r\n text = text.replace(//g, '>');\r\n\r\n // Now, escape characters that are magic in Markdown:\r\n text = showdown.helper.escapeCharacters(text, '*_{}[]\\\\', false);\r\n\r\n // jj the line above breaks this:\r\n //---\r\n //* Item\r\n // 1. Subitem\r\n // special char: *\r\n // ---\r\n\r\n return text;\r\n});\r\n","/**\r\n * Input: an email address, e.g. \"foo@example.com\"\r\n *\r\n * Output: the email address as a mailto link, with each character\r\n * of the address encoded as either a decimal or hex entity, in\r\n * the hopes of foiling most address harvesting spam bots. E.g.:\r\n *\r\n * foo\r\n * @example.com\r\n *\r\n * Based on a filter by Matthew Wickline, posted to the BBEdit-Talk\r\n * mailing list: \r\n *\r\n */\r\nshowdown.subParser('encodeEmailAddress', function (addr) {\r\n 'use strict';\r\n\r\n var encode = [\r\n function (ch) {\r\n return '&#' + ch.charCodeAt(0) + ';';\r\n },\r\n function (ch) {\r\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\r\n },\r\n function (ch) {\r\n return ch;\r\n }\r\n ];\r\n\r\n addr = 'mailto:' + addr;\r\n\r\n addr = addr.replace(/./g, function (ch) {\r\n if (ch === '@') {\r\n // this *must* be encoded. I insist.\r\n ch = encode[Math.floor(Math.random() * 2)](ch);\r\n } else if (ch !== ':') {\r\n // leave ':' alone (to spot mailto: later)\r\n var r = Math.random();\r\n // roughly 10% raw, 45% hex, 45% dec\r\n ch = (\r\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\r\n );\r\n }\r\n return ch;\r\n });\r\n\r\n addr = '' + addr + '';\r\n addr = addr.replace(/\">.+:/g, '\">'); // strip the mailto: from the visible part\r\n\r\n return addr;\r\n});\r\n","/**\r\n * Within tags -- meaning between < and > -- encode [\\ ` * _] so they\r\n * don't conflict with their use in Markdown for code, italics and strong.\r\n */\r\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text) {\r\n 'use strict';\r\n\r\n // Build a regex to find HTML tags and comments. See Friedl's\r\n // \"Mastering Regular Expressions\", 2nd Ed., pp. 200-201.\r\n var regex = /(<[a-z\\/!$](\"[^\"]*\"|'[^']*'|[^'\">])*>|)/gi;\r\n\r\n text = text.replace(regex, function (wholeMatch) {\r\n var tag = wholeMatch.replace(/(.)<\\/?code>(?=.)/g, '$1`');\r\n tag = showdown.helper.escapeCharacters(tag, '\\\\`*_', false);\r\n return tag;\r\n });\r\n\r\n return text;\r\n});\r\n","/**\r\n * Handle github codeblocks prior to running HashHTML so that\r\n * HTML contained within the codeblock gets escaped properly\r\n * Example:\r\n * ```ruby\r\n * def hello_world(x)\r\n * puts \"Hello, #{x}\"\r\n * end\r\n * ```\r\n */\r\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\r\n 'use strict';\r\n\r\n // early exit if option is not enabled\r\n if (!options.ghCodeBlocks) {\r\n return text;\r\n }\r\n\r\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options);\r\n\r\n text += '~0';\r\n\r\n text = text.replace(/(?:^|\\n)```(.*)\\n([\\s\\S]*?)\\n```/g, function (wholeMatch, language, codeblock) {\r\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\r\n\r\n // First parse the github code block\r\n codeblock = showdown.subParser('encodeCode')(codeblock);\r\n codeblock = showdown.subParser('detab')(codeblock);\r\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\r\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\r\n\r\n codeblock = '
' + codeblock + end + '
';\r\n\r\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\r\n\r\n // Since GHCodeblocks can be false positives, we need to\r\n // store the primitive text and the parsed text in a global var,\r\n // and then return a token\r\n return '\\n\\n~G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\r\n });\r\n\r\n // attacklab: strip sentinel\r\n text = text.replace(/~0/, '');\r\n\r\n return globals.converter._dispatch('githubCodeBlocks.after', text, options);\r\n});\r\n","showdown.subParser('hashBlock', function (text, options, globals) {\r\n 'use strict';\r\n text = text.replace(/(^\\n+|\\n+$)/g, '');\r\n return '\\n\\n~K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\r\n});\r\n","showdown.subParser('hashElement', function (text, options, globals) {\r\n 'use strict';\r\n\r\n return function (wholeMatch, m1) {\r\n var blockText = m1;\r\n\r\n // Undo double lines\r\n blockText = blockText.replace(/\\n\\n/g, '\\n');\r\n blockText = blockText.replace(/^\\n/, '');\r\n\r\n // strip trailing blank lines\r\n blockText = blockText.replace(/\\n+$/g, '');\r\n\r\n // Replace the element text with a marker (\"~KxK\" where x is its key)\r\n blockText = '\\n\\n~K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\r\n\r\n return blockText;\r\n };\r\n});\r\n","showdown.subParser('hashHTMLBlocks', function (text, options, globals) {\r\n 'use strict';\r\n\r\n var blockTags = [\r\n 'pre',\r\n 'div',\r\n 'h1',\r\n 'h2',\r\n 'h3',\r\n 'h4',\r\n 'h5',\r\n 'h6',\r\n 'blockquote',\r\n 'table',\r\n 'dl',\r\n 'ol',\r\n 'ul',\r\n 'script',\r\n 'noscript',\r\n 'form',\r\n 'fieldset',\r\n 'iframe',\r\n 'math',\r\n 'style',\r\n 'section',\r\n 'header',\r\n 'footer',\r\n 'nav',\r\n 'article',\r\n 'aside',\r\n 'address',\r\n 'audio',\r\n 'canvas',\r\n 'figure',\r\n 'hgroup',\r\n 'output',\r\n 'video',\r\n 'p'\r\n ],\r\n repFunc = function (wholeMatch, match, left, right) {\r\n var txt = wholeMatch;\r\n // check if this html element is marked as markdown\r\n // if so, it's contents should be parsed as markdown\r\n if (left.search(/\\bmarkdown\\b/) !== -1) {\r\n txt = left + globals.converter.makeHtml(match) + right;\r\n }\r\n return '\\n\\n~K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\r\n };\r\n\r\n for (var i = 0; i < blockTags.length; ++i) {\r\n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^(?: |\\\\t){0,3}<' + blockTags[i] + '\\\\b[^>]*>', '', 'gim');\r\n }\r\n\r\n // HR SPECIAL CASE\r\n text = text.replace(/(\\n[ ]{0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\r\n showdown.subParser('hashElement')(text, options, globals));\r\n\r\n // Special case for standalone HTML comments:\r\n text = text.replace(/([ \\t]*(?=\\n{2,}))/g,\r\n showdown.subParser('hashElement')(text, options, globals));\r\n\r\n // PHP and ASP-style processor instructions ( and <%...%>)\r\n text = text.replace(/(?:\\n\\n)([ ]{0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\r\n showdown.subParser('hashElement')(text, options, globals));\r\n\r\n return text;\r\n});\r\n","/**\r\n * Hash span elements that should not be parsed as markdown\r\n */\r\nshowdown.subParser('hashHTMLSpans', function (text, config, globals) {\r\n 'use strict';\r\n\r\n var matches = showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');\r\n\r\n for (var i = 0; i < matches.length; ++i) {\r\n text = text.replace(matches[i][0], '~L' + (globals.gHtmlSpans.push(matches[i][0]) - 1) + 'L');\r\n }\r\n return text;\r\n});\r\n\r\n/**\r\n * Unhash HTML spans\r\n */\r\nshowdown.subParser('unhashHTMLSpans', function (text, config, globals) {\r\n 'use strict';\r\n\r\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\r\n text = text.replace('~L' + i + 'L', globals.gHtmlSpans[i]);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, config, globals) {\n 'use strict';\n\n var repFunc = function (wholeMatch, match, left, right) {\n // encode html entities\n var codeblock = left + showdown.subParser('encodeCode')(match) + right;\n return '\\n\\n~G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n };\n\n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^(?: |\\\\t){0,3}]*>\\\\s*]*>', '^(?: |\\\\t){0,3}\\\\s*
', 'gim');\n return text;\n});\n","showdown.subParser('headers', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('headers.before', text, options);\r\n\r\n var prefixHeader = options.prefixHeaderId,\r\n headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\r\n\r\n // Set text-style headers:\r\n //\tHeader 1\r\n //\t========\r\n //\r\n //\tHeader 2\r\n //\t--------\r\n //\r\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\r\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\r\n\r\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\r\n\r\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\r\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\r\n hLevel = headerLevelStart,\r\n hashBlock = '' + spanGamut + '';\r\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\r\n });\r\n\r\n text = text.replace(setextRegexH2, function (matchFound, m1) {\r\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\r\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\r\n hLevel = headerLevelStart + 1,\r\n hashBlock = '' + spanGamut + '';\r\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\r\n });\r\n\r\n // atx-style headers:\r\n // # Header 1\r\n // ## Header 2\r\n // ## Header 2 with closing hashes ##\r\n // ...\r\n // ###### Header 6\r\n //\r\n text = text.replace(/^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm, function (wholeMatch, m1, m2) {\r\n var span = showdown.subParser('spanGamut')(m2, options, globals),\r\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\r\n hLevel = headerLevelStart - 1 + m1.length,\r\n header = '' + span + '';\r\n\r\n return showdown.subParser('hashBlock')(header, options, globals);\r\n });\r\n\r\n function headerId(m) {\r\n var title, escapedId = m.replace(/[^\\w]/g, '').toLowerCase();\r\n\r\n if (globals.hashLinkCounts[escapedId]) {\r\n title = escapedId + '-' + (globals.hashLinkCounts[escapedId]++);\r\n } else {\r\n title = escapedId;\r\n globals.hashLinkCounts[escapedId] = 1;\r\n }\r\n\r\n // Prefix id to prevent causing inadvertent pre-existing style matches.\r\n if (prefixHeader === true) {\r\n prefixHeader = 'section';\r\n }\r\n\r\n if (showdown.helper.isString(prefixHeader)) {\r\n return prefixHeader + title;\r\n }\r\n return title;\r\n }\r\n\r\n text = globals.converter._dispatch('headers.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Turn Markdown image shortcuts into tags.\r\n */\r\nshowdown.subParser('images', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('images.before', text, options);\r\n\r\n var inlineRegExp = /!\\[(.*?)]\\s?\\([ \\t]*()?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(['\"])(.*?)\\6[ \\t]*)?\\)/g,\r\n referenceRegExp = /!\\[(.*?)][ ]?(?:\\n[ ]*)?\\[(.*?)]()()()()()/g;\r\n\r\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\r\n\r\n var gUrls = globals.gUrls,\r\n gTitles = globals.gTitles,\r\n gDims = globals.gDimensions;\r\n\r\n linkId = linkId.toLowerCase();\r\n\r\n if (!title) {\r\n title = '';\r\n }\r\n\r\n if (url === '' || url === null) {\r\n if (linkId === '' || linkId === null) {\r\n // lower-case and turn embedded newlines into spaces\r\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\r\n }\r\n url = '#' + linkId;\r\n\r\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\r\n url = gUrls[linkId];\r\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\r\n title = gTitles[linkId];\r\n }\r\n if (!showdown.helper.isUndefined(gDims[linkId])) {\r\n width = gDims[linkId].width;\r\n height = gDims[linkId].height;\r\n }\r\n } else {\r\n return wholeMatch;\r\n }\r\n }\r\n\r\n altText = altText.replace(/\"/g, '"');\r\n altText = showdown.helper.escapeCharacters(altText, '*_', false);\r\n url = showdown.helper.escapeCharacters(url, '*_', false);\r\n var result = '\"'x \"optional title\")\r\n text = text.replace(inlineRegExp, writeImageTag);\r\n\r\n text = globals.converter._dispatch('images.after', text, options);\r\n return text;\r\n});\r\n","showdown.subParser('italicsAndBold', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('italicsAndBold.before', text, options);\r\n\r\n if (options.literalMidWordUnderscores) {\r\n //underscores\r\n // Since we are consuming a \\s character, we need to add it\r\n text = text.replace(/(^|\\s|>|\\b)__(?=\\S)([^]+?)__(?=\\b|<|\\s|$)/gm, '$1$2');\r\n text = text.replace(/(^|\\s|>|\\b)_(?=\\S)([^]+?)_(?=\\b|<|\\s|$)/gm, '$1$2');\r\n //asterisks\r\n text = text.replace(/(\\*\\*)(?=\\S)([^\\r]*?\\S[*]*)\\1/g, '$2');\r\n text = text.replace(/(\\*)(?=\\S)([^\\r]*?\\S)\\1/g, '$2');\r\n\r\n } else {\r\n // must go first:\r\n text = text.replace(/(\\*\\*|__)(?=\\S)([^\\r]*?\\S[*_]*)\\1/g, '$2');\r\n text = text.replace(/(\\*|_)(?=\\S)([^\\r]*?\\S)\\1/g, '$2');\r\n }\r\n\r\n text = globals.converter._dispatch('italicsAndBold.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\r\n */\r\nshowdown.subParser('lists', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('lists.before', text, options);\r\n /**\r\n * Process the contents of a single ordered or unordered list, splitting it\r\n * into individual list items.\r\n * @param {string} listStr\r\n * @param {boolean} trimTrailing\r\n * @returns {string}\r\n */\r\n function processListItems (listStr, trimTrailing) {\r\n // The $g_list_level global keeps track of when we're inside a list.\r\n // Each time we enter a list, we increment it; when we leave a list,\r\n // we decrement. If it's zero, we're not in a list anymore.\r\n //\r\n // We do this because when we're not inside a list, we want to treat\r\n // something like this:\r\n //\r\n // I recommend upgrading to version\r\n // 8. Oops, now this line is treated\r\n // as a sub-list.\r\n //\r\n // As a single paragraph, despite the fact that the second line starts\r\n // with a digit-period-space sequence.\r\n //\r\n // Whereas when we're inside a list (or sub-list), that line will be\r\n // treated as the start of a sub-list. What a kludge, huh? This is\r\n // an aspect of Markdown's syntax that's hard to parse perfectly\r\n // without resorting to mind-reading. Perhaps the solution is to\r\n // change the syntax rules such that sub-lists must start with a\r\n // starting cardinal number; e.g. \"1.\" or \"a.\".\r\n globals.gListLevel++;\r\n\r\n // trim trailing blank lines:\r\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\r\n\r\n // attacklab: add sentinel to emulate \\z\r\n listStr += '~0';\r\n\r\n var rgx = /(\\n)?(^[ \\t]*)([*+-]|\\d+[.])[ \\t]+((\\[(x| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(~0|\\2([*+-]|\\d+[.])[ \\t]+))/gm,\r\n isParagraphed = (/\\n[ \\t]*\\n(?!~0)/.test(listStr));\r\n\r\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\r\n checked = (checked && checked.trim() !== '');\r\n var item = showdown.subParser('outdent')(m4, options, globals),\r\n bulletStyle = '';\r\n\r\n // Support for github tasklists\r\n if (taskbtn && options.tasklists) {\r\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\r\n item = item.replace(/^[ \\t]*\\[(x| )?]/m, function () {\r\n var otp = ' -1)) {\r\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\r\n item = showdown.subParser('blockGamut')(item, options, globals);\r\n } else {\r\n // Recursion for sub-lists:\r\n item = showdown.subParser('lists')(item, options, globals);\r\n item = item.replace(/\\n$/, ''); // chomp(item)\r\n if (isParagraphed) {\r\n item = showdown.subParser('paragraphs')(item, options, globals);\r\n } else {\r\n item = showdown.subParser('spanGamut')(item, options, globals);\r\n }\r\n }\r\n item = '\\n' + item + '\\n';\r\n return item;\r\n });\r\n\r\n // attacklab: strip sentinel\r\n listStr = listStr.replace(/~0/g, '');\r\n\r\n globals.gListLevel--;\r\n\r\n if (trimTrailing) {\r\n listStr = listStr.replace(/\\s+$/, '');\r\n }\r\n\r\n return listStr;\r\n }\r\n\r\n /**\r\n * Check and parse consecutive lists (better fix for issue #142)\r\n * @param {string} list\r\n * @param {string} listType\r\n * @param {boolean} trimTrailing\r\n * @returns {string}\r\n */\r\n function parseConsecutiveLists(list, listType, trimTrailing) {\r\n // check if we caught 2 or more consecutive lists by mistake\r\n // we use the counterRgx, meaning if listType is UL we look for UL and vice versa\r\n var counterRxg = (listType === 'ul') ? /^ {0,2}\\d+\\.[ \\t]/gm : /^ {0,2}[*+-][ \\t]/gm,\r\n subLists = [],\r\n result = '';\r\n\r\n if (list.search(counterRxg) !== -1) {\r\n (function parseCL(txt) {\r\n var pos = txt.search(counterRxg);\r\n if (pos !== -1) {\r\n // slice\r\n result += '\\n\\n<' + listType + '>' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n\\n';\r\n\r\n // invert counterType and listType\r\n listType = (listType === 'ul') ? 'ol' : 'ul';\r\n counterRxg = (listType === 'ul') ? /^ {0,2}\\d+\\.[ \\t]/gm : /^ {0,2}[*+-][ \\t]/gm;\r\n\r\n //recurse\r\n parseCL(txt.slice(pos));\r\n } else {\r\n result += '\\n\\n<' + listType + '>' + processListItems(txt, !!trimTrailing) + '\\n\\n';\r\n }\r\n })(list);\r\n for (var i = 0; i < subLists.length; ++i) {\r\n\r\n }\r\n } else {\r\n result = '\\n\\n<' + listType + '>' + processListItems(list, !!trimTrailing) + '\\n\\n';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n // attacklab: add sentinel to hack around khtml/safari bug:\r\n // http://bugs.webkit.org/show_bug.cgi?id=11231\r\n text += '~0';\r\n\r\n // Re-usable pattern to match any entire ul or ol list:\r\n var wholeList = /^(([ ]{0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(~0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm;\r\n\r\n if (globals.gListLevel) {\r\n text = text.replace(wholeList, function (wholeMatch, list, m2) {\r\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\r\n return parseConsecutiveLists(list, listType, true);\r\n });\r\n } else {\r\n wholeList = /(\\n\\n|^\\n?)(([ ]{0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(~0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm;\r\n //wholeList = /(\\n\\n|^\\n?)( {0,3}([*+-]|\\d+\\.)[ \\t]+[\\s\\S]+?)(?=(~0)|(\\n\\n(?!\\t| {2,}| {0,3}([*+-]|\\d+\\.)[ \\t])))/g;\r\n text = text.replace(wholeList, function (wholeMatch, m1, list, m3) {\r\n\r\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\r\n return parseConsecutiveLists(list, listType);\r\n });\r\n }\r\n\r\n // attacklab: strip sentinel\r\n text = text.replace(/~0/, '');\r\n\r\n text = globals.converter._dispatch('lists.after', text, options);\r\n return text;\r\n});\r\n","/**\r\n * Remove one level of line-leading tabs or spaces\r\n */\r\nshowdown.subParser('outdent', function (text) {\r\n 'use strict';\r\n\r\n // attacklab: hack around Konqueror 3.5.4 bug:\r\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\r\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '~0'); // attacklab: g_tab_width\r\n\r\n // attacklab: clean up hack\r\n text = text.replace(/~0/g, '');\r\n\r\n return text;\r\n});\r\n","/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/~(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n } else {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

');\n str += '

';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n while (grafsOutIt.search(/~(K|G)(\\d+)\\1/) >= 0) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?~(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options);\n});\n","/**\r\n * Run extension\r\n */\r\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\r\n 'use strict';\r\n\r\n if (ext.filter) {\r\n text = ext.filter(text, globals.converter, options);\r\n\r\n } else if (ext.regex) {\r\n // TODO remove this when old extension loading mechanism is deprecated\r\n var re = ext.regex;\r\n if (!re instanceof RegExp) {\r\n re = new RegExp(re, 'g');\r\n }\r\n text = text.replace(re, ext.replace);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\r\n * These are all the transformations that occur *within* block-level\r\n * tags like paragraphs, headers, and list items.\r\n */\r\nshowdown.subParser('spanGamut', function (text, options, globals) {\r\n 'use strict';\r\n\r\n text = globals.converter._dispatch('spanGamut.before', text, options);\r\n text = showdown.subParser('codeSpans')(text, options, globals);\r\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\r\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\r\n\r\n // Process anchor and image tags. Images must come first,\r\n // because ![foo][f] looks like an anchor.\r\n text = showdown.subParser('images')(text, options, globals);\r\n text = showdown.subParser('anchors')(text, options, globals);\r\n\r\n // Make links out of things like ``\r\n // Must come after _DoAnchors(), because you can use < and >\r\n // delimiters in inline links like [this]().\r\n text = showdown.subParser('autoLinks')(text, options, globals);\r\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\r\n text = showdown.subParser('italicsAndBold')(text, options, globals);\r\n text = showdown.subParser('strikethrough')(text, options, globals);\r\n\r\n // Do hard breaks:\r\n text = text.replace(/ +\\n/g, '
\\n');\r\n\r\n text = globals.converter._dispatch('spanGamut.after', text, options);\r\n return text;\r\n});\r\n","showdown.subParser('strikethrough', function (text, options, globals) {\r\n 'use strict';\r\n\r\n if (options.strikethrough) {\r\n text = globals.converter._dispatch('strikethrough.before', text, options);\r\n text = text.replace(/(?:~T){2}([\\s\\S]+?)(?:~T){2}/g, '$1');\r\n text = globals.converter._dispatch('strikethrough.after', text, options);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\r\n * Strip any lines consisting only of spaces and tabs.\r\n * This makes subsequent regexs easier to write, because we can\r\n * match consecutive blank lines with /\\n+/ instead of something\r\n * contorted like /[ \\t]*\\n+/\r\n */\r\nshowdown.subParser('stripBlankLines', function (text) {\r\n 'use strict';\r\n return text.replace(/^[ \\t]+$/mg, '');\r\n});\r\n","/**\r\n * Strips link definitions from text, stores the URLs and titles in\r\n * hash references.\r\n * Link defs are in the form: ^[id]: url \"optional title\"\r\n *\r\n * ^[ ]{0,3}\\[(.+)\\]: // id = $1 attacklab: g_tab_width - 1\r\n * [ \\t]*\r\n * \\n? // maybe *one* newline\r\n * [ \\t]*\r\n * ? // url = $2\r\n * [ \\t]*\r\n * \\n? // maybe one newline\r\n * [ \\t]*\r\n * (?:\r\n * (\\n*) // any lines skipped = $3 attacklab: lookbehind removed\r\n * [\"(]\r\n * (.+?) // title = $4\r\n * [\")]\r\n * [ \\t]*\r\n * )? // title is optional\r\n * (?:\\n+|$)\r\n * /gm,\r\n * function(){...});\r\n *\r\n */\r\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\r\n 'use strict';\r\n\r\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=~0))/gm;\r\n\r\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\r\n text += '~0';\r\n\r\n text = text.replace(regex, function (wholeMatch, linkId, url, width, height, blankLines, title) {\r\n linkId = linkId.toLowerCase();\r\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url); // Link IDs are case-insensitive\r\n\r\n if (blankLines) {\r\n // Oops, found blank lines, so it's not a title.\r\n // Put back the parenthetical statement we stole.\r\n return blankLines + title;\r\n\r\n } else {\r\n if (title) {\r\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\r\n }\r\n if (options.parseImgDimensions && width && height) {\r\n globals.gDimensions[linkId] = {\r\n width: width,\r\n height: height\r\n };\r\n }\r\n }\r\n // Completely remove the definition from the text\r\n return '';\r\n });\r\n\r\n // attacklab: strip sentinel\r\n text = text.replace(/~0/, '');\r\n\r\n return text;\r\n});\r\n","showdown.subParser('tables', function (text, options, globals) {\r\n 'use strict';\r\n\r\n var table = function () {\r\n\r\n var tables = {},\r\n filter;\r\n\r\n tables.th = function (header, style) {\r\n var id = '';\r\n header = header.trim();\r\n if (header === '') {\r\n return '';\r\n }\r\n if (options.tableHeaderId) {\r\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\r\n }\r\n header = showdown.subParser('spanGamut')(header, options, globals);\r\n if (!style || style.trim() === '') {\r\n style = '';\r\n } else {\r\n style = ' style=\"' + style + '\"';\r\n }\r\n return '' + header + '';\r\n };\r\n\r\n tables.td = function (cell, style) {\r\n var subText = showdown.subParser('spanGamut')(cell.trim(), options, globals);\r\n if (!style || style.trim() === '') {\r\n style = '';\r\n } else {\r\n style = ' style=\"' + style + '\"';\r\n }\r\n return '' + subText + '';\r\n };\r\n\r\n tables.ths = function () {\r\n var out = '',\r\n i = 0,\r\n hs = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n for (i; i < hs.length; i += 1) {\r\n out += tables.th(hs[i], style[i]) + '\\n';\r\n }\r\n\r\n return out;\r\n };\r\n\r\n tables.tds = function () {\r\n var out = '',\r\n i = 0,\r\n ds = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n for (i; i < ds.length; i += 1) {\r\n out += tables.td(ds[i], style[i]) + '\\n';\r\n }\r\n return out;\r\n };\r\n\r\n tables.thead = function () {\r\n var out,\r\n hs = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n out = '\\n';\r\n out += '\\n';\r\n out += tables.ths.apply(this, [hs, style]);\r\n out += '\\n';\r\n out += '\\n';\r\n return out;\r\n };\r\n\r\n tables.tr = function () {\r\n var out,\r\n cs = [].slice.apply(arguments[0]),\r\n style = [].slice.apply(arguments[1]);\r\n\r\n out = '\\n';\r\n out += tables.tds.apply(this, [cs, style]);\r\n out += '\\n';\r\n return out;\r\n };\r\n\r\n filter = function (text) {\r\n var i = 0,\r\n lines = text.split('\\n'),\r\n line,\r\n hs,\r\n out = [];\r\n\r\n for (i; i < lines.length; i += 1) {\r\n line = lines[i];\r\n // looks like a table heading\r\n if (line.trim().match(/^[|].*[|]$/)) {\r\n line = line.trim();\r\n\r\n var tbl = [],\r\n align = lines[i + 1].trim(),\r\n styles = [],\r\n j = 0;\r\n\r\n if (align.match(/^[|][-=|: ]+[|]$/)) {\r\n styles = align.substring(1, align.length - 1).split('|');\r\n for (j = 0; j < styles.length; ++j) {\r\n styles[j] = styles[j].trim();\r\n if (styles[j].match(/^[:][-=| ]+[:]$/)) {\r\n styles[j] = 'text-align:center;';\r\n\r\n } else if (styles[j].match(/^[-=| ]+[:]$/)) {\r\n styles[j] = 'text-align:right;';\r\n\r\n } else if (styles[j].match(/^[:][-=| ]+$/)) {\r\n styles[j] = 'text-align:left;';\r\n } else {\r\n styles[j] = '';\r\n }\r\n }\r\n }\r\n tbl.push('');\r\n hs = line.substring(1, line.length - 1).split('|');\r\n\r\n if (styles.length === 0) {\r\n for (j = 0; j < hs.length; ++j) {\r\n styles.push('text-align:left');\r\n }\r\n }\r\n tbl.push(tables.thead.apply(this, [hs, styles]));\r\n line = lines[++i];\r\n if (!line.trim().match(/^[|][-=|: ]+[|]$/)) {\r\n // not a table rolling back\r\n line = lines[--i];\r\n } else {\r\n line = lines[++i];\r\n tbl.push('');\r\n while (line.trim().match(/^[|].*[|]$/)) {\r\n line = line.trim();\r\n tbl.push(tables.tr.apply(this, [line.substring(1, line.length - 1).split('|'), styles]));\r\n line = lines[++i];\r\n }\r\n tbl.push('');\r\n tbl.push('
');\r\n // we are done with this table and we move along\r\n out.push(tbl.join('\\n'));\r\n continue;\r\n }\r\n }\r\n out.push(line);\r\n }\r\n return out.join('\\n');\r\n };\r\n return {parse: filter};\r\n };\r\n\r\n if (options.tables) {\r\n text = globals.converter._dispatch('tables.before', text, options);\r\n var tableParser = table();\r\n text = tableParser.parse(text);\r\n text = globals.converter._dispatch('tables.after', text, options);\r\n }\r\n\r\n return text;\r\n});\r\n","/**\r\n * Swap back in all the special characters we've hidden.\r\n */\r\nshowdown.subParser('unescapeSpecialChars', function (text) {\r\n 'use strict';\r\n\r\n text = text.replace(/~E(\\d+)E/g, function (wholeMatch, m1) {\r\n var charCodeToReplace = parseInt(m1);\r\n return String.fromCharCode(charCodeToReplace);\r\n });\r\n return text;\r\n});\r\n","var root = this;\r\n\r\n// CommonJS/nodeJS Loader\r\nif (typeof module !== 'undefined' && module.exports) {\r\n module.exports = showdown;\r\n\r\n// AMD Loader\r\n} else if (typeof define === 'function' && define.amd) {\r\n define(function () {\r\n 'use strict';\r\n return showdown;\r\n });\r\n\r\n// Regular Browser loader\r\n} else {\r\n root.showdown = showdown;\r\n}\r\n"]} \ No newline at end of file diff --git a/dist/showdown.min.js b/dist/showdown.min.js index 6fe4aeea..780bf15a 100644 --- a/dist/showdown.min.js +++ b/dist/showdown.min.js @@ -1,4 +1,4 @@ /*! showdown 25-01-2016 */ -(function(){function a(a){"use strict";var b={omitExtraWLInCodeBlocks:{"default":!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{"default":!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{"default":!1,describe:"Specify a prefix to generated header ids",type:"string"},headerLevelStart:{"default":!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{"default":!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{"default":!1,describe:"Turn on/off GFM autolink style",type:"boolean"},literalMidWordUnderscores:{"default":!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},strikethrough:{"default":!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{"default":!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{"default":!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{"default":!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{"default":!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{"default":!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"}};if(a===!1)return JSON.parse(JSON.stringify(b));var c={};for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]["default"]);return c}function b(a,b){"use strict";var c=b?"Error in "+b+" extension->":"Error in unnamed extension",e={valid:!0,error:""};d.helper.isArray(a)||(a=[a]);for(var f=0;f-1,l=new RegExp(b+"|"+c,"g"+j.replace(/g/g,"")),m=new RegExp(b,j.replace(/g/g,"")),n=[];do for(e=0;g=l.exec(a);)if(m.test(g[0]))e++||(f=l.lastIndex,h=f-g[0].length);else if(e&&!--e){i=g.index+g[0].length;var o={left:{start:h,end:f},match:{start:f,end:g.index},right:{start:g.index,end:i},wholeMatch:{start:h,end:i}};if(n.push(o),!k)return n}while(e&&(l.lastIndex=f));return n};d.helper.matchRecursiveRegExp=function(a,b,c,d){"use strict";for(var e=i(a,b,c,d),f=[],g=0;g0){var l=[];0!==h[0].wholeMatch.start&&l.push(a.slice(0,h[0].wholeMatch.start));for(var m=0;k>m;++m)l.push(b(a.slice(h[m].wholeMatch.start,h[m].wholeMatch.end),a.slice(h[m].match.start,h[m].match.end),a.slice(h[m].left.start,h[m].left.end),a.slice(h[m].right.start,h[m].right.end))),k-1>m&&l.push(a.slice(h[m].wholeMatch.end,h[m+1].wholeMatch.start));h[k-1].wholeMatch.end-1))return a;m=""}else m=c.gUrls[l],d.helper.isUndefined(c.gTitles[l])||(n=c.gTitles[l]);m=d.helper.escapeCharacters(m,"*_",!1);var o='"};return a=a.replace(/(\[((?:\[[^\]]*]|[^\[\]])*)][ ]?(?:\n[ ]*)?\[(.*?)])()()()()/g,e),a=a.replace(/(\[((?:\[[^\]]*]|[^\[\]])*)]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,e),a=a.replace(/(\[([^\[\]]+)])()()()()()/g,e),a=c.converter._dispatch("anchors.after",a,b)}),d.subParser("autoLinks",function(a,b,c){"use strict";function e(a,b){var c=d.subParser("unescapeSpecialChars")(b);return d.subParser("encodeEmailAddress")(c)}a=c.converter._dispatch("autoLinks.before",a,b);var f=/\b(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+)(?=\s|$)(?!["<>])/gi,g=/<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)>/gi,h=/(?:^|[ \n\t])([A-Za-z0-9!#$%&'*+-/=?^_`\{|}~\.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?:$|[ \n\t])/gi,i=/<(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi;return a=a.replace(g,'$1'),a=a.replace(i,e),b.simplifiedAutoLink&&(a=a.replace(f,'$1'),a=a.replace(h,e)),a=c.converter._dispatch("autoLinks.after",a,b)}),d.subParser("blockGamut",function(a,b,c){"use strict";a=c.converter._dispatch("blockGamut.before",a,b),a=d.subParser("blockQuotes")(a,b,c),a=d.subParser("headers")(a,b,c);var e=d.subParser("hashBlock")("
",b,c);return a=a.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,e),a=a.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,e),a=a.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \t]*$/gm,e),a=d.subParser("lists")(a,b,c),a=d.subParser("codeBlocks")(a,b,c),a=d.subParser("tables")(a,b,c),a=d.subParser("hashHTMLBlocks")(a,b,c),a=d.subParser("paragraphs")(a,b,c),a=c.converter._dispatch("blockGamut.after",a,b)}),d.subParser("blockQuotes",function(a,b,c){"use strict";return a=c.converter._dispatch("blockQuotes.before",a,b),a=a.replace(/((^[ \t]{0,3}>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(a,e){var f=e;return f=f.replace(/^[ \t]*>[ \t]?/gm,"~0"),f=f.replace(/~0/g,""),f=f.replace(/^[ \t]+$/gm,""),f=d.subParser("githubCodeBlocks")(f,b,c),f=d.subParser("blockGamut")(f,b,c),f=f.replace(/(^|\n)/g,"$1 "),f=f.replace(/(\s*
[^\r]+?<\/pre>)/gm,function(a,b){var c=b;return c=c.replace(/^  /gm,"~0"),c=c.replace(/~0/g,"")}),d.subParser("hashBlock")("
\n"+f+"\n
",b,c)}),a=c.converter._dispatch("blockQuotes.after",a,b)}),d.subParser("codeBlocks",function(a,b,c){"use strict";a=c.converter._dispatch("codeBlocks.before",a,b),a+="~0";var e=/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g;return a=a.replace(e,function(a,e,f){var g=e,h=f,i="\n";return g=d.subParser("outdent")(g),g=d.subParser("encodeCode")(g),g=d.subParser("detab")(g),g=g.replace(/^\n+/g,""),g=g.replace(/\n+$/g,""),b.omitExtraWLInCodeBlocks&&(i=""),g="
"+g+i+"
",d.subParser("hashBlock")(g,b,c)+h}),a=a.replace(/~0/,""),a=c.converter._dispatch("codeBlocks.after",a,b)}),d.subParser("codeSpans",function(a,b,c){"use strict";return a=c.converter._dispatch("codeSpans.before",a,b),a=a.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(a,b,c,e){var f=e;return f=f.replace(/^([ \t]*)/g,""),f=f.replace(/[ \t]*$/g,""),f=d.subParser("encodeCode")(f),b+""+f+""}),a=c.converter._dispatch("codeSpans.after",a,b)}),d.subParser("detab",function(a){"use strict";return a=a.replace(/\t(?=\t)/g," "),a=a.replace(/\t/g,"~A~B"),a=a.replace(/~B(.+?)~A/g,function(a,b){for(var c=b,d=4-c.length%4,e=0;d>e;e++)c+=" ";return c}),a=a.replace(/~A/g," "),a=a.replace(/~B/g,"")}),d.subParser("encodeAmpsAndAngles",function(a){"use strict";return a=a.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),a=a.replace(/<(?![a-z\/?\$!])/gi,"<")}),d.subParser("encodeBackslashEscapes",function(a){"use strict";return a=a.replace(/\\(\\)/g,d.helper.escapeCharactersCallback),a=a.replace(/\\([`*_{}\[\]()>#+-.!])/g,d.helper.escapeCharactersCallback)}),d.subParser("encodeCode",function(a){"use strict";return a=a.replace(/&/g,"&"),a=a.replace(//g,">"),a=d.helper.escapeCharacters(a,"*_{}[]\\",!1)}),d.subParser("encodeEmailAddress",function(a){"use strict";var b=[function(a){return"&#"+a.charCodeAt(0)+";"},function(a){return"&#x"+a.charCodeAt(0).toString(16)+";"},function(a){return a}];return a="mailto:"+a,a=a.replace(/./g,function(a){if("@"===a)a=b[Math.floor(2*Math.random())](a);else if(":"!==a){var c=Math.random();a=c>.9?b[2](a):c>.45?b[1](a):b[0](a)}return a}),a=''+a+"",a=a.replace(/">.+:/g,'">')}),d.subParser("escapeSpecialCharsWithinTagAttributes",function(a){"use strict";var b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|)/gi;return a=a.replace(b,function(a){var b=a.replace(/(.)<\/?code>(?=.)/g,"$1`");return b=d.helper.escapeCharacters(b,"\\`*_",!1)})}),d.subParser("githubCodeBlocks",function(a,b,c){"use strict";return b.ghCodeBlocks?(a=c.converter._dispatch("githubCodeBlocks.before",a,b),a+="~0",a=a.replace(/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g,function(a,e,f){var g=b.omitExtraWLInCodeBlocks?"":"\n";return f=d.subParser("encodeCode")(f),f=d.subParser("detab")(f),f=f.replace(/^\n+/g,""),f=f.replace(/\n+$/g,""),f="
"+f+g+"
",f=d.subParser("hashBlock")(f,b,c),"\n\n~G"+(c.ghCodeBlocks.push({text:a,codeblock:f})-1)+"G\n\n"}),a=a.replace(/~0/,""),c.converter._dispatch("githubCodeBlocks.after",a,b)):a}),d.subParser("hashBlock",function(a,b,c){"use strict";return a=a.replace(/(^\n+|\n+$)/g,""),"\n\n~K"+(c.gHtmlBlocks.push(a)-1)+"K\n\n"}),d.subParser("hashElement",function(a,b,c){"use strict";return function(a,b){var d=b;return d=d.replace(/\n\n/g,"\n"),d=d.replace(/^\n/,""),d=d.replace(/\n+$/g,""),d="\n\n~K"+(c.gHtmlBlocks.push(d)-1)+"K\n\n"}}),d.subParser("hashHTMLBlocks",function(a,b,c){"use strict";for(var e=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],f=function(a,b,d,e){var f=a;return-1!==d.search(/\bmarkdown\b/)&&(f=d+c.converter.makeHtml(b)+e),"\n\n~K"+(c.gHtmlBlocks.push(f)-1)+"K\n\n"},g=0;g]*>","","gim");return a=a.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,d.subParser("hashElement")(a,b,c)),a=a.replace(/([ \t]*(?=\n{2,}))/g,d.subParser("hashElement")(a,b,c)),a=a.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,d.subParser("hashElement")(a,b,c))}),d.subParser("hashHTMLSpans",function(a,b,c){"use strict";for(var e=d.helper.matchRecursiveRegExp(a,"]*>","","gi"),f=0;f"+h+"";return d.subParser("hashBlock")(k,b,c)}),a=a.replace(i,function(a,f){var h=d.subParser("spanGamut")(f,b,c),i=b.noHeaderId?"":' id="'+e(f)+'"',j=g+1,k=""+h+"";return d.subParser("hashBlock")(k,b,c)}),a=a.replace(/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm,function(a,f,h){var i=d.subParser("spanGamut")(h,b,c),j=b.noHeaderId?"":' id="'+e(h)+'"',k=g-1+f.length,l=""+i+"";return d.subParser("hashBlock")(l,b,c)}),a=c.converter._dispatch("headers.after",a,b)}),d.subParser("images",function(a,b,c){"use strict";function e(a,b,e,f,g,h,i,j){var k=c.gUrls,l=c.gTitles,m=c.gDimensions;if(e=e.toLowerCase(),j||(j=""),""===f||null===f){if((""===e||null===e)&&(e=b.toLowerCase().replace(/ ?\n/g," ")),f="#"+e,d.helper.isUndefined(k[e]))return a;f=k[e],d.helper.isUndefined(l[e])||(j=l[e]),d.helper.isUndefined(m[e])||(g=m[e].width,h=m[e].height)}b=b.replace(/"/g,"""),b=d.helper.escapeCharacters(b,"*_",!1),f=d.helper.escapeCharacters(f,"*_",!1);var n=''+b+'?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(['"])(.*?)\6[ \t]*)?\)/g,g=/!\[(.*?)][ ]?(?:\n[ ]*)?\[(.*?)]()()()()()/g;return a=a.replace(g,e),a=a.replace(f,e),a=c.converter._dispatch("images.after",a,b)}),d.subParser("italicsAndBold",function(a,b,c){"use strict";return a=c.converter._dispatch("italicsAndBold.before",a,b),b.literalMidWordUnderscores?(a=a.replace(/(^|\s|>|\b)__(?=\S)([^]+?)__(?=\b|<|\s|$)/gm,"$1$2"),a=a.replace(/(^|\s|>|\b)_(?=\S)([^]+?)_(?=\b|<|\s|$)/gm,"$1$2"),a=a.replace(/(\*\*)(?=\S)([^\r]*?\S[*]*)\1/g,"$2"),a=a.replace(/(\*)(?=\S)([^\r]*?\S)\1/g,"$2")):(a=a.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,"$2"),a=a.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,"$2")),a=c.converter._dispatch("italicsAndBold.after",a,b)}),d.subParser("lists",function(a,b,c){"use strict";function e(a,e){c.gListLevel++,a=a.replace(/\n{2,}$/,"\n"),a+="~0";var f=/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+((\[(x| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,g=/\n[ \t]*\n(?!~0)/.test(a);return a=a.replace(f,function(a,e,f,h,i,j,k){k=k&&""!==k.trim();var l=d.subParser("outdent")(i,b,c),m="";return j&&b.tasklists&&(m=' class="task-list-item" style="list-style-type: none;"',l=l.replace(/^[ \t]*\[(x| )?]/m,function(){var a='-1?(l=d.subParser("githubCodeBlocks")(l,b,c),l=d.subParser("blockGamut")(l,b,c)):(l=d.subParser("lists")(l,b,c),l=l.replace(/\n$/,""),l=g?d.subParser("paragraphs")(l,b,c):d.subParser("spanGamut")(l,b,c)),l="\n"+l+"\n"}),a=a.replace(/~0/g,""),c.gListLevel--,e&&(a=a.replace(/\s+$/,"")),a}function f(a,b,c){var d="ul"===b?/^ {0,2}\d+\.[ \t]/gm:/^ {0,2}[*+-][ \t]/gm,f=[],g="";if(-1!==a.search(d)){!function i(a){var f=a.search(d);-1!==f?(g+="\n\n<"+b+">"+e(a.slice(0,f),!!c)+"\n\n",b="ul"===b?"ol":"ul",d="ul"===b?/^ {0,2}\d+\.[ \t]/gm:/^ {0,2}[*+-][ \t]/gm,i(a.slice(f))):g+="\n\n<"+b+">"+e(a,!!c)+"\n\n"}(a);for(var h=0;h"+e(a,!!c)+"\n\n";return g}a=c.converter._dispatch("lists.before",a,b),a+="~0";var g=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;return c.gListLevel?a=a.replace(g,function(a,b,c){var d=c.search(/[*+-]/g)>-1?"ul":"ol";return f(b,d,!0)}):(g=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,a=a.replace(g,function(a,b,c,d){var e=d.search(/[*+-]/g)>-1?"ul":"ol";return f(c,e)})),a=a.replace(/~0/,""),a=c.converter._dispatch("lists.after",a,b)}),d.subParser("outdent",function(a){"use strict";return a=a.replace(/^(\t|[ ]{1,4})/gm,"~0"),a=a.replace(/~0/g,"")}),d.subParser("paragraphs",function(a,b,c){"use strict";a=c.converter._dispatch("paragraphs.before",a,b),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,"");for(var e=a.split(/\n{2,}/g),f=[],g=e.length,h=0;g>h;h++){var i=e[h];i.search(/~(K|G)(\d+)\1/g)>=0?f.push(i):(i=d.subParser("spanGamut")(i,b,c),i=i.replace(/^([ \t]*)/g,"

"),i+="

",f.push(i))}for(g=f.length,h=0;g>h;h++){for(var j="",k=f[h],l=!1,m=!1;k.search(/~(K|G)(\d+)\1/)>=0;){var n=RegExp.$1,o=RegExp.$2;j="K"===n?c.gHtmlBlocks[o]:m?c.ghCodeBlocks[o].text:c.ghCodeBlocks[o].codeblock,j=j.replace(/\$/g,"$$$$"),k=k.replace(/(\n\n)?~(K|G)\d+\2(\n\n)?/,j),/^]*>\s*]*>/.test(k)&&(m=!0),l=!0}f[h]=k}return a=f.join("\n\n"),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,""),c.converter._dispatch("paragraphs.after",a,b)}),d.subParser("runExtension",function(a,b,c,d){"use strict";if(a.filter)b=a.filter(b,d.converter,c);else if(a.regex){var e=a.regex;!e instanceof RegExp&&(e=new RegExp(e,"g")),b=b.replace(e,a.replace)}return b}),d.subParser("spanGamut",function(a,b,c){"use strict";return a=c.converter._dispatch("spanGamut.before",a,b),a=d.subParser("codeSpans")(a,b,c),a=d.subParser("escapeSpecialCharsWithinTagAttributes")(a,b,c),a=d.subParser("encodeBackslashEscapes")(a,b,c),a=d.subParser("images")(a,b,c),a=d.subParser("anchors")(a,b,c),a=d.subParser("autoLinks")(a,b,c),a=d.subParser("encodeAmpsAndAngles")(a,b,c),a=d.subParser("italicsAndBold")(a,b,c),a=d.subParser("strikethrough")(a,b,c),a=a.replace(/ +\n/g,"
\n"),a=c.converter._dispatch("spanGamut.after",a,b)}),d.subParser("strikethrough",function(a,b,c){"use strict";return b.strikethrough&&(a=c.converter._dispatch("strikethrough.before",a,b),a=a.replace(/(?:~T){2}([\s\S]+?)(?:~T){2}/g,"$1"),a=c.converter._dispatch("strikethrough.after",a,b)),a}),d.subParser("stripBlankLines",function(a){"use strict";return a.replace(/^[ \t]+$/gm,"")}),d.subParser("stripLinkDefinitions",function(a,b,c){"use strict";var e=/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=~0))/gm;return a+="~0",a=a.replace(e,function(a,e,f,g,h,i,j){return e=e.toLowerCase(),c.gUrls[e]=d.subParser("encodeAmpsAndAngles")(f),i?i+j:(j&&(c.gTitles[e]=j.replace(/"|'/g,""")),b.parseImgDimensions&&g&&h&&(c.gDimensions[e]={width:g,height:h}),"")}),a=a.replace(/~0/,"")}),d.subParser("tables",function(a,b,c){"use strict";var e=function(){var a,e={};return e.th=function(a,e){var f="";return a=a.trim(),""===a?"":(b.tableHeaderId&&(f=' id="'+a.replace(/ /g,"_").toLowerCase()+'"'),a=d.subParser("spanGamut")(a,b,c),e=e&&""!==e.trim()?' style="'+e+'"':"",""+a+"")},e.td=function(a,e){var f=d.subParser("spanGamut")(a.trim(),b,c);return e=e&&""!==e.trim()?' style="'+e+'"':"",""+f+""},e.ths=function(){var a="",b=0,c=[].slice.apply(arguments[0]),d=[].slice.apply(arguments[1]);for(b;b\n",a+="\n"},e.tr=function(){var a,b=[].slice.apply(arguments[0]),c=[].slice.apply(arguments[1]);return a="\n",a+=e.tds.apply(this,[b,c]),a+="\n"},a=function(a){var b,c,d=0,f=a.split("\n"),g=[];for(d;d"),c=b.substring(1,b.length-1).split("|"),0===j.length)for(k=0;k");b.trim().match(/^[|].*[|]$/);)b=b.trim(),h.push(e.tr.apply(this,[b.substring(1,b.length-1).split("|"),j])),b=f[++d];h.push(""),h.push(""),g.push(h.join("\n"));continue}b=f[--d]}g.push(b)}return g.join("\n")},{parse:a}};if(b.tables){a=c.converter._dispatch("tables.before",a,b);var f=e();a=f.parse(a),a=c.converter._dispatch("tables.after",a,b)}return a}),d.subParser("unescapeSpecialChars",function(a){"use strict";return a=a.replace(/~E(\d+)E/g,function(a,b){var c=parseInt(b);return String.fromCharCode(c)})});var j=this;"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define(function(){"use strict";return d}):j.showdown=d}).call(this); +(function(){function a(a){"use strict";var b={omitExtraWLInCodeBlocks:{"default":!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{"default":!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{"default":!1,describe:"Specify a prefix to generated header ids",type:"string"},headerLevelStart:{"default":!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{"default":!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{"default":!1,describe:"Turn on/off GFM autolink style",type:"boolean"},literalMidWordUnderscores:{"default":!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},strikethrough:{"default":!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{"default":!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{"default":!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{"default":!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{"default":!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{"default":!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"}};if(a===!1)return JSON.parse(JSON.stringify(b));var c={};for(var d in b)b.hasOwnProperty(d)&&(c[d]=b[d]["default"]);return c}function b(a,b){"use strict";var c=b?"Error in "+b+" extension->":"Error in unnamed extension",e={valid:!0,error:""};d.helper.isArray(a)||(a=[a]);for(var f=0;f-1,l=new RegExp(b+"|"+c,"g"+j.replace(/g/g,"")),m=new RegExp(b,j.replace(/g/g,"")),n=[];do for(e=0;g=l.exec(a);)if(m.test(g[0]))e++||(f=l.lastIndex,h=f-g[0].length);else if(e&&!--e){i=g.index+g[0].length;var o={left:{start:h,end:f},match:{start:f,end:g.index},right:{start:g.index,end:i},wholeMatch:{start:h,end:i}};if(n.push(o),!k)return n}while(e&&(l.lastIndex=f));return n};d.helper.matchRecursiveRegExp=function(a,b,c,d){"use strict";for(var e=i(a,b,c,d),f=[],g=0;g0){var l=[];0!==h[0].wholeMatch.start&&l.push(a.slice(0,h[0].wholeMatch.start));for(var m=0;k>m;++m)l.push(b(a.slice(h[m].wholeMatch.start,h[m].wholeMatch.end),a.slice(h[m].match.start,h[m].match.end),a.slice(h[m].left.start,h[m].left.end),a.slice(h[m].right.start,h[m].right.end))),k-1>m&&l.push(a.slice(h[m].wholeMatch.end,h[m+1].wholeMatch.start));h[k-1].wholeMatch.end-1))return a;m=""}else m=c.gUrls[l],d.helper.isUndefined(c.gTitles[l])||(n=c.gTitles[l]);m=d.helper.escapeCharacters(m,"*_",!1);var o='"};return a=a.replace(/(\[((?:\[[^\]]*]|[^\[\]])*)][ ]?(?:\n[ ]*)?\[(.*?)])()()()()/g,e),a=a.replace(/(\[((?:\[[^\]]*]|[^\[\]])*)]\([ \t]*()?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,e),a=a.replace(/(\[([^\[\]]+)])()()()()()/g,e),a=c.converter._dispatch("anchors.after",a,b)}),d.subParser("autoLinks",function(a,b,c){"use strict";function e(a,b){var c=d.subParser("unescapeSpecialChars")(b);return d.subParser("encodeEmailAddress")(c)}a=c.converter._dispatch("autoLinks.before",a,b);var f=/\b(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+)(?=\s|$)(?!["<>])/gi,g=/<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)>/gi,h=/(?:^|[ \n\t])([A-Za-z0-9!#$%&'*+-/=?^_`\{|}~\.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?:$|[ \n\t])/gi,i=/<(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi;return a=a.replace(g,'$1'),a=a.replace(i,e),b.simplifiedAutoLink&&(a=a.replace(f,'$1'),a=a.replace(h,e)),a=c.converter._dispatch("autoLinks.after",a,b)}),d.subParser("blockGamut",function(a,b,c){"use strict";a=c.converter._dispatch("blockGamut.before",a,b),a=d.subParser("blockQuotes")(a,b,c),a=d.subParser("headers")(a,b,c);var e=d.subParser("hashBlock")("
",b,c);return a=a.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,e),a=a.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,e),a=a.replace(/^[ ]{0,2}([ ]?_[ ]?){3,}[ \t]*$/gm,e),a=d.subParser("lists")(a,b,c),a=d.subParser("codeBlocks")(a,b,c),a=d.subParser("tables")(a,b,c),a=d.subParser("hashHTMLBlocks")(a,b,c),a=d.subParser("paragraphs")(a,b,c),a=c.converter._dispatch("blockGamut.after",a,b)}),d.subParser("blockQuotes",function(a,b,c){"use strict";return a=c.converter._dispatch("blockQuotes.before",a,b),a=a.replace(/((^[ \t]{0,3}>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(a,e){var f=e;return f=f.replace(/^[ \t]*>[ \t]?/gm,"~0"),f=f.replace(/~0/g,""),f=f.replace(/^[ \t]+$/gm,""),f=d.subParser("githubCodeBlocks")(f,b,c),f=d.subParser("blockGamut")(f,b,c),f=f.replace(/(^|\n)/g,"$1 "),f=f.replace(/(\s*
[^\r]+?<\/pre>)/gm,function(a,b){var c=b;return c=c.replace(/^  /gm,"~0"),c=c.replace(/~0/g,"")}),d.subParser("hashBlock")("
\n"+f+"\n
",b,c)}),a=c.converter._dispatch("blockQuotes.after",a,b)}),d.subParser("codeBlocks",function(a,b,c){"use strict";a=c.converter._dispatch("codeBlocks.before",a,b),a+="~0";var e=/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g;return a=a.replace(e,function(a,e,f){var g=e,h=f,i="\n";return g=d.subParser("outdent")(g),g=d.subParser("encodeCode")(g),g=d.subParser("detab")(g),g=g.replace(/^\n+/g,""),g=g.replace(/\n+$/g,""),b.omitExtraWLInCodeBlocks&&(i=""),g="
"+g+i+"
",d.subParser("hashBlock")(g,b,c)+h}),a=a.replace(/~0/,""),a=c.converter._dispatch("codeBlocks.after",a,b)}),d.subParser("codeSpans",function(a,b,c){"use strict";return a=c.converter._dispatch("codeSpans.before",a,b),a=a.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(a,b,c,e){var f=e;return f=f.replace(/^([ \t]*)/g,""),f=f.replace(/[ \t]*$/g,""),f=d.subParser("encodeCode")(f),b+""+f+""}),a=c.converter._dispatch("codeSpans.after",a,b)}),d.subParser("detab",function(a){"use strict";return a=a.replace(/\t(?=\t)/g," "),a=a.replace(/\t/g,"~A~B"),a=a.replace(/~B(.+?)~A/g,function(a,b){for(var c=b,d=4-c.length%4,e=0;d>e;e++)c+=" ";return c}),a=a.replace(/~A/g," "),a=a.replace(/~B/g,"")}),d.subParser("encodeAmpsAndAngles",function(a){"use strict";return a=a.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),a=a.replace(/<(?![a-z\/?\$!])/gi,"<")}),d.subParser("encodeBackslashEscapes",function(a){"use strict";return a=a.replace(/\\(\\)/g,d.helper.escapeCharactersCallback),a=a.replace(/\\([`*_{}\[\]()>#+-.!])/g,d.helper.escapeCharactersCallback)}),d.subParser("encodeCode",function(a){"use strict";return a=a.replace(/&/g,"&"),a=a.replace(//g,">"),a=d.helper.escapeCharacters(a,"*_{}[]\\",!1)}),d.subParser("encodeEmailAddress",function(a){"use strict";var b=[function(a){return"&#"+a.charCodeAt(0)+";"},function(a){return"&#x"+a.charCodeAt(0).toString(16)+";"},function(a){return a}];return a="mailto:"+a,a=a.replace(/./g,function(a){if("@"===a)a=b[Math.floor(2*Math.random())](a);else if(":"!==a){var c=Math.random();a=c>.9?b[2](a):c>.45?b[1](a):b[0](a)}return a}),a=''+a+"",a=a.replace(/">.+:/g,'">')}),d.subParser("escapeSpecialCharsWithinTagAttributes",function(a){"use strict";var b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|)/gi;return a=a.replace(b,function(a){var b=a.replace(/(.)<\/?code>(?=.)/g,"$1`");return b=d.helper.escapeCharacters(b,"\\`*_",!1)})}),d.subParser("githubCodeBlocks",function(a,b,c){"use strict";return b.ghCodeBlocks?(a=c.converter._dispatch("githubCodeBlocks.before",a,b),a+="~0",a=a.replace(/(?:^|\n)```(.*)\n([\s\S]*?)\n```/g,function(a,e,f){var g=b.omitExtraWLInCodeBlocks?"":"\n";return f=d.subParser("encodeCode")(f),f=d.subParser("detab")(f),f=f.replace(/^\n+/g,""),f=f.replace(/\n+$/g,""),f="
"+f+g+"
",f=d.subParser("hashBlock")(f,b,c),"\n\n~G"+(c.ghCodeBlocks.push({text:a,codeblock:f})-1)+"G\n\n"}),a=a.replace(/~0/,""),c.converter._dispatch("githubCodeBlocks.after",a,b)):a}),d.subParser("hashBlock",function(a,b,c){"use strict";return a=a.replace(/(^\n+|\n+$)/g,""),"\n\n~K"+(c.gHtmlBlocks.push(a)-1)+"K\n\n"}),d.subParser("hashElement",function(a,b,c){"use strict";return function(a,b){var d=b;return d=d.replace(/\n\n/g,"\n"),d=d.replace(/^\n/,""),d=d.replace(/\n+$/g,""),d="\n\n~K"+(c.gHtmlBlocks.push(d)-1)+"K\n\n"}}),d.subParser("hashHTMLBlocks",function(a,b,c){"use strict";for(var e=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],f=function(a,b,d,e){var f=a;return-1!==d.search(/\bmarkdown\b/)&&(f=d+c.converter.makeHtml(b)+e),"\n\n~K"+(c.gHtmlBlocks.push(f)-1)+"K\n\n"},g=0;g]*>","","gim");return a=a.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,d.subParser("hashElement")(a,b,c)),a=a.replace(/([ \t]*(?=\n{2,}))/g,d.subParser("hashElement")(a,b,c)),a=a.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,d.subParser("hashElement")(a,b,c))}),d.subParser("hashHTMLSpans",function(a,b,c){"use strict";for(var e=d.helper.matchRecursiveRegExp(a,"]*>","","gi"),f=0;f]*>\\s*]*>","^(?: |\\t){0,3}\\s*
","gim")}),d.subParser("headers",function(a,b,c){"use strict";function e(a){var b,e=a.replace(/[^\w]/g,"").toLowerCase();return c.hashLinkCounts[e]?b=e+"-"+c.hashLinkCounts[e]++:(b=e,c.hashLinkCounts[e]=1),f===!0&&(f="section"),d.helper.isString(f)?f+b:b}a=c.converter._dispatch("headers.before",a,b);var f=b.prefixHeaderId,g=isNaN(parseInt(b.headerLevelStart))?1:parseInt(b.headerLevelStart),h=b.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,i=b.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;return a=a.replace(h,function(a,f){var h=d.subParser("spanGamut")(f,b,c),i=b.noHeaderId?"":' id="'+e(f)+'"',j=g,k=""+h+"";return d.subParser("hashBlock")(k,b,c)}),a=a.replace(i,function(a,f){var h=d.subParser("spanGamut")(f,b,c),i=b.noHeaderId?"":' id="'+e(f)+'"',j=g+1,k=""+h+"";return d.subParser("hashBlock")(k,b,c)}),a=a.replace(/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm,function(a,f,h){var i=d.subParser("spanGamut")(h,b,c),j=b.noHeaderId?"":' id="'+e(h)+'"',k=g-1+f.length,l=""+i+"";return d.subParser("hashBlock")(l,b,c)}),a=c.converter._dispatch("headers.after",a,b)}),d.subParser("images",function(a,b,c){"use strict";function e(a,b,e,f,g,h,i,j){var k=c.gUrls,l=c.gTitles,m=c.gDimensions;if(e=e.toLowerCase(),j||(j=""),""===f||null===f){if((""===e||null===e)&&(e=b.toLowerCase().replace(/ ?\n/g," ")),f="#"+e,d.helper.isUndefined(k[e]))return a;f=k[e],d.helper.isUndefined(l[e])||(j=l[e]),d.helper.isUndefined(m[e])||(g=m[e].width,h=m[e].height)}b=b.replace(/"/g,"""),b=d.helper.escapeCharacters(b,"*_",!1),f=d.helper.escapeCharacters(f,"*_",!1);var n=''+b+'?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(['"])(.*?)\6[ \t]*)?\)/g,g=/!\[(.*?)][ ]?(?:\n[ ]*)?\[(.*?)]()()()()()/g;return a=a.replace(g,e),a=a.replace(f,e),a=c.converter._dispatch("images.after",a,b)}),d.subParser("italicsAndBold",function(a,b,c){"use strict";return a=c.converter._dispatch("italicsAndBold.before",a,b),b.literalMidWordUnderscores?(a=a.replace(/(^|\s|>|\b)__(?=\S)([^]+?)__(?=\b|<|\s|$)/gm,"$1$2"),a=a.replace(/(^|\s|>|\b)_(?=\S)([^]+?)_(?=\b|<|\s|$)/gm,"$1$2"),a=a.replace(/(\*\*)(?=\S)([^\r]*?\S[*]*)\1/g,"$2"),a=a.replace(/(\*)(?=\S)([^\r]*?\S)\1/g,"$2")):(a=a.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,"$2"),a=a.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,"$2")),a=c.converter._dispatch("italicsAndBold.after",a,b)}),d.subParser("lists",function(a,b,c){"use strict";function e(a,e){c.gListLevel++,a=a.replace(/\n{2,}$/,"\n"),a+="~0";var f=/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+((\[(x| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,g=/\n[ \t]*\n(?!~0)/.test(a);return a=a.replace(f,function(a,e,f,h,i,j,k){k=k&&""!==k.trim();var l=d.subParser("outdent")(i,b,c),m="";return j&&b.tasklists&&(m=' class="task-list-item" style="list-style-type: none;"',l=l.replace(/^[ \t]*\[(x| )?]/m,function(){var a='-1?(l=d.subParser("githubCodeBlocks")(l,b,c),l=d.subParser("blockGamut")(l,b,c)):(l=d.subParser("lists")(l,b,c),l=l.replace(/\n$/,""),l=g?d.subParser("paragraphs")(l,b,c):d.subParser("spanGamut")(l,b,c)),l="\n"+l+"\n"}),a=a.replace(/~0/g,""),c.gListLevel--,e&&(a=a.replace(/\s+$/,"")),a}function f(a,b,c){var d="ul"===b?/^ {0,2}\d+\.[ \t]/gm:/^ {0,2}[*+-][ \t]/gm,f=[],g="";if(-1!==a.search(d)){!function i(a){var f=a.search(d);-1!==f?(g+="\n\n<"+b+">"+e(a.slice(0,f),!!c)+"\n\n",b="ul"===b?"ol":"ul",d="ul"===b?/^ {0,2}\d+\.[ \t]/gm:/^ {0,2}[*+-][ \t]/gm,i(a.slice(f))):g+="\n\n<"+b+">"+e(a,!!c)+"\n\n"}(a);for(var h=0;h"+e(a,!!c)+"\n\n";return g}a=c.converter._dispatch("lists.before",a,b),a+="~0";var g=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;return c.gListLevel?a=a.replace(g,function(a,b,c){var d=c.search(/[*+-]/g)>-1?"ul":"ol";return f(b,d,!0)}):(g=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,a=a.replace(g,function(a,b,c,d){var e=d.search(/[*+-]/g)>-1?"ul":"ol";return f(c,e)})),a=a.replace(/~0/,""),a=c.converter._dispatch("lists.after",a,b)}),d.subParser("outdent",function(a){"use strict";return a=a.replace(/^(\t|[ ]{1,4})/gm,"~0"),a=a.replace(/~0/g,"")}),d.subParser("paragraphs",function(a,b,c){"use strict";a=c.converter._dispatch("paragraphs.before",a,b),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,"");for(var e=a.split(/\n{2,}/g),f=[],g=e.length,h=0;g>h;h++){var i=e[h];i.search(/~(K|G)(\d+)\1/g)>=0?f.push(i):(i=d.subParser("spanGamut")(i,b,c),i=i.replace(/^([ \t]*)/g,"

"),i+="

",f.push(i))}for(g=f.length,h=0;g>h;h++){for(var j="",k=f[h],l=!1;k.search(/~(K|G)(\d+)\1/)>=0;){var m=RegExp.$1,n=RegExp.$2;j="K"===m?c.gHtmlBlocks[n]:l?d.subParser("encodeCode")(c.ghCodeBlocks[n].text):c.ghCodeBlocks[n].codeblock,j=j.replace(/\$/g,"$$$$"),k=k.replace(/(\n\n)?~(K|G)\d+\2(\n\n)?/,j),/^]*>\s*]*>/.test(k)&&(l=!0)}f[h]=k}return a=f.join("\n\n"),a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,""),c.converter._dispatch("paragraphs.after",a,b)}),d.subParser("runExtension",function(a,b,c,d){"use strict";if(a.filter)b=a.filter(b,d.converter,c);else if(a.regex){var e=a.regex;!e instanceof RegExp&&(e=new RegExp(e,"g")),b=b.replace(e,a.replace)}return b}),d.subParser("spanGamut",function(a,b,c){"use strict";return a=c.converter._dispatch("spanGamut.before",a,b),a=d.subParser("codeSpans")(a,b,c),a=d.subParser("escapeSpecialCharsWithinTagAttributes")(a,b,c),a=d.subParser("encodeBackslashEscapes")(a,b,c),a=d.subParser("images")(a,b,c),a=d.subParser("anchors")(a,b,c),a=d.subParser("autoLinks")(a,b,c),a=d.subParser("encodeAmpsAndAngles")(a,b,c),a=d.subParser("italicsAndBold")(a,b,c),a=d.subParser("strikethrough")(a,b,c),a=a.replace(/ +\n/g,"
\n"),a=c.converter._dispatch("spanGamut.after",a,b)}),d.subParser("strikethrough",function(a,b,c){"use strict";return b.strikethrough&&(a=c.converter._dispatch("strikethrough.before",a,b),a=a.replace(/(?:~T){2}([\s\S]+?)(?:~T){2}/g,"$1"),a=c.converter._dispatch("strikethrough.after",a,b)),a}),d.subParser("stripBlankLines",function(a){"use strict";return a.replace(/^[ \t]+$/gm,"")}),d.subParser("stripLinkDefinitions",function(a,b,c){"use strict";var e=/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=~0))/gm;return a+="~0",a=a.replace(e,function(a,e,f,g,h,i,j){return e=e.toLowerCase(),c.gUrls[e]=d.subParser("encodeAmpsAndAngles")(f),i?i+j:(j&&(c.gTitles[e]=j.replace(/"|'/g,""")),b.parseImgDimensions&&g&&h&&(c.gDimensions[e]={width:g,height:h}),"")}),a=a.replace(/~0/,"")}),d.subParser("tables",function(a,b,c){"use strict";var e=function(){var a,e={};return e.th=function(a,e){var f="";return a=a.trim(),""===a?"":(b.tableHeaderId&&(f=' id="'+a.replace(/ /g,"_").toLowerCase()+'"'),a=d.subParser("spanGamut")(a,b,c),e=e&&""!==e.trim()?' style="'+e+'"':"",""+a+"")},e.td=function(a,e){var f=d.subParser("spanGamut")(a.trim(),b,c);return e=e&&""!==e.trim()?' style="'+e+'"':"",""+f+""},e.ths=function(){var a="",b=0,c=[].slice.apply(arguments[0]),d=[].slice.apply(arguments[1]);for(b;b\n",a+="\n"},e.tr=function(){var a,b=[].slice.apply(arguments[0]),c=[].slice.apply(arguments[1]);return a="\n",a+=e.tds.apply(this,[b,c]),a+="\n"},a=function(a){var b,c,d=0,f=a.split("\n"),g=[];for(d;d"),c=b.substring(1,b.length-1).split("|"),0===j.length)for(k=0;k");b.trim().match(/^[|].*[|]$/);)b=b.trim(),h.push(e.tr.apply(this,[b.substring(1,b.length-1).split("|"),j])),b=f[++d];h.push(""),h.push(""),g.push(h.join("\n"));continue}b=f[--d]}g.push(b)}return g.join("\n")},{parse:a}};if(b.tables){a=c.converter._dispatch("tables.before",a,b);var f=e();a=f.parse(a),a=c.converter._dispatch("tables.after",a,b)}return a}),d.subParser("unescapeSpecialChars",function(a){"use strict";return a=a.replace(/~E(\d+)E/g,function(a,b){var c=parseInt(b);return String.fromCharCode(c)})});var j=this;"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define(function(){"use strict";return d}):j.showdown=d}).call(this); //# sourceMappingURL=showdown.min.js.map diff --git a/dist/showdown.min.js.map b/dist/showdown.min.js.map index d3e6f24e..6482e8cb 100644 --- a/dist/showdown.min.js.map +++ b/dist/showdown.min.js.map @@ -1 +1 @@ -{"version":3,"file":"showdown.min.js","sources":["showdown.js"],"names":["getDefaultOpts","simple","defaultOptions","omitExtraWLInCodeBlocks","default","describe","type","noHeaderId","prefixHeaderId","headerLevelStart","parseImgDimensions","simplifiedAutoLink","literalMidWordUnderscores","strikethrough","tables","tablesHeaderId","ghCodeBlocks","tasklists","smoothLivePreview","JSON","parse","stringify","ret","opt","hasOwnProperty","validate","extension","name","errMsg","valid","error","showdown","helper","isArray","i","length","baseMsg","ext","isString","toLowerCase","isUndefined","listeners","filter","regex","ln","RegExp","replace","escapeCharactersCallback","wholeMatch","m1","charCodeToEscape","charCodeAt","parsers","extensions","globalOptions","flavor","github","vanilla","setOption","key","value","this","getOption","getOptions","resetOptions","setFlavor","preset","option","getDefaultOptions","subParser","func","Error","stdExtName","validExtension","getAllExtensions","removeExtension","resetExtensions","validateExtension","console","warn","a","String","isFunction","getType","toString","call","forEach","obj","callback","constructor","Array","s","escapeCharacters","text","charsToEscape","afterBackslash","regexString","rgxFindMatchPos","str","left","right","flags","t","m","start","end","f","g","indexOf","x","l","pos","exec","test","lastIndex","index","match","push","matchRecursiveRegExp","matchPos","results","slice","replaceRecursiveRegExp","replacement","repStr","finalStr","lng","bits","join","msg","alert","log","Converter","converterOptions","_constructor","gOpt","options","_parseExtension","legacyExtensionLoading","validExt","langExtensions","outputModifiers","listen","_dispatch","evtName","ei","nText","makeHtml","globals","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","addExtension","useExtension","extensionName","splice","ii","language","output","writeAnchorTag","m2","m3","m4","m5","m6","m7","linkText","linkId","url","title","search","result","replaceMail","unescapedStr","simpleURLRegex","delimUrlRegex","simpleMailRegex","delimMailRegex","bq","pre","pattern","codeblock","nextChar","c","leadingText","numSpaces","addr","encode","ch","Math","floor","random","r","tag","blockText","blockTags","repFunc","txt","config","matches","headerId","escapedId","prefixHeader","isNaN","parseInt","setextRegexH1","setextRegexH2","spanGamut","hID","hLevel","hashBlock","matchFound","span","header","writeImageTag","altText","width","height","gDims","inlineRegExp","referenceRegExp","processListItems","listStr","trimTrailing","rgx","isParagraphed","taskbtn","checked","trim","item","bulletStyle","otp","parseConsecutiveLists","list","listType","counterRxg","subLists","parseCL","wholeList","grafs","split","grafsOut","grafsOutIt","child","codeFlag","delim","$1","num","$2","re","blankLines","table","th","style","id","tableHeaderId","td","cell","subText","ths","out","hs","apply","arguments","tds","ds","thead","tr","cs","line","lines","tbl","align","styles","j","substring","tableParser","charCodeToReplace","fromCharCode","root","module","exports","define","amd"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"showdown.min.js","sources":["showdown.js"],"names":["getDefaultOpts","simple","defaultOptions","omitExtraWLInCodeBlocks","default","describe","type","noHeaderId","prefixHeaderId","headerLevelStart","parseImgDimensions","simplifiedAutoLink","literalMidWordUnderscores","strikethrough","tables","tablesHeaderId","ghCodeBlocks","tasklists","smoothLivePreview","JSON","parse","stringify","ret","opt","hasOwnProperty","validate","extension","name","errMsg","valid","error","showdown","helper","isArray","i","length","baseMsg","ext","isString","toLowerCase","isUndefined","listeners","filter","regex","ln","RegExp","replace","escapeCharactersCallback","wholeMatch","m1","charCodeToEscape","charCodeAt","parsers","extensions","globalOptions","flavor","github","vanilla","setOption","key","value","this","getOption","getOptions","resetOptions","setFlavor","preset","option","getDefaultOptions","subParser","func","Error","stdExtName","validExtension","getAllExtensions","removeExtension","resetExtensions","validateExtension","console","warn","a","String","isFunction","getType","toString","call","forEach","obj","callback","constructor","Array","s","escapeCharacters","text","charsToEscape","afterBackslash","regexString","rgxFindMatchPos","str","left","right","flags","t","m","start","end","f","g","indexOf","x","l","pos","exec","test","lastIndex","index","match","push","matchRecursiveRegExp","matchPos","results","slice","replaceRecursiveRegExp","replacement","repStr","finalStr","lng","bits","join","msg","alert","log","Converter","converterOptions","_constructor","gOpt","options","_parseExtension","legacyExtensionLoading","validExt","langExtensions","outputModifiers","listen","_dispatch","evtName","ei","nText","makeHtml","globals","gHtmlBlocks","gHtmlMdBlocks","gHtmlSpans","gUrls","gTitles","gDimensions","gListLevel","hashLinkCounts","converter","addExtension","useExtension","extensionName","splice","ii","language","output","writeAnchorTag","m2","m3","m4","m5","m6","m7","linkText","linkId","url","title","search","result","replaceMail","unescapedStr","simpleURLRegex","delimUrlRegex","simpleMailRegex","delimMailRegex","bq","pre","pattern","codeblock","nextChar","c","leadingText","numSpaces","addr","encode","ch","Math","floor","random","r","tag","blockText","blockTags","repFunc","txt","config","matches","headerId","escapedId","prefixHeader","isNaN","parseInt","setextRegexH1","setextRegexH2","spanGamut","hID","hLevel","hashBlock","matchFound","span","header","writeImageTag","altText","width","height","gDims","inlineRegExp","referenceRegExp","processListItems","listStr","trimTrailing","rgx","isParagraphed","taskbtn","checked","trim","item","bulletStyle","otp","parseConsecutiveLists","list","listType","counterRxg","subLists","parseCL","wholeList","grafs","split","grafsOut","grafsOutIt","codeFlag","delim","$1","num","$2","re","blankLines","table","th","style","id","tableHeaderId","td","cell","subText","ths","out","hs","apply","arguments","tds","ds","thead","tr","cs","line","lines","tbl","align","styles","j","substring","tableParser","charCodeToReplace","fromCharCode","root","module","exports","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/src/converter.js b/src/converter.js index 57d0a231..1213a6d7 100644 --- a/src/converter.js +++ b/src/converter.js @@ -276,6 +276,7 @@ showdown.Converter = function (converterOptions) { }); // run the sub parsers + text = showdown.subParser('hashPreCodeTags')(text, options, globals); text = showdown.subParser('githubCodeBlocks')(text, options, globals); text = showdown.subParser('hashHTMLBlocks')(text, options, globals); text = showdown.subParser('hashHTMLSpans')(text, options, globals); diff --git a/src/subParsers/hashPreCodeTags.js b/src/subParsers/hashPreCodeTags.js new file mode 100644 index 00000000..8315d955 --- /dev/null +++ b/src/subParsers/hashPreCodeTags.js @@ -0,0 +1,15 @@ +/** + * Hash span elements that should not be parsed as markdown + */ +showdown.subParser('hashPreCodeTags', function (text, config, globals) { + 'use strict'; + + var repFunc = function (wholeMatch, match, left, right) { + // encode html entities + var codeblock = left + showdown.subParser('encodeCode')(match) + right; + return '\n\n~G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\n\n'; + }; + + text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^(?: |\\t){0,3}]*>\\s*]*>', '^(?: |\\t){0,3}\\s*
', 'gim'); + return text; +}); diff --git a/src/subParsers/paragraphs.js b/src/subParsers/paragraphs.js index 7f19c38f..b5673dfb 100644 --- a/src/subParsers/paragraphs.js +++ b/src/subParsers/paragraphs.js @@ -31,7 +31,6 @@ showdown.subParser('paragraphs', function (text, options, globals) { for (i = 0; i < end; i++) { var blockText = '', grafsOutIt = grafsOut[i], - child = false, codeFlag = false; // if this is a marker for an html block... while (grafsOutIt.search(/~(K|G)(\d+)\1/) >= 0) { @@ -42,7 +41,12 @@ showdown.subParser('paragraphs', function (text, options, globals) { blockText = globals.gHtmlBlocks[num]; } else { // we need to check if ghBlock is a false positive - blockText = (codeFlag) ? globals.ghCodeBlocks[num].text : globals.ghCodeBlocks[num].codeblock; + if (codeFlag) { + // use encoded version of all text + blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text); + } else { + blockText = globals.ghCodeBlocks[num].codeblock; + } } blockText = blockText.replace(/\$/g, '$$$$'); // Escape any dollar signs @@ -51,7 +55,6 @@ showdown.subParser('paragraphs', function (text, options, globals) { if (/^]*>\s*]*>/.test(grafsOutIt)) { codeFlag = true; } - child = true; } grafsOut[i] = grafsOutIt; } diff --git a/test/cases/pre-code-tags-inside-code-block.html b/test/cases/pre-code-tags-inside-code-block.html new file mode 100644 index 00000000..66544da7 --- /dev/null +++ b/test/cases/pre-code-tags-inside-code-block.html @@ -0,0 +1,7 @@ +

code inception

+ +
<pre><code>
+<div>some html code inside code html tags inside a fenced code block</div>
+</code></pre>
+
+ diff --git a/test/cases/pre-code-tags-inside-code-block.md b/test/cases/pre-code-tags-inside-code-block.md new file mode 100644 index 00000000..79b57f2b --- /dev/null +++ b/test/cases/pre-code-tags-inside-code-block.md @@ -0,0 +1,8 @@ +code inception + +``` +

+
some html code inside code html tags inside a fenced code block
+
+``` + diff --git a/test/cases/pre-code-tags.html b/test/cases/pre-code-tags.html new file mode 100644 index 00000000..573b3887 --- /dev/null +++ b/test/cases/pre-code-tags.html @@ -0,0 +1,16 @@ +
+
+foobar
+
+
+ +

blabla

+ +

+foobar
+
+
+ +

+<div>some html code</div>
+
diff --git a/test/cases/pre-code-tags.md b/test/cases/pre-code-tags.md new file mode 100644 index 00000000..ab1d5431 --- /dev/null +++ b/test/cases/pre-code-tags.md @@ -0,0 +1,17 @@ +
+
+foobar
+
+
+ +blabla + +

+foobar
+
+
+ +

+
some html code
+
+ diff --git a/test/issues/#229.2.code-being-parsed-inside-HTML-code-tags.html b/test/issues/#229.2.code-being-parsed-inside-HTML-code-tags.html index 4f53c724..dff2c46c 100644 --- a/test/issues/#229.2.code-being-parsed-inside-HTML-code-tags.html +++ b/test/issues/#229.2.code-being-parsed-inside-HTML-code-tags.html @@ -1,12 +1,12 @@

-    foo
+foo
 
-    ```javascript
-    var s = "JavaScript syntax highlighting";
-    alert(s);
-    ```
+```javascript
+var s = "JavaScript syntax highlighting";
+alert(s);
+```
 
-    bar
+bar
 

this is a long paragraph

diff --git a/test/issues/#229.code-being-parsed-inside-HTML-code-tags.html b/test/issues/#229.code-being-parsed-inside-HTML-code-tags.html index 5a148cef..deba3d4d 100644 --- a/test/issues/#229.code-being-parsed-inside-HTML-code-tags.html +++ b/test/issues/#229.code-being-parsed-inside-HTML-code-tags.html @@ -11,6 +11,6 @@ ``` No language indicated, so no syntax highlighting. -But let's throw in a tag. +But let's throw in a <b>tag</b>. ```
diff --git a/test/issues/#230.paragraphs-are-ignored-between-code-tags.html b/test/issues/#230.paragraphs-are-ignored-between-code-tags.html new file mode 100644 index 00000000..1f2492a3 --- /dev/null +++ b/test/issues/#230.paragraphs-are-ignored-between-code-tags.html @@ -0,0 +1,12 @@ +
```python
+var s;
+```
+
+ +

this is a long paragraph

+ +

+```javascript
+var s;
+```
+
diff --git a/test/issues/#230.paragraphs-are-ignored-between-code-tags.md b/test/issues/#230.paragraphs-are-ignored-between-code-tags.md new file mode 100644 index 00000000..9362a18d --- /dev/null +++ b/test/issues/#230.paragraphs-are-ignored-between-code-tags.md @@ -0,0 +1,12 @@ +
```python
+var s;
+```
+
+ +this is a long paragraph + +

+```javascript
+var s;
+```
+