{"version":3,"file":"badger-website.umd.cjs","sources":["../node_modules/.pnpm/@abw+badger-react-ui@1.3.13_react-dom@18.3.1_react@18.3.1/node_modules/@abw/badger-react-ui/dist/badger-react-ui.js","../node_modules/.pnpm/@abw+badger-utils@1.2.4/node_modules/@abw/badger-utils/dist/badger-utils.js","../src/constants/Code.jsx","../src/code/Error.jsx","../src/code/Loading.jsx","../node_modules/.pnpm/@shikijs+types@1.26.1/node_modules/@shikijs/types/dist/index.mjs","../node_modules/.pnpm/@shikijs+engine-oniguruma@1.26.1/node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../node_modules/.pnpm/@shikijs+vscode-textmate@10.0.1/node_modules/@shikijs/vscode-textmate/dist/index.js","../node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/schema.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/merge.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/normalize.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/info.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/types.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/defined-info.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/create.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/xlink.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/xml.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/xmlns.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/aria.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/html.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/svg.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/lib/find.js","../node_modules/.pnpm/property-information@6.5.0/node_modules/property-information/index.js","../node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js","../node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js","../node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js","../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/comment.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/doctype.js","../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js","../node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js","../node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js","../node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/omission/omission.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/omission/closing.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/omission/opening.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/element.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/text.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/raw.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/root.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/handle/index.js","../node_modules/.pnpm/hast-util-to-html@9.0.4/node_modules/hast-util-to-html/lib/index.js","../node_modules/.pnpm/@shikijs+core@1.26.1/node_modules/@shikijs/core/dist/index.mjs","../node_modules/.pnpm/@shikijs+transformers@1.26.1/node_modules/@shikijs/transformers/dist/index.mjs","../src/code/Utils.jsx","../node_modules/.pnpm/@shikijs+engine-oniguruma@1.26.1/node_modules/@shikijs/engine-oniguruma/dist/wasm-inlined.mjs","../src/code/SourceCode.jsx","../src/content/Split.jsx","../src/code/SourceOutput.jsx","../node_modules/.pnpm/@abw+react-context@3.0.0_react-dom@18.3.1_react@18.3.1/node_modules/@abw/react-context/dist/react-context.js","../node_modules/.pnpm/@abw+react-night-and-day@1.0.0_react-dom@18.3.1_react@18.3.1/node_modules/@abw/react-night-and-day/dist/react-night-and-day.js","../node_modules/.pnpm/@abw+badger-timestamp@1.2.1/node_modules/@abw/badger-timestamp/dist/badger-timestamp.js","../src/utils/Code.jsx","../src/site/Context.jsx","../src/code/LoadExample.jsx","../src/code/Example.jsx","../src/code/Source.jsx","../src/code/Snippet.jsx","../src/constants/Pages.jsx","../src/constants/Sidebar.jsx","../src/ui/Link/External.jsx","../node_modules/.pnpm/@remix-run+router@1.16.0/node_modules/@remix-run/router/dist/router.js","../node_modules/.pnpm/react-router@6.23.0_react@18.3.1/node_modules/react-router/dist/index.js","../node_modules/.pnpm/react-router-dom@6.23.0_react-dom@18.3.1_react@18.3.1/node_modules/react-router-dom/dist/index.js","../src/ui/Link/Internal.jsx","../src/ui/Link.jsx","../src/content/Author.jsx","../src/content/BadgerPower.jsx","../src/content/BadgerPowered.jsx","../src/content/Copyright.jsx","../src/content/Release.jsx","../src/content/Footer.jsx","../src/content/Repository.jsx","../src/content/Header.jsx","../src/utils/Coerce.jsx","../src/content/Hero.jsx","../web/svg/oss.svg?react","../src/content/OSSLogo.jsx","../src/content/PeopleWhoShare.jsx","../src/mdx/Pre.jsx","../src/page/Context.jsx","../src/utils/Misc.jsx","../src/toc/useToc.jsx","../src/utils/Scroll.jsx","../src/page/Heading.jsx","../src/mdx/Utils.jsx","../src/mdx/H2.jsx","../src/page/SubHeading.jsx","../src/mdx/index.jsx","../src/mdx/H3.jsx","../src/page/Title.jsx","../src/utils/Markup.jsx","../src/page/Intro.jsx","../src/page/PrevNextLink.jsx","../src/page/PrevNext.jsx","../src/page/PrevNextArrows.jsx","../src/page/Page.jsx","../src/page/Section.jsx","../src/page/SubSection.jsx","../src/toc/Click.jsx","../src/toc/Title.jsx","../src/toc/Link.jsx","../src/toc/Menu.jsx","../src/page/Toc.jsx","../src/sidebar/Title.jsx","../src/sidebar/MenuSection.jsx","../src/sidebar/Toc.jsx","../src/sidebar/MenuItem.jsx","../src/sidebar/Menu.jsx","../src/sidebar/Details.jsx","../src/sidebar/Section.jsx","../src/sidebar/Sections.jsx","../src/site/Sidebar.jsx","../src/site/Layout.jsx","../src/router/Utils.jsx","../src/router/Router.jsx","../src/site/Theme.jsx","../node_modules/.pnpm/@mdx-js+react@3.0.1_@types+react@19.0.10_react@18.3.1/node_modules/@mdx-js/react/lib/index.js","../src/site/Provider.jsx","../src/ui/Loading.jsx","../src/ui/PropsTable.jsx","../src/utils/Filter.jsx","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/javascript.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/css.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/html.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/scss.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/json.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/typescript.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/shellscript.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/jsx.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/tsx.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/yaml.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/markdown.mjs","../node_modules/.pnpm/@shikijs+langs@1.26.1/node_modules/@shikijs/langs/dist/mdx.mjs"],"sourcesContent":["var sc = Object.defineProperty;\nvar rc = (e, t, n) => t in e ? sc(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;\nvar I = (e, t, n) => (rc(e, typeof t != \"symbol\" ? t + \"\" : t, n), n);\nimport { jsx as l, jsxs as w, Fragment as be } from \"react/jsx-runtime\";\nimport * as P from \"react\";\nimport F, { createContext as Mt, useState as j, useRef as U, useEffect as B, useMemo as H, useLayoutEffect as Or, useCallback as le, memo as oc, useReducer as ic, useContext as lt, cloneElement as ac, forwardRef as lc, useId as $i, createRef as To } from \"react\";\nimport * as cc from \"react-dom\";\nimport { unstable_batchedUpdates as _n, createPortal as uc } from \"react-dom\";\nvar dc = Object.defineProperty, hc = (e, t, n) => t in e ? dc(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Qs = (e, t, n) => hc(e, typeof t != \"symbol\" ? t + \"\" : t, n);\nfunction fc(e = {}, t = {}, n = {}) {\n  return Object.entries(t).reduce(\n    (s, [r, o]) => {\n      const i = n[o];\n      return i !== null && typeof i < \"u\" && (s[r] = i), s;\n    },\n    { ...e }\n  );\n}\nfunction gc(e, t = []) {\n  return (typeof t == \"string\" ? t.split(/,\\s*|\\s+/) : t).reduce(\n    (n, s) => {\n      const r = e[s] || vc(`Cannot expose non-existent action method: ${s}`);\n      return n[s] = r.bind(e), n;\n    },\n    {}\n  );\n}\nfunction pc(e, t) {\n  const n = e.debug ?? t.debug, s = ko(e.debugPrefix ?? t.debugPrefix, e), r = ko(e.debugColor ?? t.debugColor, e);\n  return n ? s ? (o, ...i) => console.log(\n    `%c${s}%c${o}`,\n    `color: ${r}`,\n    \"color:black\",\n    ...i\n  ) : console.log.bind(console) : () => {\n  };\n}\nfunction mc(e) {\n  return Array.isArray(e);\n}\nfunction Oi(e) {\n  return typeof e == \"function\";\n}\nfunction ko(e, t) {\n  return Oi(e) ? e(t) : e;\n}\nfunction bc(e) {\n  return mc(e) ? e : [e];\n}\nfunction vc(...e) {\n  throw new Error(e.join(\"\"));\n}\nconst Xe = (e, t = {}, n = F.createContext(t)) => ({ Context: n, Provider: (s) => /* @__PURE__ */ l(\n  e,\n  {\n    ...s,\n    render: (r) => /* @__PURE__ */ l(n.Provider, { value: r, children: s.children })\n  }\n), Consumer: (s) => (r) => /* @__PURE__ */ l(n.Consumer, { children: (o) => /* @__PURE__ */ l(s, { ...o, ...r }) }), Children: ({ children: s }) => bc(s).map(\n  (r, o) => Oi(r) ? /* @__PURE__ */ l(n.Consumer, { children: r }, o) : r\n), Use: () => F.useContext(n) });\nlet Rt = class extends F.Component {\n  constructor(t) {\n    super(t);\n    const n = this.constructor;\n    this.debug = pc(t, n), this.state = fc(\n      n.initialState,\n      n.initialProps,\n      t\n    ), this.actions = gc(this, n.actions);\n  }\n  getContext() {\n    return {\n      ...this.props,\n      // properties passed to the context\n      ...this.state,\n      // internal state\n      ...this.actions\n      // callable action functions mapped to methods\n    };\n  }\n  getRenderProps() {\n    return this.getContext();\n  }\n  render() {\n    return this.props.render(\n      this.getRenderProps()\n    );\n  }\n};\nQs(Rt, \"initialState\", {}), Qs(Rt, \"initialProps\", {}), Qs(Rt, \"actions\", []);\nconst Cc = ({\n  render: e,\n  open: t\n}) => {\n  const [n, s] = F.useState(t), r = () => s((a) => !a), o = () => s(!0), i = () => s(!1);\n  return F.useEffect(\n    () => {\n      s(t);\n    },\n    [t]\n  ), e({\n    isOpen: n,\n    open: o,\n    close: i,\n    toggleOpen: r\n  });\n}, Tr = Xe(Cc), fC = Tr.Use, yc = \"svg\", gr = \"-\", Ti = \"fill\", xc = \"path\", wc = \"line\", Sc = \"rect\", Rc = \"array\", Lc = \"circle\", Nc = \"ellipse\", Mc = \"polygon\", Dc = \"polyline\", kr = /-(?!\\d)/, Io = \"currentColor\", Ir = 512, Er = 512, Pr = {\n  defaults: {\n    width: 512,\n    height: 512,\n    type: \"line\"\n  },\n  icons: {\n    alpha: \"M102,448L256,64L410,448 M152,333L360,333\",\n    angle: \"M448,336L256,144L64,336\",\n    angles: \"M448,448L256,256L64,448M448,256L256,64L64,256\",\n    arrow: \"M96,224L256,64L416,224M256,86L256,448\",\n    arrows: \"M160,128L256,32L352,128M352,384L256,480L160,384M256,48L256,464\",\n    arrowhead: \"M176,112L256,32L336,112M256,48L256,192\",\n    asterisk: \"M76,152L436,360M76,360L436,152M256,48L256,464\",\n    at: \"M256,160C309,160 352,203 352,256C352,309 309,352 256,352C203,352 160,309 160,256C160,203 203,160 256,160M256,480C132,480 32,380 32,256C32,132 132,32 256,32C380,32 480,132 480,256L480,288C480,323 451,352 416,352C381,352 352,323 352,288L352,176\",\n    ban: \"M100,412L412,100 M256,32C380,32 480,132 480,255C480,379 380,480 256,480C132,480 32,379 32,255C32,132 132,32 256,32Z\",\n    bars: \"M64,96L448,96M64,256L448,256M64,416L448,416\",\n    card: \"rect:32 96 448 320 32 32\",\n    caret: \"M448,336L256,144L64,336L448,336Z\",\n    check: \"M48,248L192,392L464,120\",\n    circle: \"circle:256 256 224\",\n    clipboard: \"M192,80L80,80L80,496L432,496L432,80L320,80L320,112L192,112L192,80ZM256,16C282,16 304,38 304,64C304,90 282,112 256,112C230,112 208,90 208,64C208,38 230,16 256,16Z\",\n    clone: \"M304,416L304,444C304,468 284,488 260,488L68,488C44,488 24,468 24,444L24,252C24,228 44,208 68,208L96,208M480,75L480,277C480,301 461,320 437,320L235,320C211,320 192,301 192,277L192,75C192,51 211,32 235,32L437,32C461,32 480,51 480,75Z\",\n    cloud: \"M480,293C480,234 437,177 362,196C346,161 319,116 240,120C180,124 139,165 125,224C121,223 116,223 111,223C68,223 32,260 32,307C32,354 68,392 111,392C120,392 366,392 380,392C462,392 480,335 480,293Z\",\n    cog: \"M306,21L206,21L187,91L147,114L78,95L28,182L78,233L78,279L28,330L78,417L147,398L187,421L206,491L306,491L325,421L365,398L434,417L484,330L434,279L434,233L484,182L434,95L365,114L325,91L306,21Z M256,176C300,176 336,212 336,256C336,300 300,336 256,336C212,336 176,300 176,256C176,212 212,176 256,176Z\",\n    columns: [\n      \"rect:32 32 448 448 45 45\",\n      \"line:180,32 180,480\",\n      \"line:332,32 332,480\"\n    ],\n    comment: \"M256,64C371,64 464,139 464,232C464,325 371,400 256,400C236,400 217,398 199,394C184,390 163,448 80,464C111,426 118,358 110,352C72,321 48,279 48,232C48,139 141,64 256,64Z\",\n    crop: \"M32,80L288,80 M80,32L80,288M432,480L432,224M480,432L224,432M80,428L432,80\",\n    cross: \"M112,112L400,400M400,112L112,400\",\n    crosshairs: [\n      \"circle:256 256 192\",\n      \"M256,16L256,112 M496,256L400,256 M16,256L112,256 M256,496L256,400\"\n    ],\n    diamond: \"M256,32L480,256L256,480L32,256L256,32\",\n    download: \"M256,64L256,320L352,224M256,320L160,224M384,320L425,320C438,320 448,330 448,342L448,426C448,438 438,448 425,448L86,448C74,448 64,438 64,426L64,342C64,330 74,320 86,320L128,320\",\n    drag: \"M96,128L256,32L416,128M96,384L256,480L416,384M144,256L368,256\",\n    envelope: [\n      \"rect:32 96 448 320 32 32\",\n      \"M32,144C32,144 158.906,243.712 221.676,293.031C241.821,308.86 270.179,308.86 290.324,293.031C353.094,243.712 480,144 480,144\"\n    ],\n    equals: \"M96,320L416,320 M96,192L416,192\",\n    exclamation: \"M256,96L256,310M254,416L258,416\",\n    eye: [\n      \"M21,256C131,42 381,43 493,256 M21,256C130,470 383,469 493,256\",\n      \"circle:256 256 80\"\n    ],\n    eyeshut: \"M21,256C131,42 381,43 493,256M21,256C130,320 383,320 493,256M21,256C130,470 383,469 493,256\",\n    filter: \"M64,32L448,32L448,128L320,256L320,432L192,480L192,256L64,128L64,32Z\",\n    folder: \"M480,128L480,448L32,448L32,64L176,64L240,128L480,128Z\",\n    globe: [\n      \"circle:256 256 224\",\n      \"ellipse:256 256 116 224\",\n      \"M32,255.997L480,256.115M53.867,160L458.413,160M53.867,352.587L458.413,352M256.14,32L256.14,480\"\n    ],\n    heart: \"M256,128C298,48 382,48 424,88C466,128 466,208 424,288C394,348 319,408 256,448C193,408 118,348 88,288C46,208 46,128 88,88C130,48 214,48 256,128Z\",\n    hourglass: \"M80,32L432,32M80,480L432,480M128,32C128,256 384,256 384,480M384,32C384,256 128,256 128,480\",\n    image: [\n      \"rect:32 80 448 366 32\",\n      \"M32,304L128,240L384,432M272,345L367,281L480,366\",\n      \"circle:288 192 16\"\n    ],\n    info: \"M212,202L256,202L256,416M182,416L330,416M252,96L256,96\",\n    key: [\n      \"M189,246C183,229 180,212 180,194C180,118 242,56 318,56C394,56 456,118 456,194C456,270 394,332 318,332C300,332 283,329 266,323L232,360L184,360L184,408L136,408L136,456L56,456L56,379L189,246Z\",\n      \"circle:344 168 8\"\n    ],\n    list: \"M176,96L448,96M176,256L448,256M176,416L448,416M64,96L80,96M64,256L80,256M64,416L80,416\",\n    locked: [\n      \"M144,224L144,166C144,105 195,54 256,54C317,54 368,105 368,166L368,224M256,320L256,368\",\n      \"rect:80 224 352 240 32 32\"\n    ],\n    login: \"M192,128L320,256L192,384M304,256L64,256M320,64L448,64L448,448L320,448\",\n    logout: \"M320,128L448,256L320,384M432,256L192,256M192,448L64,448L64,64L192,64\",\n    minus: \"M96,256L416,256\",\n    mobile: [\n      \"rect:128 48 256 416 32 32\",\n      \"M128,120L384,120M128,392L384,392\"\n    ],\n    move: \"M192,96L256,32L320,96M416,192L480,256L416,320M320,416L256,480L192,416M96,192L32,256L96,320M48,256L464,256M256,48L256,464\",\n    number: \"M256,448L256,64L176,128 M160,448L336,449\",\n    page: \"M416,170L416,480L96,480L96,32L288,32L416,170M288,32L288,176L416,176\",\n    pen: \"M482,143C491,134 491,120 482,112L401,30C392,21 378,21 369,30L72,326L22,489L186,439L482,143M305,93L418,206\",\n    phone: \"M51,59C40,62 32,72 32,84C41,321 192,472 428,480C440,480 451,471 453,459C459,435 469,395 475,371C478,360 472,348 462,343C438,331 395,309 370,297C360,292 347,295 339,304C325,323 303,352 304,352C255,352 160,257 160,208C160,207 188,186 207,172C217,165 220,152 215,141C202,117 181,74 169,50C164,39 152,34 141,37C116,43 75,53 51,59Z\",\n    plus: \"M256,96L256,416M96,256L416,256\",\n    point: \"M448,224L256,16L64,224L160,224L160,480L352,480L352,224L448,224Z\",\n    prime: \"M256,128L256,256\",\n    question: \"M160,160C160,126 197,80 255,80C314,80 336,128 336,160C336,236 255,235 255,320 M255,416L256,416\",\n    rotate: \"M392,120C356,84 307,64 256,64C150,64 64,150 64,256C64,362 150,448 256,448C303,448 349,430 384,399C349,430 303,448 256,448C150,448 64,362 64,256C64,150 150,64 256,64C307,64 356,84 392,120Z M352,208L480,208L480,80\",\n    search: \"M204,32C300,32 384,111 384,208C384,305 305,384 208,384C111,384 32,305 32,208C32,111 107,32 204,32M480,480L332,332\",\n    slash: \"M64,448L448,64\",\n    square: \"rect:32 32 448 448\",\n    square10: \"rect:32 32 448 448 45 45\",\n    square20: \"rect:32 32 448 448 90 90\",\n    square30: \"rect:32 32 448 448 135 135\",\n    square40: \"rect:32 32 448 448 180 180\",\n    star: \"M256,32L324,183L489,202L367,313L400,476L256,394L112,476L145,313L23,202L188,183L256,32Z\",\n    thumb: \"M149,174L32,174L32,448L149,448L149,184 M149,217C277,160 246,36 282,38C372,44 324,192 324,192L440,192C462,192 480,210 480,232C480,254 462,272 440,272L368,272M424,272C446,272 464,290 464,312C464,334 446,352 424,352L352,352M392,352C414,352 432,370 432,392C432,414 414,432 392,432L256,432C220,432 149,409 149,409\",\n    time: \"M256,128L256,256L336,336\",\n    trash: \"M32,80L480,80 M80,80C80,80 100,344 109,452C111,477 131,496 156,496C211,496 301,496 356,496C381,496 401,477 403,452C412,344 432,80 432,80 M160,80L208,16L304,16L352,74\",\n    triangle: \"M256,64L32,448L480,448L256,64Z\",\n    unlocked: [\n      \"M144,224L144,166C144,105 195,54 256,54C304,54 346,85 361,128M256,320L256,368\",\n      \"rect:80 224 352 240 32 32\"\n    ],\n    upload: \"M256,320L256,64L160,160M256,64L352,160M384,320L425,320C438,320 448,330 448,342L448,426C448,438 438,448 425,448L86,448C74,448 64,438 64,426L64,342C64,330 74,320 86,320L128,320\",\n    user: [\n      \"M448,400C448,349 410,308 364,308L149,308C102,308 64,349 64,400C64,424 64,480 64,480L448,480C448,480 448,423 448,400Z\",\n      \"circle:256,144,96\"\n    ],\n    vertical: \"line:256,48 256,464\",\n    wrench: \"M486,108C493,124 496,142 496,160C496,239 431,304 352,304C330,304 309,299 290,290L98,482C79,501 49,501 30,482C11,463 11,433 30,414L222,222C213,203 208,182 208,160C208,81 273,16 352,16C370,16 388,19 404,26L336,96L352,160L416,176L486,108Z\"\n  }\n};\nfunction $c(e, t, n = Pr) {\n  n.icons[e] = t;\n}\nfunction gC(e, t = Pr) {\n  Object.entries(e).forEach(\n    ([n, s]) => $c(n, s, t)\n  );\n}\nconst Yn = Mt();\nfunction Eo(e) {\n  return typeof e == \"function\";\n}\nfunction Po(e) {\n  return typeof e == \"object\" && !ki(e) && !Oc(e);\n}\nfunction ki(e) {\n  return Array.isArray(e);\n}\nfunction Oc(e) {\n  return e === null;\n}\nfunction Tc({\n  context: e = {},\n  Implementation: t,\n  spec: n = !1,\n  props: s = {},\n  ref: r\n}) {\n  if (!n)\n    return /* @__PURE__ */ l(t, { ...s, ref: r });\n  let o = {}, i = Eo(n) ? n(e) : e[n];\n  if (ki(i) && (t = i[0], i = i[1]), Eo(i)) {\n    const a = i(s, r, e);\n    if (F.isValidElement(a))\n      return a;\n    Po(a) && Object.assign(o, s, a);\n  } else\n    Po(i) ? Object.assign(o, i, s) : Object.assign(o, s);\n  return /* @__PURE__ */ l(t, { ...o, ref: r });\n}\nconst kc = (e) => ({ Context: Yn, Provider: ({ children: t, ...n }) => /* @__PURE__ */ l(Yn.Provider, { value: { ...e, ...n }, children: t }), Consumer: (t) => (n) => /* @__PURE__ */ l(Yn.Consumer, { children: (s) => /* @__PURE__ */ l(t, { ...s, ...n, context: s }) }), Component: (t, n = t.displayName || t.name) => F.forwardRef(\n  (s, r) => /* @__PURE__ */ l(Yn.Consumer, { children: (o) => /* @__PURE__ */ l(\n    Tc,\n    {\n      Implementation: t,\n      context: o,\n      spec: n,\n      props: s,\n      ref: r\n    }\n  ) })\n) }), Ic = kc(), Ec = Ic.Component;\nfunction _e(e) {\n  return typeof e == \"string\";\n}\nfunction $n(e) {\n  return Array.isArray(e);\n}\nfunction Ss(e) {\n  return typeof e == \"object\" && !$n(e) && !Ei(e);\n}\nfunction Ii(e) {\n  return e === void 0;\n}\nfunction Ei(e) {\n  return e === null;\n}\nfunction Rs(e) {\n  return !(Ii(e) || Ei(e));\n}\nfunction Pi(e) {\n  return !Rs(e);\n}\nfunction Ae(...e) {\n  throw new Error(e.join(\"\"));\n}\nfunction Pc() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nPc();\nfunction pr(e, t = /,\\s*|\\s+/) {\n  return Pi(e) ? [] : _e(e) ? e.length ? e.split(t) : [] : $n(e) ? e : [e];\n}\nconst Ac = (e, t) => {\n  const n = e[t];\n  return delete e[t], n;\n};\nfunction On(e) {\n  return e.split(/\\s*[;&]\\s*/).filter((t) => t.length > 0).reduce(\n    (t, n) => {\n      const [s, r] = n.split(/\\s*[:=]\\s*/);\n      return t[s] = Ii(r) ? !0 : r, t;\n    },\n    {}\n  );\n}\nconst Ar = (e) => e.filter(Rs).join(\" \"), Fc = (e) => Object.entries(e).filter(([, t]) => t).map(([t]) => t), Vc = (...e) => Ar(\n  e.flatMap(\n    (t) => Ss(t) ? Fc(t) : t\n  )\n), Ai = (e) => pr(e, /\\s+/), Fi = {\n  x: 0,\n  y: 0,\n  size: 16,\n  scaleX: 1,\n  scaleY: 1,\n  flipX: !1,\n  flipY: !1,\n  rotate: 0\n}, ct = {\n  flip: (e, t) => {\n    _e(t) && t.match(/^y$/i) ? e.flipY = !e.flipY : e.flipX = !e.flipX;\n  },\n  flipx: (e) => e.flipX = !e.flipX,\n  flipy: (e) => e.flipY = !e.flipY,\n  grow: (e, t) => e.size += parseFloat(t),\n  shrink: (e, t) => e.size -= parseFloat(t),\n  scalex: (e, t) => e.scaleX *= parseFloat(t),\n  scaley: (e, t) => e.scaleY *= parseFloat(t),\n  left: (e, t) => t === !0 ? e.rotate -= 90 : e.x -= parseFloat(t),\n  right: (e, t) => t === !0 ? e.rotate += 90 : e.x += parseFloat(t),\n  up: (e, t) => t === !0 ? e.rotate += 0 : e.y -= parseFloat(t),\n  down: (e, t) => t === !0 ? e.rotate += 180 : e.y += parseFloat(t),\n  rotate: (e, t) => e.rotate += parseInt(t)\n};\nct.flop = ct.flipy;\nct[\"flip-x\"] = ct.flipx;\nct[\"flip-y\"] = ct.flipy;\nfunction Vi(e, t = { ...Fi }) {\n  const n = _e(e) ? On(e) : e || {};\n  return Object.entries(n).reduce(\n    (s, [r, o]) => {\n      const i = r.toLowerCase();\n      return (ct[i] || Ae(`Invalid transform: ${i}`))(s, o), s;\n    },\n    t\n  );\n}\nconst Bc = 4.42, Ue = (e) => `${Bc * e}%`, jc = {\n  // fill:               'currentColor',\n  // stroke:             'currentColor',\n  /*\n  strokeWidth:        widthMultiple(2),\n  strokeLinecap:      'round',\n  strokeLinejoin:     'round',\n  strokeMiterlimit:   '1.5'\n  */\n}, mr = {\n  outline: {\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeWidth: Ue(2),\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    strokeMiterlimit: \"1.5\"\n  },\n  solid: {\n    fill: \"currentColor\",\n    stroke: \"none\"\n  },\n  round: {\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    strokeMiterlimit: \"1.5\"\n  },\n  square: {\n    strokeLinecap: \"square\",\n    strokeLinejoin: \"miter\",\n    strokeMiterlimit: \"1.5\"\n  },\n  butt: {\n    strokeLinecap: \"butt\"\n  },\n  bevel: {\n    strokeLinejoin: \"bevel\"\n  },\n  thinnest: {\n    strokeWidth: Ue(0.5)\n  },\n  thinner: {\n    strokeWidth: Ue(1)\n  },\n  thin: {\n    strokeWidth: Ue(1.5)\n  },\n  medium: {\n    strokeWidth: Ue(2)\n  },\n  thick: {\n    strokeWidth: Ue(2.5)\n  },\n  thicker: {\n    strokeWidth: Ue(3)\n  },\n  thickest: {\n    strokeWidth: Ue(3.5)\n  }\n};\nmr.line = mr.outline;\nconst Wc = {\n  ...Object.entries(mr).reduce(\n    (e, [t, n]) => (e[t] = (s) => Object.assign(s, n), e),\n    {}\n  ),\n  fill: (e, t) => e.fill = t === !0 ? Io : t,\n  stroke: (e, t) => e.stroke = t === !0 ? Io : t,\n  nofill: (e) => delete e.fill,\n  nostroke: (e) => delete e.stroke,\n  strokewidth: (e, t) => e.strokeWidth = t.match(/^[\\d.]+$/) ? Ue(parseFloat(t)) : t,\n  opacity: (e, t) => e.opacity = t,\n  fillopacity: (e, t) => e.fillOpacity = t,\n  strokeopacity: (e, t) => e.strokeOpacity = t,\n  dasharray: (e, t) => e.strokeDasharray = t,\n  drawlength: (e, t) => e[\"--draw-length\"] = t,\n  drawtime: (e, t) => e[\"--draw-time\"] = t,\n  filltime: (e, t) => e[\"--fill-time\"] = t\n};\nfunction cs(e, t) {\n  return (_e(t) ? t.split(kr) : t).forEach(\n    (n) => {\n      const [s, r = !0] = n.split(/[:=]/), o = s.toLowerCase(), i = Wc[o];\n      if (i) {\n        i(e.style || (e.style = { ...jc }), r);\n        return;\n      }\n      (ct[o] || Ae(`Invalid style or transform: ${o}`))(e.transform || (e.transform = { ...Fi }), r);\n    }\n  );\n}\nconst Hc = {\n  width: Ir,\n  height: Er,\n  type: Ti\n}, Bi = {\n  svg: (e) => ({\n    element: yc,\n    svg: e\n  }),\n  array: (e) => ({\n    element: Rc,\n    items: e\n  }),\n  path: (e) => ({\n    element: xc,\n    d: e\n  }),\n  polygon: (e) => ({\n    element: Mc,\n    points: e\n  }),\n  polyline: (e) => ({\n    element: Dc,\n    points: e\n  }),\n  circle: (e) => ({\n    element: Lc,\n    ...Gn(e, \"cx cy r\")\n  }),\n  ellipse: (e) => ({\n    element: Nc,\n    ...Gn(e, \"cx cy rx ry\")\n  }),\n  line: (e) => ({\n    element: wc,\n    ...Gn(e, \"x1 y1 x2 y2\")\n  }),\n  rect: (e) => ({\n    element: Sc,\n    ...Gn(e, \"x y width height rx ry\")\n  })\n};\nfunction Gn(e, t) {\n  const n = $n(t) ? [...t] : pr(t);\n  return pr(e).reduce(\n    (s, r) => {\n      if (n.length) {\n        const o = n.shift();\n        s[o] = r;\n      }\n      return s;\n    },\n    {}\n  );\n}\nconst ji = (e) => {\n  const [t, n = \"\"] = e.split(\"?\"), [s, ...r] = t.split(/\\.(?!\\d)/), o = s.split(kr).filter((a) => a.length), i = On(n);\n  return {\n    dashes: o,\n    classes: r,\n    style: i\n  };\n}, zc = (e, t) => {\n  const n = ji(e), { dashes: s } = n;\n  for (let r = s.length; r > 0; r--) {\n    const o = s.slice(0, r).join(gr);\n    if (t[o]) {\n      n.name = s.splice(0, r).join(gr);\n      break;\n    }\n  }\n  return n;\n}, Ao = (e, t, n = {}) => {\n  const { icons: s } = t, r = zc(e, s), { name: o, classes: i, style: a, dashes: c } = r;\n  Pi(o) && Ae(`No icon found matching any leading subset of ${r.dashes.join(gr)}`);\n  const u = t.icons[o] || Ae(`Icon not found in data: ${o}`), d = Wi(u, t, { ...n, name: o });\n  if ((i.length || n.className) && (d.className = Ar([...i || [], n.className])), d.transform && (d.transform = Vi(d.transform)), d.style && (d.style = _e(d.style) ? On(d.style) : { ...d.style }), d.type) {\n    const h = d.style && { ...d.style };\n    cs(d, d.type), delete d.type, h && Object.assign(d.style, h);\n  }\n  return c.length && cs(d, c), Object.keys(a).length && (d.style = Object.assign(d.style || {}, a)), d;\n};\nfunction Uc(e) {\n  const t = e.match(/^(.*?):(.*)/);\n  return t ? { path: t[2], type: t[1] } : { path: e };\n}\nconst Wi = (e, t, n = {}) => {\n  const { defaults: s = {} } = t, r = {\n    ...Hc,\n    ...s,\n    ...n\n  };\n  return Hi(r, e, t);\n}, Hi = (e, t, n) => {\n  if (_e(t))\n    return Kc(e, t);\n  if (Ss(t))\n    return qc(e, t, n);\n  if ($n(t))\n    return Xc(e, t, n);\n  Ae(`Cannot parse icon data: ${t}`);\n};\nfunction Kc(e, t) {\n  if (t.match(/^\\w*</))\n    return e.body = {\n      element: \"svg\",\n      svg: t\n    }, e;\n  const n = t.match(/^(.*?):(.*)/);\n  if (n) {\n    const [, s, r] = n, { dashes: o, classes: i } = ji(s), a = o.shift(), c = Bi[a] || Ae(`Invalid icon data element: ${a}`);\n    return e.body = c(r), i.length && (e.body.className = Ar(i)), o.length && cs(e.body, o), e;\n  }\n  return e.body = {\n    element: \"path\",\n    d: t\n  }, e;\n}\nfunction qc(e, t, n) {\n  const s = { ...t };\n  if (s.element)\n    return e.body = s, e;\n  if (s.data) {\n    const r = Ac(s, \"data\");\n    return Hi(e, r, n), Object.assign(e, s), e;\n  }\n  for (let r of Object.entries(Bi)) {\n    const [o, i] = r, a = s[o];\n    if (Rs(a))\n      return e.body = i(a), delete s[o], Object.assign(e, s), e;\n  }\n  Ae(`Cannot parse icon data: ${JSON.stringify(t)}`);\n}\nfunction Xc(e, t, n) {\n  return e.body = {\n    element: \"array\",\n    items: t.map(\n      (s) => Wi(s, n).body\n    )\n  }, e;\n}\nconst _c = ({ size: e, ...t }) => {\n  t.width ?? (t.width = e || Ir), t.height ?? (t.height = e || Er), t.path && Object.assign(t, Uc(t.path));\n  let n;\n  return t.style && (_e(t.style) ? (n = On(t.style), t.style = {}) : n = { ...t.style }), cs(\n    t,\n    t.type ? t.type.split(kr).filter((s) => s.length) : Ti\n  ), delete t.type, t.style && n && Object.assign(t.style, n), t.transform && (t.transform = Vi(t.transform)), t;\n}, Fr = (e) => Ss(e) ? Object.entries(e).reduce(\n  (t, [n, s]) => (t[n.replace(/(?!-)-./g, (r) => r[1].toUpperCase())] = s, t),\n  {}\n) : e, Yc = (e) => Rs(e) ? Fr(On(e)) : null, Ye = ({\n  style: e,\n  class: t,\n  ...n\n}) => ({\n  style: _e(e) ? Yc(e) : Fr(e),\n  className: t,\n  ...n\n}), Gc = (e) => /* @__PURE__ */ l(\"circle\", { ...Ye(e) }), Zc = (e) => /* @__PURE__ */ l(\"ellipse\", { ...Ye(e) }), Jc = (e) => /* @__PURE__ */ l(\"line\", { ...Ye(e) }), zi = (e) => /* @__PURE__ */ l(\"path\", { ...Ye(e) }), Qc = (e) => /* @__PURE__ */ l(\"polygon\", { ...Ye(e) }), eu = (e) => /* @__PURE__ */ l(\"polyline\", { ...Ye(e) }), tu = (e) => /* @__PURE__ */ l(\"rect\", { ...Ye(e) }), nu = ({\n  svg: e,\n  ...t\n}) => /* @__PURE__ */ l(\"g\", { dangerouslySetInnerHTML: { __html: e }, ...Ye(t) }), su = ({\n  items: e,\n  ...t\n}) => /* @__PURE__ */ l(\"g\", { ...Ye(t), children: e.map(\n  (n, s) => /* @__PURE__ */ l(us, { body: n }, s)\n) }), ru = {\n  array: su,\n  circle: Gc,\n  ellipse: Zc,\n  line: Jc,\n  path: zi,\n  polygon: Qc,\n  polyline: eu,\n  rect: tu,\n  svg: nu\n}, us = ({\n  path: e,\n  body: t,\n  ...n\n}) => {\n  if (e)\n    return /* @__PURE__ */ l(zi, { d: e, ...n });\n  if (_e(t))\n    return /* @__PURE__ */ l(\"g\", { dangerouslySetInnerHTML: { __html: t } });\n  if (Ss(t)) {\n    const { element: s, ...r } = t, o = ru[s] || Ae(`Invalid element type: ${s} => `, JSON.stringify(t));\n    return /* @__PURE__ */ l(o, { ...r });\n  }\n  if ($n(t))\n    return t.map(\n      (s, r) => /* @__PURE__ */ l(us, { body: s }, r)\n    );\n  Ae(`Don't know how to handle body: ${t}`);\n};\nfunction ou({\n  width: e,\n  height: t,\n  transform: n,\n  children: s\n}) {\n  const r = e / 2, o = t / 2, i = n.x * e / 16, a = n.y * t / 16, c = n.size / 16 * (n.flipX ? -1 : 1) * n.scaleX, u = n.size / 16 * (n.flipY ? -1 : 1) * n.scaleY, d = n.rotate;\n  return /* @__PURE__ */ l(\"g\", { transform: `translate(${r} ${o})`, children: /* @__PURE__ */ l(\"g\", { transform: `translate(${i}, ${a}) scale(${c}, ${u}) rotate(${d} 0 0)`, children: /* @__PURE__ */ l(\"g\", { transform: `translate(-${r} -${o})`, children: s }) }) });\n}\nconst er = ({\n  onClick: e,\n  minx: t = 0,\n  miny: n = 0,\n  width: s = Ir,\n  height: r = Er,\n  style: o,\n  transform: i,\n  className: a = \"\",\n  debug: c,\n  ...u\n  // fill='currentColor'\n}) => /* @__PURE__ */ w(\n  \"svg\",\n  {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    role: \"img\",\n    \"aria-hidden\": \"true\",\n    focusable: \"false\",\n    viewBox: `${t} ${n} ${s} ${r}`,\n    className: `${a} icon`,\n    style: Fr(o),\n    onClick: e,\n    children: [\n      !!c && console.log(\"style: \", o),\n      i ? /* @__PURE__ */ l(\n        ou,\n        {\n          width: s,\n          height: r,\n          transform: i,\n          children: /* @__PURE__ */ l(us, { ...u })\n        }\n      ) : /* @__PURE__ */ l(us, { ...u })\n    ]\n  }\n), iu = ({\n  name: e,\n  iconsClass: t = \"icons\",\n  library: n = Pr,\n  ...s\n}) => {\n  if (!e)\n    return /* @__PURE__ */ l(er, { ..._c(s) });\n  try {\n    const r = Ai(e);\n    return r.length === 1 ? /* @__PURE__ */ l(\n      er,\n      {\n        ...s,\n        ...Ao(e, n, s)\n      }\n    ) : /* @__PURE__ */ l(\"div\", { className: Vc(t, s.className), children: r.map(\n      (o) => /* @__PURE__ */ l(\n        er,\n        {\n          ...s,\n          ...Ao(o, n, s)\n        },\n        o\n      )\n    ) });\n  } catch (r) {\n    Ae(`Badger Icon failed to render icon \"${e}\". ${r.message}`);\n  }\n}, Ui = Ec(iu, \"Icon\"), au = ({\n  names: e,\n  className: t\n}) => /* @__PURE__ */ l(\"div\", { className: `grid overlap ${t}`, children: Ai(e).map(\n  (n) => /* @__PURE__ */ l(Ui, { name: n }, n)\n) });\nfunction Dt(e) {\n  return typeof e == \"boolean\";\n}\nfunction Ge(e) {\n  return typeof e == \"string\";\n}\nfunction Tn(e) {\n  return typeof e == \"number\";\n}\nfunction Ls(e) {\n  return Number.isInteger(e);\n}\nfunction Fe(e) {\n  return Array.isArray(e);\n}\nfunction $t(e) {\n  return typeof e == \"function\";\n}\nfunction lu(e) {\n  return e instanceof RegExp;\n}\nfunction ve(e) {\n  return typeof e == \"object\" && !Fe(e) && !Vr(e);\n}\nfunction Ki(e) {\n  return Ge(e) || Tn(e) || Dt(e);\n}\nfunction qi(e) {\n  return e === void 0;\n}\nfunction Vr(e) {\n  return e === null;\n}\nfunction T(e) {\n  return !(qi(e) || Vr(e));\n}\nfunction Ns(e) {\n  return !T(e);\n}\nfunction Ms(...e) {\n  throw new Error(e.join(\"\"));\n}\nconst re = (e, ...t) => $t(e) ? e(...t) : e;\nfunction E() {\n}\nconst Ot = (e) => e, Fo = (e) => {\n  const t = e.toString().split(\".\");\n  return t.length < 2 ? 1 : Math.pow(10, t[1].length);\n}, Ds = (...e) => e.reduce((t, n) => {\n  const s = Fo(t), r = Fo(n);\n  return s > r ? s : r;\n}, -1 / 0), at = (...e) => e.reduce((t, n) => {\n  const s = Ds(t, n);\n  return t * s * (n * s) / (s * s);\n}, 1), rs = (...e) => e.reduce((t, n) => {\n  const s = Ds(t, n);\n  return t * s / (n * s);\n}), Xi = (...e) => {\n  const t = Ds.apply(null, e);\n  return e.reduce((n, s) => n + t * s, 0) / t;\n}, cu = (...e) => {\n  const t = Ds.apply(null, e), [n, ...s] = e;\n  return s.reduce((r, o) => r - t * o, n * t) / t;\n}, G = (e, t, n) => Math.min(Math.max(e, t), n);\nfunction uu() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nlet Br = { locale: uu(), currency: \"GBP\", currencySign: \"£\", thousands: \",\" };\nconst _i = (e, t, n = 1) => {\n  const s = t < e ? -Math.abs(n) : n;\n  return Array(1 + Math.floor(Math.abs((t - e) / n))).fill(e).map((r, o) => r + o * s);\n};\nfunction qt(e, t = {}) {\n  return new Intl.NumberFormat(t.locale || Br.locale, t).format(e);\n}\nfunction du(e, t = {}) {\n  return qt(e, { style: \"currency\", currency: Br.currency, ...t });\n}\nfunction hu(e, t = Br.thousands) {\n  if (Ns(e))\n    return \"\";\n  for (var n = e.toString().split(\".\"), s = /(\\d+)(\\d{3})/; s.test(n[0]); )\n    n[0] = n[0].replace(s, `$1${t}$2`);\n  return n.join(\".\");\n}\nfunction sn(e, t = /,\\s*|\\s+/) {\n  return Ns(e) ? [] : Ge(e) ? e.length ? e.split(t) : [] : Fe(e) ? e : [e];\n}\nfunction Nt(e, t = !0, n = {}) {\n  return ve(e) ? e : sn(e).reduce((s, r) => (s[r] = $t(t) ? t(r) : t, s), n);\n}\nfunction jr(e) {\n  return e.charAt(0).toUpperCase() + e.slice(1).toLowerCase();\n}\nfunction fu(e, t = {}) {\n  const n = t[e];\n  if (T(n))\n    return n;\n  let s;\n  return e.match(/(ss?|sh|ch|x)$/) ? e + \"es\" : (s = e.match(/(.*?[^aeiou])y$/)) ? s[1] + \"ies\" : e.match(/([^s\\d\\W])$/) ? e + \"s\" : e;\n}\nfunction gu(e, t, n, s = \"no\") {\n  return (e ? hu(e) : s) + \" \" + (e === 1 ? t : n || fu(t));\n}\nconst pu = jr;\nfunction mu(e) {\n  if ($t(e))\n    return e;\n  if (lu(e))\n    return (t) => e.test(t);\n  if (ve(e))\n    return (t) => !!e[t];\n  if (Fe(e) || Ge(e)) {\n    const t = Nt(e);\n    return (n) => !!t[n];\n  }\n  Ms(\"Invalid selector() specification: \" + e);\n}\nconst kn = (e, t, n = {}) => {\n  let s = {}, r = { delete: !1, ...n };\n  const o = mu(t);\n  return Object.keys(e).map((i) => {\n    if (o(i)) {\n      let a = e[i];\n      r.delete && delete e[i], r.key && (i = r.key(i)), r.value && (a = r.value(a)), s[i] = a;\n    }\n  }), s;\n}, Wr = (e, t) => $t(t) ? t(e) : e[t], Vo = (e, t) => parseInt(Wr(e, t) || 0), Bo = (e, t) => parseFloat(Wr(e, t) || 0), jo = (e, t) => (Wr(e, t) || \"\").toString(), Wo = (e) => (t, n) => Vo(t, e) - Vo(n, e), tr = (e) => (t, n) => Bo(t, e) - Bo(n, e), nr = (e) => (t, n) => {\n  let s = jo(t, e).toLowerCase(), r = jo(n, e).toLowerCase();\n  return s > r ? 1 : r > s ? -1 : 0;\n}, bu = (e) => (t, n) => e(n, t);\nfunction vu(e, t = 300) {\n  let n;\n  return (...s) => {\n    clearTimeout(n), n = setTimeout(() => e.apply(this, s), t);\n  };\n}\nfunction Hr(e) {\n  return new Promise((t) => setTimeout(t, e));\n}\nconst Cu = (e) => e.filter(T).join(\" \"), yu = (e) => Object.entries(e).filter(([, t]) => t).map(([t]) => t), M = (...e) => Cu(\n  e.flatMap(\n    (t) => ve(t) ? yu(t) : t\n  )\n), zr = (e) => {\n  if (!e)\n    return null;\n  const [t, n, s, r, o] = e.split(\"-\");\n  return M(\n    t,\n    Nu(n),\n    Mu(s),\n    Du(r),\n    $u(o)\n  );\n}, Yi = ({\n  className: e,\n  size: t,\n  color: n,\n  ...s\n}) => ({\n  ...s,\n  className: M(\n    e,\n    t,\n    zr(n)\n  )\n}), xu = ({\n  className: e,\n  size: t,\n  color: n,\n  border: s,\n  radius: r,\n  shadow: o,\n  grid: i,\n  stack: a,\n  gap: c,\n  pad: u,\n  mar: d,\n  padding: h = u,\n  margin: g = d,\n  ...f\n}, ...m) => ({\n  ...f,\n  className: M(\n    ...m,\n    e,\n    t,\n    zr(n),\n    ft(s),\n    pt(r),\n    gt(o),\n    wu(i),\n    Kr(c),\n    Su(a),\n    Ru(h),\n    Lu(g)\n  )\n}), Ur = (...e) => {\n  const { className: t, ...n } = xu(...e);\n  return M(t, n);\n}, ft = (e) => Xr(e, \"border\", (t) => `border bdw-${t}`), gt = (e) => Xr(e, \"shadow-1\", (t) => `shadow-${t}`), wu = (e) => qr(e, \"grid-1\", (t) => `grid-${t}`), Su = (e) => e ? `stack-${e}` : null, Ru = (e) => Gi(e, \"pad\"), Lu = (e) => Gi(e, \"mar\"), pt = (e) => Xr(e, \"bdr-1\", (t) => `bdr-${t}`), Nu = (e) => $s(e, (t) => `fgc-${t}`), Mu = (e) => $s(e, (t) => `bgc-${t}`), Du = (e) => $s(e, (t) => `fgd-${t}`), $u = (e) => $s(e, (t) => `bgd-${t}`), Kr = (e) => qr(\n  e,\n  \"gap-1\",\n  (t) => {\n    const n = sn(t);\n    return n.length === 2 ? br(\"gap\", [\"v\", \"h\"], n) : `gap-${t}`;\n  }\n), $s = (e, t) => Ls(parseInt(e)) ? re(t, e) : null, qr = (e, t, n) => e === !0 ? t : T(e) ? re(n, e) : null, Xr = (e, t, n) => e === !0 ? t : Ls(parseInt(e)) ? re(n, e) : null, Gi = (e, t) => qr(\n  e,\n  t,\n  (n) => Ou(t, sn(n))\n), Ou = (e, t) => t.length === 2 ? br(e, [\"v\", \"h\"], t) : t.length === 4 ? br(e, [\"t\", \"r\", \"b\", \"l\"], t) : t.map((n) => `${e}-${n}`).join(\" \"), br = (e, t, n) => n.map((s, r) => `${e}-${t[r]}-${s}`).join(\" \"), Zn = Mt();\nfunction Ho(e) {\n  return typeof e == \"function\";\n}\nfunction zo(e) {\n  return typeof e == \"object\" && !Zi(e) && !Tu(e);\n}\nfunction Zi(e) {\n  return Array.isArray(e);\n}\nfunction Tu(e) {\n  return e === null;\n}\nfunction ku({\n  context: e = {},\n  Implementation: t,\n  spec: n = !1,\n  props: s = {},\n  ref: r\n}) {\n  if (!n)\n    return /* @__PURE__ */ l(t, { ...s, ref: r });\n  let o = {}, i = Ho(n) ? n(e) : e[n];\n  if (Zi(i) && (t = i[0], i = i[1]), Ho(i)) {\n    const a = i(s, r, e);\n    if (F.isValidElement(a))\n      return a;\n    zo(a) && Object.assign(o, s, a);\n  } else\n    zo(i) ? Object.assign(o, i, s) : Object.assign(o, s);\n  return /* @__PURE__ */ l(t, { ...o, ref: r });\n}\nconst Iu = (e) => ({ Context: Zn, Provider: ({ children: t, ...n }) => /* @__PURE__ */ l(Zn.Provider, { value: { ...e, ...n }, children: t }), Consumer: (t) => (n) => /* @__PURE__ */ l(Zn.Consumer, { children: (s) => /* @__PURE__ */ l(t, { ...s, ...n, context: s }) }), Component: (t, n = t.displayName || t.name) => F.forwardRef(\n  (s, r) => /* @__PURE__ */ l(Zn.Consumer, { children: (o) => /* @__PURE__ */ l(\n    ku,\n    {\n      Implementation: t,\n      context: o,\n      spec: n,\n      props: s,\n      ref: r\n    }\n  ) })\n) }), Eu = Iu(), L = Eu.Component, Pu = (e) => /* @__PURE__ */ l(\n  Ui,\n  {\n    ...Yi(e)\n  }\n), X = L(Pu, \"Icon\");\nfunction Au(e, t, n = {}) {\n  return T(t) && (n[e] = Ls(t) ? `${t}deg` : t), Object.keys(n).length ? n : null;\n}\nconst Fu = (e, t, n = {}) => ({\n  ...Object.entries(e).reduce(\n    (s, [r, o]) => {\n      const i = t[r];\n      return T(i) && (s[o] = i), s;\n    },\n    t.style || {}\n  ),\n  ...n\n}), sr = (e, { side: t = \"\" } = {}) => {\n  const n = `icon${t}`, s = e[n], r = ve(s) ? s : { name: s }, o = M(\n    r.className,\n    e[`${n}Class`],\n    t ? `on-${t.toLowerCase()}` : null\n  );\n  o.length && (r.className = o);\n  const i = e[`${n}Rotate`];\n  return T(i) && (r.style = Au(\"--icon-rotate\", i, r.style)), r;\n}, Uo = (e) => Ge(e) ? { name: e } : e, Vu = ({\n  icon: e,\n  iconLeft: t,\n  iconRight: n,\n  spanText: s,\n  spanClass: r,\n  text: o,\n  children: i,\n  ...a\n}) => /* @__PURE__ */ w(be, { children: [\n  !!e && /* @__PURE__ */ l(\n    X,\n    {\n      ...sr({ icon: e, ...a }),\n      fixedWidth: !0\n    }\n  ),\n  !!t && /* @__PURE__ */ l(\n    X,\n    {\n      ...sr({ iconLeft: t, ...a }, { side: \"Left\" }),\n      fixedWidth: !0\n    }\n  ),\n  s ? /* @__PURE__ */ l(\"span\", { className: r ?? \"\", children: o || i }) : o || i,\n  !!n && /* @__PURE__ */ l(\n    X,\n    {\n      ...sr({ iconRight: n, ...a }, { side: \"Right\" }),\n      fixedWidth: !0\n    }\n  )\n] }), mt = L(Vu, \"WithIcons\"), Bu = ({\n  summary: e,\n  summaryClass: t,\n  toggleOpen: n,\n  detailsSummaryClass: s = \"summary\",\n  summarySpanClass: r = \"summary-text\",\n  ...o\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    onClick: n,\n    className: M(s, t),\n    children: /* @__PURE__ */ l(\n      mt,\n      {\n        text: e,\n        spanText: !0,\n        spanClass: r,\n        ...kn(o, /^(icon|text)/)\n      }\n    )\n  }\n), Ji = ({\n  content: e,\n  children: t,\n  contentClass: n\n}) => /* @__PURE__ */ l(\"div\", { className: n, children: e || t }), ju = ({\n  className: e,\n  size: t,\n  color: n,\n  lined: s,\n  border: r,\n  radius: o,\n  shaded: i,\n  shadow: a,\n  isOpen: c,\n  toggleOpen: u,\n  detailsClass: d = \"details\",\n  noIconClass: h = \"no-icon\",\n  wideSummary: g,\n  wideSummaryClass: f = \"wide-summary\",\n  Summary: m = Bu,\n  Content: p = Ji,\n  ...b\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: M(\n      d,\n      h,\n      e,\n      n,\n      ft(r),\n      pt(o),\n      gt(a),\n      { size: t, color: n, lined: s, shaded: i, open: c, [f]: g }\n    ),\n    children: [\n      /* @__PURE__ */ l(m, { toggleOpen: u, ...b }),\n      !!c && /* @__PURE__ */ l(p, { ...b })\n    ]\n  }\n), Wu = Tr.Consumer(ju), Hu = ({\n  summary: e,\n  summaryClass: t\n}) => /* @__PURE__ */ l(\"summary\", { className: t, children: e }), zu = ({\n  className: e,\n  size: t,\n  color: n,\n  lined: s,\n  border: r,\n  radius: o,\n  shaded: i,\n  shadow: a,\n  open: c,\n  Summary: u = Hu,\n  Content: d = Ji,\n  ...h\n}) => /* @__PURE__ */ w(\n  \"details\",\n  {\n    className: M(\n      e,\n      n,\n      ft(r),\n      pt(o),\n      gt(a),\n      { size: t, color: n, lined: s, shaded: i }\n    ),\n    open: c,\n    children: [\n      /* @__PURE__ */ l(u, { ...h }),\n      /* @__PURE__ */ l(d, { ...h })\n    ]\n  }\n), Uu = {\n  iconLeft: \"angle-right\",\n  iconLeftRotate: 90,\n  iconRightRotate: -90\n}, Ku = ({\n  native: e,\n  open: t,\n  Container: n = e ? zu : Wu,\n  ...s\n}) => /* @__PURE__ */ l(Tr.Provider, { open: t, children: /* @__PURE__ */ l(n, { ...Uu, ...s }) }), qu = L(Ku, \"Details\"), Xu = ({\n  items: e,\n  shadow: t,\n  radius: n,\n  className: s,\n  accordionClass: r = \"accordion\",\n  ...o\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\n      s,\n      r,\n      gt(t),\n      pt(n)\n    ),\n    children: e.map(\n      (i, a) => /* @__PURE__ */ l(\n        qu,\n        {\n          radius: n,\n          ...o,\n          ...i\n        },\n        i.key ?? i.id ?? a\n      )\n    )\n  }\n), pC = L(Xu, \"Accordion\"), _u = (e) => /* @__PURE__ */ l(\n  au,\n  {\n    ...Yi(e)\n  }\n), mC = L(_u, \"Icons\"), Yu = ({\n  dismissable: e,\n  dismiss: t,\n  revealable: n,\n  isRevealed: s,\n  openIcon: r = \"angle-down\",\n  closedIcon: o = \"angle-left\",\n  dismissIcon: i = \"cross\"\n}) => /* @__PURE__ */ w(\"div\", { className: \"on-right\", children: [\n  !!e && /* @__PURE__ */ l(\n    X,\n    {\n      name: i,\n      fixedWidth: !0,\n      className: \"dismiss\",\n      onClick: () => t(!0)\n    }\n  ),\n  !!n && /* @__PURE__ */ l(\n    X,\n    {\n      name: s ? r : o,\n      fixedWidth: !0,\n      className: \"reveal\"\n    }\n  )\n] }), Qi = L(Yu, \"AlertControls\"), Gu = ({\n  headline: e,\n  headIcon: t,\n  headicon: n = t,\n  toggle: s,\n  revealable: r = !1,\n  controlProps: o,\n  Controls: i = Qi\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: \"headline flex space\",\n    onClick: r ? s : null,\n    children: [\n      /* @__PURE__ */ w(\"div\", { children: [\n        !!n && /* @__PURE__ */ l(\n          X,\n          {\n            name: n,\n            fixedWidth: !0,\n            className: \"on-left\"\n          }\n        ),\n        e\n      ] }),\n      /* @__PURE__ */ l(i, { ...o })\n    ]\n  }\n), Zu = L(Gu, \"AlertHeadline\"), Ju = ({\n  title: e,\n  text: t,\n  children: n\n}) => /* @__PURE__ */ w(be, { children: [\n  e && /* @__PURE__ */ l(\"h3\", { children: e }),\n  t ? /* @__PURE__ */ l(\"p\", { children: t }) : n\n] }), ea = L(Ju, \"AlertContent\"), Qu = ({\n  icon: e,\n  Content: t = ea,\n  ...n\n}) => /* @__PURE__ */ w(\"div\", { className: \"side-icon\", children: [\n  /* @__PURE__ */ l(X, { name: e }),\n  /* @__PURE__ */ l(\"div\", { className: \"wide\", children: /* @__PURE__ */ l(t, { ...n }) })\n] }), ed = L(Qu, \"AlertIcon\");\nfunction bC(e) {\n  return e.split(/\\s*[;&]\\s*/).filter((t) => t.length > 0).reduce(\n    (t, n) => {\n      const [s, r] = n.split(/\\s*[:=]\\s*/);\n      return t[s] = qi(r) ? !0 : r, t;\n    },\n    {}\n  );\n}\nconst td = \"unknown\", nd = \"mobile\", sd = \"tablet\", rd = \"laptop\", od = \"desktop\", id = \"widescreen\", ad = \"ultra\", Os = {\n  [td]: 0,\n  [nd]: 480,\n  [sd]: 720,\n  [rd]: 960,\n  [od]: 1200,\n  [id]: 1440\n}, ld = {\n  breakpoints: Os,\n  largest: ad\n}, _r = (e = 0, t = {}) => {\n  const n = { ...ld, ...t }, s = Object.entries(n.breakpoints).find(\n    ([, r]) => e <= r\n  );\n  return s ? s[0] : n.largest;\n}, cd = (e = window) => typeof e > \"u\" ? !1 : e.innerWidth, vC = (e, t) => _r(cd(e), t), In = (e) => Ki(e) || !e.separator && !e.heading && !e.disabled, ta = (e) => Ki(e) ? e : e.value ?? e.id, na = (e, t, n = ta) => {\n  if (Ns(t))\n    return [];\n  const s = n(t), r = e.findIndex(\n    (o) => s === n(o)\n  );\n  return r >= 0 ? [e[r], r] : [];\n}, ud = (e, t) => {\n  const n = e.toLowerCase().split(/\\s+/);\n  return t.filter(\n    (s) => {\n      const r = ve(s), o = r ? s.search ?? s.text ?? s.label ?? s.name ?? s.value : s;\n      if (r && s.fixed)\n        return !0;\n      if (T(o)) {\n        const i = o.toString().toLowerCase();\n        return n.every(\n          (a) => i.indexOf(a) >= 0\n        );\n      }\n      return !1;\n    }\n  );\n};\nfunction dd(e, t = In) {\n  const n = e.findIndex(t);\n  return n < 0 ? null : n;\n}\nfunction hd(e, t = In) {\n  for (let n = e.length - 1; n >= 0; n--)\n    if (t(e[n]))\n      return n;\n  return null;\n}\nfunction fd(e, t, n = In) {\n  for (let s = 1; s <= e.length; s++) {\n    const r = (t + s) % e.length;\n    if (n(e[r]))\n      return r;\n  }\n  return null;\n}\nfunction gd(e, t, n = In) {\n  for (let s = 1; s <= e.length; s++) {\n    const r = (t + e.length - s) % e.length;\n    if (n(e[r]))\n      return r;\n  }\n  return null;\n}\nconst pd = (e) => e == null ? void 0 : e.stopPropagation(), md = {\n  ...Os,\n  cols: !0\n}, bd = (e) => {\n  const t = { ...e };\n  return [kn(\n    t,\n    md,\n    { delete: !0 }\n  ), t];\n}, vd = (e, t) => {\n  const [n, s] = bd(e);\n  return [Cd(n, t), s];\n}, Cd = (e, t) => {\n  if (!t)\n    return `grid-${e.cols || 1}`;\n  let n = e.cols || 1;\n  const s = Object.keys(Os), r = s.indexOf(t);\n  if (r >= 0) {\n    const i = s.slice(r).find(\n      (a) => e[a]\n    );\n    i && (n = e[i]);\n  }\n  return `grid-${n}`;\n}, xt = (e) => Tn(e) ? e : parseFloat(e), vr = (e, t, n) => sn(e).find(\n  (s) => t[s] !== n[s]\n), Yr = (e) => (t) => {\n  e.forEach(\n    (n) => {\n      $t(n) ? n(t) : n != null && (n.current = t);\n    }\n  );\n}, Lt = (e) => {\n  const t = `HINT: define ${e}() to render this value`;\n  return (n) => Ge(n) || Tn(n) ? n : ve(n) ? n.text ?? n.label ?? n.name ?? n.heading ?? t : t;\n}, yd = (e) => Ge(e) || Tn(e) ? e : /* @__PURE__ */ l(mt, { ...e }), sa = (e, t) => {\n  if (!e || !t)\n    return;\n  const n = t.offsetTop, s = n + t.offsetHeight, r = e.scrollTop, o = r + e.offsetHeight;\n  n < r ? e.scrollTo({\n    top: n\n  }) : s > o && e.scrollTo({\n    top: r + (s - o)\n  });\n}, xd = (e) => {\n  const t = e.match(/^(\\d+)px$/);\n  if (t)\n    return parseInt(t[1]);\n  const n = e.match(/^(\\d+)rem$/);\n  if (n)\n    return parseInt(n[1] * 16);\n  const s = e.match(/^(\\d+)$/);\n  return s ? parseInt(s[1]) : Os[e] || Ms(`Invalid size specified: ${e}`);\n};\nfunction wd() {\n  let e = {};\n  return {\n    clear: () => e = {},\n    getItem: (t) => e[t],\n    setItem: (t, n) => e[t] = n,\n    removeItem: (t) => delete e[t]\n  };\n}\nconst Jn = typeof window < \"u\" && window.localStorage || wd(), Qn = (e, t) => [e, t].join(\"-\");\nfunction Gr(e) {\n  return {\n    get: (t, n) => {\n      const s = Jn.getItem(\n        Qn(e, t)\n      );\n      return T(s) ? JSON.parse(s) : T(n) ? (Jn.setItem(\n        Qn(e, t),\n        JSON.stringify(n)\n      ), n) : null;\n    },\n    set: (t, n) => Jn.setItem(\n      Qn(e, t),\n      JSON.stringify(n)\n    ),\n    delete: (t) => Jn.removeItem(\n      Qn(e, t)\n    )\n  };\n}\nconst ra = (e) => e.charAt(0).toUpperCase() + e.slice(1), CC = (e = {}, t = {}) => Object.entries(t).reduce(\n  (n, [s, r]) => {\n    const o = n[s];\n    if (!o)\n      return n;\n    const a = { ...r[o] || Ms(`Invalid themedProps() value for ${s}: ${o}`), ...n };\n    return delete a[s], a;\n  },\n  e\n), yC = (e, t, n = {}) => {\n  const s = e.variant || Object.keys(t).find((r) => e[r]) || \"default\";\n  return t[s] || t.default || n;\n}, Ze = ({\n  title: e,\n  headline: t,\n  headicon: n,\n  headIcon: s = n,\n  type: r,\n  size: o,\n  color: i,\n  compact: a,\n  stripe: c,\n  border: u,\n  radius: d,\n  shadow: h,\n  className: g,\n  text: f,\n  children: m,\n  onDismiss: p,\n  icon: b,\n  dismissable: v = !1,\n  revealable: y = !1,\n  revealed: C = !1,\n  openIcon: x,\n  closedIcon: S,\n  dismissIcon: D,\n  Headline: R = Zu,\n  Controls: N = Qi,\n  Content: k = ea,\n  Icon: O = ed\n}) => {\n  const [$, W] = j(y ? C : !0), [A, z] = j(!1), Ce = M(\n    \"alert\",\n    r,\n    o,\n    i,\n    g,\n    {\n      compact: a,\n      revealable: y,\n      dismissable: v,\n      stripe: c\n    },\n    $ ? \"revealed\" : null,\n    gt(h),\n    ft(u),\n    pt(d)\n  ), te = () => W((oe) => !oe), Y = {\n    dismissable: v,\n    revealable: y,\n    isRevealed: $,\n    dismiss: () => {\n      z(!0), p && p();\n    },\n    openIcon: x,\n    closedIcon: S,\n    dismissIcon: D\n  }, ne = {\n    title: e,\n    text: f,\n    children: m\n  }, ue = {\n    ...ne,\n    icon: b,\n    Content: k\n  }, Et = {\n    headline: t,\n    headIcon: s,\n    toggle: te,\n    revealable: y,\n    controlProps: Y,\n    Controls: N\n  };\n  return A ? null : /* @__PURE__ */ w(\"div\", { className: Ce, children: [\n    !!t && /* @__PURE__ */ l(R, { ...Et }),\n    $ && (b ? /* @__PURE__ */ l(O, { ...ue }) : /* @__PURE__ */ l(k, { ...ne }))\n  ] });\n}, Sd = L(\n  (e) => /* @__PURE__ */ l(Ze, { ...e, type: \"info\" }),\n  \"Info\"\n), Rd = L(\n  (e) => /* @__PURE__ */ l(Ze, { ...e, type: \"success\" }),\n  \"Success\"\n), Ld = L(\n  (e) => /* @__PURE__ */ l(Ze, { ...e, type: \"warning\" }),\n  \"Warning\"\n), Nd = L(\n  (e) => /* @__PURE__ */ l(Ze, { ...e, type: \"error\" }),\n  \"Error\"\n);\nZe.Info = Sd;\nZe.Success = Rd;\nZe.Warning = Ld;\nZe.Error = Nd;\nconst xC = L(Ze, \"Alert\"), Md = ({\n  prefix: e,\n  prefixClass: t = \"prefix\"\n}) => /* @__PURE__ */ l(\"div\", { className: t, children: e }), Dd = ({\n  suffix: e,\n  suffixClass: t = \"suffix\"\n}) => /* @__PURE__ */ l(\"div\", { className: t, children: e }), $d = ({\n  size: e,\n  color: t,\n  compact: n,\n  className: s,\n  tag: r,\n  shadow: o,\n  border: i,\n  radius: a,\n  tooltip: c,\n  icon: u,\n  iconClass: d,\n  iconLeft: h,\n  iconLeftClass: g,\n  iconRight: f,\n  iconRightClass: m,\n  label: p,\n  text: b,\n  prefix: v,\n  suffix: y,\n  children: C,\n  Prefix: x = Md,\n  Suffix: S = Dd,\n  Content: D = mt,\n  ...R\n}) => {\n  const N = M(\n    \"badge\",\n    e,\n    t,\n    s,\n    {\n      compact: n,\n      tag: r,\n      icon: u\n    },\n    gt(o),\n    ft(i),\n    pt(a)\n  ), k = {\n    icon: u,\n    iconClass: d,\n    iconLeft: h,\n    iconLeftClass: g,\n    iconRight: f,\n    iconRightClass: m,\n    text: b,\n    children: C\n  };\n  return /* @__PURE__ */ w(\n    \"div\",\n    {\n      className: N,\n      \"data-tooltip\": c,\n      \"aria-label\": p,\n      ...R,\n      children: [\n        !!v && /* @__PURE__ */ l(x, { prefix: v, ...R }),\n        /* @__PURE__ */ l(\n          D,\n          {\n            ...k\n          }\n        ),\n        !!y && /* @__PURE__ */ l(S, { suffix: y, ...R })\n      ]\n    }\n  );\n}, wC = L($d, \"Badge\"), Od = ({\n  type: e = \"button\",\n  size: t,\n  color: n,\n  className: s,\n  disabled: r,\n  bright: o,\n  dark: i,\n  outline: a,\n  bare: c,\n  shaded: u,\n  shadow: d,\n  border: h,\n  radius: g,\n  label: f,\n  tooltip: m,\n  tabIndex: p = 0,\n  icon: b,\n  iconClass: v,\n  iconLeft: y,\n  iconLeftClass: C,\n  iconRight: x,\n  iconRightClass: S,\n  text: D,\n  children: R,\n  Content: N = mt,\n  ...k\n}) => {\n  const O = M(\n    t,\n    n,\n    s,\n    {\n      bright: o,\n      dark: i,\n      outline: a,\n      bare: c,\n      shaded: u,\n      icon: b\n    },\n    gt(d),\n    ft(h),\n    pt(g)\n  );\n  return /* @__PURE__ */ l(\n    \"button\",\n    {\n      className: O,\n      \"aria-label\": f,\n      tabIndex: p,\n      type: e,\n      disabled: r,\n      \"aria-disabled\": r,\n      \"data-tooltip\": m,\n      ...k,\n      children: /* @__PURE__ */ l(\n        N,\n        {\n          ...{\n            icon: b,\n            iconClass: v,\n            iconLeft: y,\n            iconLeftClass: C,\n            iconRight: x,\n            iconRightClass: S,\n            text: D,\n            children: R\n          }\n        }\n      )\n    }\n  );\n}, Se = L(Od, \"Button\"), Td = ({\n  buttons: e,\n  children: t,\n  className: n = \"buttons\",\n  buttonClass: s,\n  Button: r = Se,\n  ...o\n}) => /* @__PURE__ */ l(\"div\", { className: n, children: e ? e.map(\n  (i, a) => /* @__PURE__ */ l(\n    r,\n    {\n      className: s,\n      ...o,\n      ...i\n    },\n    a\n  )\n) : t }), Cr = L(Td, \"Buttons\"), kd = ({\n  className: e,\n  disabled: t,\n  children: n,\n  ref: s\n}) => /* @__PURE__ */ l(\n  \"label\",\n  {\n    className: M(e, { disabled: t }),\n    ref: s,\n    children: n\n  }\n), Id = L(kd, \"CheckboxLabel\"), Ed = ({\n  disabled: e = !1,\n  tabIndex: t = 0,\n  onChange: n = E,\n  inputClass: s,\n  round: r,\n  square: o,\n  ref: i,\n  switch: a,\n  ...c\n}) => /* @__PURE__ */ l(\n  \"input\",\n  {\n    type: \"checkbox\",\n    ref: i,\n    \"aria-disabled\": e,\n    tabIndex: e ? -1 : t,\n    onChange: (u) => n(u.target.checked),\n    className: M(s, { round: r, square: o }),\n    role: a ? \"switch\" : null,\n    ...c\n  }\n), Pd = L(Ed, \"CheckboxInput\"), Ad = ({\n  size: e,\n  color: t,\n  border: n,\n  inline: s,\n  className: r = \"checkbox\",\n  text: o,\n  ref: i,\n  inputRef: a,\n  checked: c,\n  checkedText: u = o,\n  uncheckedText: d = o,\n  // icon,\n  // checkedIcon=icon,\n  // uncheckedIcon=icon,\n  // iconClass,\n  Label: h = Id,\n  Input: g = Pd,\n  ...f\n}) => /* @__PURE__ */ w(\n  h,\n  {\n    className: M(\n      e,\n      t,\n      r,\n      ft(n),\n      { inline: s }\n    ),\n    ref: i,\n    checked: c,\n    ...f,\n    children: [\n      /* @__PURE__ */ l(g, { ref: a, checked: c, ...f }),\n      c ? u : d\n    ]\n  }\n), oa = L(Ad, \"Checkbox\"), Fd = ({\n  checked: e = !1\n} = {}) => {\n  const [t, n] = j(e);\n  return {\n    isChecked: t,\n    setChecked: n,\n    check: () => n(!0),\n    uncheck: () => n(!1)\n  };\n}, SC = ({\n  checked: e = !1,\n  onChange: t,\n  ...n\n}) => {\n  const { isChecked: s, setChecked: r } = Fd({ checked: e });\n  return /* @__PURE__ */ l(\n    oa,\n    {\n      checked: s,\n      onChange: (i) => {\n        r(i), t && t(i);\n      },\n      ...n\n    }\n  );\n}, Zr = ({\n  visible: e = !1\n} = {}) => {\n  const [t, n] = j(e);\n  return {\n    isVisible: t,\n    setVisible: n,\n    show: () => n(!0),\n    hide: () => n(!1)\n  };\n}, Vd = ({\n  close: e,\n  icon: t = \"cross\",\n  className: n = \"close\"\n}) => /* @__PURE__ */ l(\"div\", { className: n, onClick: e, children: /* @__PURE__ */ l(X, { name: t }) }), Bd = L(Vd, \"ModalClose\"), jd = ({\n  title: e,\n  header: t\n}) => e || t ? /* @__PURE__ */ w(\"header\", { children: [\n  !!e && /* @__PURE__ */ l(\"h3\", { children: e }),\n  t\n] }) : null, Wd = L(jd, \"ModalHeader\"), Hd = ({\n  footer: e\n}) => !!e && /* @__PURE__ */ l(\"footer\", { children: e }), zd = L(Hd, \"ModalFooter\"), Ud = ({\n  text: e,\n  children: t,\n  Header: n = Wd,\n  Footer: s = zd,\n  ...r\n}) => /* @__PURE__ */ w(\"article\", { onClick: pd, children: [\n  /* @__PURE__ */ l(n, { ...r }),\n  e || t,\n  /* @__PURE__ */ l(s, { ...r })\n] }), Kd = L(Ud, \"ModalContent\"), qd = ({\n  ref: e,\n  open: t,\n  close: n,\n  className: s,\n  closeClass: r = \"close\",\n  closeIcon: o = \"cross\",\n  Close: i = Bd,\n  Content: a = Kd,\n  closeOnClick: c,\n  onClick: u = c ? n : null,\n  onCancel: d = n || E,\n  style: h = {},\n  maxWidth: g,\n  maxHeight: f,\n  ...m\n}) => {\n  e || (e = U(null)), B(\n    () => {\n      const { current: b } = e;\n      t ? b.showModal() : b.close();\n    },\n    [t]\n  );\n  const p = {\n    ...h\n  };\n  return g && (p[\"--max-width\"] = g), f && (p[\"--max-height\"] = f), /* @__PURE__ */ w(\n    \"dialog\",\n    {\n      ref: e,\n      className: s,\n      style: p,\n      onClick: u,\n      onCancel: d,\n      children: [\n        !!n && /* @__PURE__ */ l(\n          i,\n          {\n            close: n,\n            icon: o,\n            className: r\n          }\n        ),\n        /* @__PURE__ */ l(a, { ...m })\n      ]\n    }\n  );\n}, ia = L(qd, \"Modal\"), Xd = ({\n  isVisible: e,\n  title: t,\n  header: n,\n  prompt: s,\n  modalClass: r,\n  ...o\n}) => /* @__PURE__ */ l(\n  ia,\n  {\n    ...o,\n    open: e,\n    title: t,\n    header: n,\n    className: r,\n    text: s ?? /* @__PURE__ */ l(Ko, { ...o }),\n    footer: !!s && /* @__PURE__ */ l(Ko, { ...o })\n  }\n), Ko = ({\n  buttonClass: e,\n  cancel: t,\n  confirm: n\n}) => /* @__PURE__ */ w(\"div\", { className: \"flex space gap-4\", children: [\n  /* @__PURE__ */ l(Se, { className: e, ...t }),\n  /* @__PURE__ */ l(Se, { className: e, ...n })\n] }), _d = ({\n  initiallyRevealed: e = !1,\n  open: t = e,\n  confirmIcon: n = \"check\",\n  confirmText: s = \"Confirm\",\n  confirmColor: r = \"red\",\n  confirmClass: o,\n  cancelIcon: i = \"cross\",\n  cancelText: a = \"Cancel\",\n  cancelColor: c = \"grey\",\n  cancelClass: u,\n  confirm: d = {\n    iconRight: n,\n    text: s,\n    color: r,\n    className: o\n  },\n  cancel: h = {\n    iconLeft: i,\n    text: a,\n    color: c,\n    className: u\n  },\n  // prompt,\n  buttonsClass: g,\n  className: f = g,\n  buttonClass: m,\n  modal: p,\n  modalClass: b,\n  onClick: v = () => window.alert(\"No confirm action defined\"),\n  ...y\n}) => {\n  const { isVisible: C, hide: x, show: S } = Zr({ visible: t }), R = {\n    iconRight: n,\n    text: s,\n    color: r,\n    className: o,\n    ...d,\n    onClick: (k) => {\n      k.preventDefault(), x(), v();\n    }\n  }, N = {\n    iconLeft: i,\n    text: a,\n    color: c,\n    className: u,\n    outline: !0,\n    ...h,\n    onClick: x\n  };\n  return p ? /* @__PURE__ */ w(be, { children: [\n    /* @__PURE__ */ l(\n      Cr,\n      {\n        className: f,\n        buttonClass: m,\n        buttons: [{ ...y, onClick: S }]\n      }\n    ),\n    /* @__PURE__ */ l(\n      Xd,\n      {\n        isVisible: C,\n        confirm: R,\n        cancel: N,\n        modalClass: b,\n        ...y\n      }\n    )\n  ] }) : /* @__PURE__ */ l(\n    Cr,\n    {\n      className: f,\n      buttonClass: m,\n      buttons: C ? [N, R] : [{ ...y, onClick: S }]\n    }\n  );\n}, RC = L(_d, \"Confirm\"), LC = (e) => {\n  const t = e, n = \"text\", s = jr(t);\n  return { field: t, type: n, label: s };\n}, rr = (e) => {\n  Ge(e) && (e = { field: e });\n  const { field: t } = e;\n  return e.type || (e.type = \"text\"), e.label || (e.label = jr(t)), e.heading || (e.heading = e.label), e.id || (e.id = t), e.sortable ?? (e.sortable = !0), e.filterable ?? (e.filterable = !0), e;\n}, Yd = (e) => {\n  if (Ge(e))\n    return Nt(\n      e,\n      rr\n    );\n  if (Fe(e))\n    return e.reduce(\n      (t, n) => {\n        const s = rr(n);\n        return t[s.field] = s, t;\n      },\n      {}\n    );\n  if (ve(e))\n    return Object.entries(e).reduce(\n      (t, [n, s]) => {\n        if (Dt(s) && !s)\n          return t;\n        const r = rr({\n          // column can also be any true value which might not be iterable\n          ...ve(s) ? s : {},\n          field: n\n        });\n        return t[r.field] = r, t;\n      },\n      {}\n    );\n  Ms(\"Invalid columns definition\");\n}, Gd = (e, t) => {\n  if (t) {\n    const n = t.filter((s) => e[s]);\n    if (n.length)\n      return n;\n  }\n  return Object.keys(e).filter((n) => !e[n].hidden);\n}, Zd = (e, t) => {\n  if (t) {\n    const n = t.filter((r) => e[r]), s = Nt(n);\n    if (n.push(\n      ...Object.keys(e).filter((r) => !s[r])\n    ), n.length)\n      return n;\n  }\n  return Object.keys(e);\n}, Jd = (e, t, n) => t && e[t] ? [t, n] : [null, null], Qd = ({ value: e, search: t }) => (\n  // we have to do woolly string searching because the value returned from a select\n  // component is always a string\n  T(e) ? e.toString() === t.toString() : !1\n), Wt = ({ value: e, search: t }) => {\n  const n = t.toLowerCase().split(/\\s+/);\n  if (T(e)) {\n    const s = e.toString().toLowerCase();\n    return n.every(\n      (r) => s.indexOf(r) > -1\n    );\n  } else\n    return !1;\n}, eh = ({ value: e, search: t }) => (\n  //console.log('filterInteger(%o, %o, %o) [%s][%o] == [%s][%o]', row, field, search, typeof match, match, typeof search, search);\n  T(e) ? parseInt(e) === parseInt(t) : !1\n), th = ({ value: e, search: t }) => (\n  //console.log('filterFloat(%o, %o, %o) [%s][%o] == [%s][%o]', row, field, search, typeof match, match, typeof search, search);\n  T(e) ? parseFloat(e) === parseFloat(t) : !1\n), yr = (e) => Ge(e) ? !!parseInt(e) : !!e, nh = ({ value: e = !1, search: t }) => (\n  // The problem here is that a vanilla select input can't have options with\n  // true/false values, and values of 0/1 get converted to strings.\n  // So if the search value is a string then we parse it as an integer and\n  // compare it to 0.\n  yr(e) === yr(t)\n), qo = {\n  string: Wt,\n  text: Wt,\n  id: Wt,\n  number: Wt,\n  price: Wt,\n  pounds: Wt,\n  select: Qd,\n  boolean: nh,\n  integer: eh,\n  float: th\n}, sh = (e, t, n) => {\n  const s = Object.keys(n).filter((r) => t[r]);\n  return s.length === 0 ? e : e.filter(\n    (r) => s.every(\n      (o) => {\n        const i = n[o], a = t[o], c = a.field || o, u = r[c], d = a.filterType || a.type, h = a.filter || qo[d] || qo.text;\n        return T(i) && (Dt(i) || i.length) ? h({ row: r, field: c, value: u, search: i }) : !0;\n      }\n    )\n  );\n}, rh = (e, t = 1, n = e.length) => {\n  const s = e.length, r = Math.ceil(s / n);\n  t = Math.min(t, r);\n  const o = t - 1, i = n * o, a = Math.min(i + n - 1, s - 1), c = e.slice(i, a + 1);\n  return {\n    pageSize: n,\n    pages: r,\n    page: o,\n    pageNo: t,\n    total: s,\n    firstIndex: i,\n    lastIndex: a,\n    firstPage: 1,\n    lastPage: r,\n    thisSize: c.length,\n    from: i + 1,\n    to: a + 1,\n    all: i === a,\n    one: s === 1,\n    none: s === 0,\n    rows: c\n  };\n}, Xo = {\n  string: nr,\n  text: nr,\n  select: nr,\n  number: tr,\n  price: tr,\n  currency: tr,\n  integer: Wo,\n  id: Wo\n}, oh = (e, t, n, s) => {\n  if (!n || !t[n])\n    return e;\n  const r = t[n], o = r.sort, i = r.type || \"text\", a = $t(o) ? o : (Xo[i] || Xo.text)(n);\n  return e.sort(\n    s ? bu(a) : a\n  );\n}, ih = ({\n  render: e,\n  rows: t = [],\n  storageKey: n,\n  storageItem: s = \"state\",\n  debug: r,\n  ...o\n}) => {\n  const i = r ? console.log : E, [a, c] = H(\n    () => {\n      const O = n && Gr(n), $ = O ? O.get(s, {}) : {};\n      return [O, $];\n    },\n    [n]\n  ), [u, d, h, g, f] = H(\n    () => {\n      i(\"computing columns: \", o.columns);\n      const O = Yd(o.columns);\n      return [\n        O,\n        Gd(O, c.visibleColumns),\n        Zd(O, c.columnOrder),\n        ...Jd(\n          O,\n          c.sortColumn ?? o.sortColumn,\n          c.sortReverse ?? o.sortReverse\n        )\n      ];\n    },\n    [o.columns, o.sortColumn, o.sortReverse, c]\n  ), [m, p] = aC({\n    pageNo: c.pageNo ?? o.pageNo ?? 1,\n    pageSize: c.pageSize ?? o.pageSize ?? 10,\n    sortColumn: g,\n    sortReverse: f,\n    columnOrder: h,\n    visibleColumns: d\n  }), [b, v] = j(!1), [y, C] = j({}), x = (O) => {\n    O.preventDefault(), O.stopPropagation(), v(($) => !$);\n  }, S = (O, $) => {\n    C(\n      (W) => {\n        const A = { ...W };\n        return T($) && (Dt($) || $.length) ? A[O] = $ : delete A[O], A;\n      }\n    ), p.setPageNo(1);\n  };\n  B(\n    () => {\n      i(\"columns have changed: \", u), p.setSortColumn(g), p.setSortReverse(f), p.setColumnOrder(h), p.setVisibleColumns(d);\n    },\n    [g, f, h, d]\n  ), B(\n    () => {\n      i(\"rows, filters or sorting order has changed\"), p.setPageNo(1);\n    },\n    [t, m.sortColumn, m.sortReverse, m.filters]\n  ), B(\n    () => {\n      a && (i(\"Saving state in local storage:\", m), a.set(s, m));\n    },\n    [m, a]\n  );\n  const D = (O) => {\n    m.sortColumn === O ? (i(`Sort column already set to ${O}, changing direction`), p.setSortReverse(($) => !$)) : (i(`Setting sort column to ${O}`), p.setSortColumn(O), p.setSortReverse(!1));\n  }, R = (O) => p.setVisibleColumns(\n    ($) => {\n      const W = Nt($), A = W[O] ? $.filter((z) => z !== O) : Object.keys(u).filter((z) => z === O || W[z]);\n      return i(\"New visible columns:\", A), A;\n    }\n  ), N = (O) => {\n    let $ = [], W = [];\n    const A = Nt(m.visibleColumns);\n    O.forEach(\n      (z) => {\n        $.push(z), A[z] && W.push(z);\n      }\n    ), i(\"New order of all columns:\", $), i(\"New order of visible columns:\", W), p.setVisibleColumns(W), p.setColumnOrder($);\n  }, k = H(\n    () => rh(\n      oh(\n        sh(t, u, y),\n        u,\n        m.sortColumn,\n        m.sortReverse\n      ),\n      m.pageNo,\n      m.pageSize\n    ),\n    [\n      t,\n      u,\n      y,\n      m.sortColumn,\n      m.sortReverse,\n      m.pageNo,\n      m.pageSize\n    ]\n  );\n  return e({\n    ...o,\n    rows: t,\n    columns: u,\n    page: k,\n    showFilters: b,\n    toggleFilters: x,\n    filters: y,\n    setFilter: S,\n    hasFilters: Object.keys(y).length,\n    toggleSortColumn: D,\n    toggleVisibleColumn: R,\n    changeColumnOrder: N,\n    ...m,\n    ...p\n  });\n}, _ = Xe(ih), NC = _.Use, MC = _.Consumer, ah = ({\n  page: e,\n  summaryClass: t = \"flex center balance mar-b-2\"\n}) => /* @__PURE__ */ w(\"div\", { className: t, children: [\n  \"Page \",\n  e.pageNo,\n  \"/\",\n  e.lastPage,\n  \" \",\n  e.none ? \"no rows\" : e.one ? \"one row\" : e.all ? `all ${qt(e.total)} rows` : `rows ${qt(e.from)}-${qt(e.to)} of ${qt(e.total)}`,\n  \" \"\n] }), lh = _.Consumer(ah), DC = \"-\", Yt = \"\", Xt = \"any\", ch = \"ArrowLeft\", uh = \"ArrowRight\", Ts = \"ArrowUp\", ks = \"ArrowDown\", dh = \"Tab\", Is = \"Enter\", Jr = \" \", Es = \"Escape\", hh = \"Backspace\", aa = \"True\", la = \"False\", $C = 512, OC = 512;\nvar Ke;\nlet ca = (Ke = class extends Rt {\n  componentDidMount() {\n    this.mounted = !0, this.props.onLoad(this);\n  }\n  componentWillUnmount() {\n    this.mounted = !1, this.props.onUnload(this);\n  }\n  onMouseEnter() {\n    this.debug(\"onMouseEnter()\"), this.setState(\n      { hasHover: !0 },\n      this.props.openOnHover ? () => {\n        this.open(), this.focusTrigger();\n      } : null\n    );\n  }\n  onMouseLeave() {\n    this.debug(\"onMouseLeave()\"), this.setState(\n      { hasHover: !1 },\n      this.props.openOnHover ? () => this.closeSoon() : null\n    );\n  }\n  onFocus() {\n    this.debug(\"onFocus()\"), this.setState(\n      { hasFocus: !0 },\n      this.props.onFocus\n    );\n  }\n  onBlur() {\n    this.debug(\"onBlur()\"), this.setState(\n      { hasFocus: !1 },\n      this.props.onBlur\n    ), this.props.closeOnBlur && this.closeSoon();\n  }\n  onClick() {\n    this.debug(\"onClick()\"), this.state.isOpen ? this.close() : this.open();\n  }\n  open() {\n    this.debug(\"open()\"), this.setState(\n      {\n        isOpen: !0\n      },\n      this.props.onOpen\n    );\n  }\n  close() {\n    this.debug(\"close()\"), this.setState(\n      this.closeState(),\n      this.props.onClose\n    );\n  }\n  closeState() {\n    return this.constructor.inactiveState;\n  }\n  closeSoon(t = !1) {\n    this.debug(`closeSoon()  force:${t}`), Hr(this.props.closeDelay).then(\n      () => {\n        this.closeable(t) ? this.close() : this.debug(`NOT closing force:${t} hasHover:${this.state.hasHover}`);\n      }\n    );\n  }\n  closeable(t) {\n    return t || !this.state.hasHover;\n  }\n  onKeyDown(t) {\n    switch (this.debug(`onKeyDown(${t.key})`), t.key) {\n      case Is:\n      case Jr:\n        this.state.isOpen ? this.close() : this.open();\n        break;\n      case Es:\n        this.close();\n        break;\n      default:\n        this.debug(`ignored key ${t.key}`);\n        return;\n    }\n    t.preventDefault();\n  }\n  triggerRef(t) {\n    this._triggerRef = t;\n  }\n  focusTrigger() {\n    this._triggerRef ? (this.debug(\"focussing trigger\"), this._triggerRef.focus()) : this.debug(\"no trigger to focus\");\n  }\n}, I(Ke, \"debug\", !1), I(Ke, \"defaultProps\", {\n  options: [],\n  openOnHover: !1,\n  closeOnBlur: !0,\n  closeDelay: 300,\n  onLoad: E,\n  onUnload: E,\n  onFocus: E,\n  onBlur: E,\n  onClick: E,\n  onOpen: E,\n  onClose: E\n}), I(Ke, \"inactiveState\", {\n  isOpen: !1\n}), I(Ke, \"initialState\", {\n  ...Ke.inactiveState\n}), Ke);\nconst St = class St extends ca {\n  open(t = this.initialCursor() ?? this.cursorFirstIndex()) {\n    this.debug(`open(${t})`), this.setState(\n      {\n        isOpen: !0,\n        cursor: t\n      },\n      this.props.onOpen\n    );\n  }\n  onKeyDown(t) {\n    switch (this.debug(`onKeyDown(${t.key})`), this.debug(\"alt: \", t.altKey), this.debug(\"ctrl: \", t.ctrlKey), this.debug(\"meta: \", t.metaKey), t.key) {\n      case ks:\n        this.state.isOpen ? this.setCursor(this.cursorNextIndex()) : this.open(this.initialCursor() ?? this.cursorFirstIndex());\n        break;\n      case Ts:\n        this.state.isOpen ? this.setCursor(this.cursorPrevIndex()) : this.open(this.initialCursor() ?? this.cursorLastIndex());\n        break;\n      case Is:\n      case Jr:\n        this.state.isOpen ? this.selectCursor() : this.open(this.initialCursor() ?? this.cursorFirstIndex());\n        break;\n      case Es:\n        this.close();\n        break;\n      default:\n        this.debug(`ignored key ${t.key}`);\n        return;\n    }\n    t.preventDefault();\n  }\n  menuOptions() {\n    return this.props.options;\n  }\n  initialCursor() {\n    return null;\n  }\n  cursorFirstIndex() {\n    return dd(\n      this.menuOptions(),\n      this.props.validOption\n    );\n  }\n  cursorLastIndex() {\n    return hd(\n      this.menuOptions(),\n      this.props.validOption\n    );\n  }\n  cursorNextIndex() {\n    return fd(\n      this.menuOptions(),\n      this.state.cursor,\n      this.props.validOption\n    );\n  }\n  cursorPrevIndex() {\n    return gd(\n      this.menuOptions(),\n      this.state.cursor,\n      this.props.validOption\n    );\n  }\n  setCursor(t) {\n    this.debug(`setCursor(${t})`), this.setState({ cursor: t });\n  }\n  selectCursor() {\n    this.debug(\"selectCursor()\");\n    const { cursor: t } = this.state, n = this.menuOptions();\n    if (n && n.length && T(t)) {\n      const s = n[t];\n      this.debug(`selectCursor() ${t} =>`, s), this.selectOption(s);\n    } else\n      this.debug(\"Not selecting: cursor out of range\");\n  }\n  selectOption(t) {\n    this.debug(\"selectOption()\", t), this.setState(\n      // TODO: this needs to be abstracted out\n      // For select it's:\n      // {\n      //   value,\n      //   input: this.inputValue(value)\n      //   ...inactiveState\n      // },\n      this.selectState(t),\n      () => this.props.onSelect(t)\n    ), this.props.closeOnSelect ? (this.debug(\"closeOnSelect is set, closing\"), this.closeSoon(!0)) : this.debug(\"closeOnSelect is not set, NOT closing\");\n  }\n  selectState(t) {\n    return { selected: t };\n  }\n  /*\n    // do we have a trigger in select/search?  I suppose so...\n    triggerRef(ref) {\n      this._triggerRef = ref\n    }\n  \n    focusTrigger() {\n      if (this._triggerRef) {\n        this.debug('focussing trigger')\n        this._triggerRef.focus()\n      }\n      else {\n        this.debug('no trigger to focus')\n      }\n    }\n    */\n  menuRef(t) {\n    this._menuRef = t;\n  }\n  activeRef(t) {\n    sa(this._menuRef, t);\n  }\n};\nI(St, \"debug\", !1), I(St, \"defaultProps\", {\n  options: [],\n  openOnHover: !1,\n  closeOnBlur: !0,\n  closeDelay: 300,\n  onLoad: E,\n  onUnload: E,\n  onFocus: E,\n  onBlur: E,\n  onClick: E,\n  onOpen: E,\n  onClose: E,\n  onSelect: E,\n  closeOnSelect: !0\n}), I(St, \"inactiveState\", {\n  isOpen: !1,\n  cursor: void 0,\n  selected: void 0\n}), I(St, \"initialState\", {\n  ...St.inactiveState\n});\nlet ds = St;\nvar Ie;\nlet fh = (Ie = class extends ds {\n}, I(Ie, \"debug\", !1), I(Ie, \"debugPrefix\", \"Dropdown > \"), I(Ie, \"debugColor\", \"MediumVioletRed\"), I(Ie, \"defaultProps\", {\n  ...Ie.defaultProps,\n  options: [],\n  displayOption: yd\n}), I(Ie, \"actions\", [\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"onFocus\",\n  \"onBlur\",\n  \"onClick\",\n  \"onKeyDown\",\n  \"open\",\n  \"close\",\n  \"setCursor\",\n  \"selectCursor\",\n  \"selectOption\",\n  \"triggerRef\",\n  \"menuRef\",\n  \"activeRef\"\n]), Ie);\nconst rn = Xe(fh), TC = rn.Use, gh = ({\n  triggerClass: e = \"trigger\",\n  triggerRef: t,\n  triggerColor: n,\n  triggerSize: s,\n  button: r,\n  icon: o,\n  floatingRef: i,\n  safeAreaClass: a = \"safe-area\",\n  onMouseEnter: c,\n  onMouseLeave: u,\n  onKeyDown: d,\n  onFocus: h,\n  onBlur: g,\n  onClick: f,\n  ...m\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: M(e, n, s, { button: r, icon: o }),\n    onClick: f,\n    onMouseEnter: c,\n    onMouseLeave: u,\n    onKeyDown: d,\n    onFocus: h,\n    onBlur: g,\n    tabIndex: 0,\n    ref: Yr([t, i]),\n    children: [\n      /* @__PURE__ */ l(mt, { icon: o, ...kn(m, /^(icon|text)/) }),\n      /* @__PURE__ */ l(\"div\", { className: a })\n    ]\n  }\n), ph = rn.Consumer(gh), mh = ({\n  option: e,\n  active: t,\n  activeRef: n,\n  selected: s,\n  onClick: r,\n  onMouseEnter: o,\n  optionClass: i = \"item no-hover\",\n  activeClass: a = \"active\",\n  selectedClass: c = \"selected\",\n  disabledClass: u = \"disabled\",\n  displayOption: d\n  // ...props\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\n      i,\n      e.className,\n      e.indent ? `indent-${e.indent}` : null,\n      t ? a : null,\n      s ? c : null,\n      e.disabled ? u : null\n    ),\n    onMouseEnter: o,\n    onClick: r,\n    ref: t ? n : null,\n    \"aria-disabled\": e.disabled,\n    children: d(e)\n  }\n), bh = rn.Consumer(mh), vh = ({\n  option: e,\n  separatorClass: t = \"separator\"\n}) => /* @__PURE__ */ l(\"div\", { className: M(t, e.className) }), Ch = ({\n  option: e,\n  optionClass: t = \"item no-hover\",\n  headingClass: n = \"heading\"\n}) => /* @__PURE__ */ l(\"h4\", { className: M(n, t, e.className), children: e.heading }), yh = ({\n  options: e = [],\n  menuClass: t = \"menu border bdr-1\",\n  menuRef: n,\n  floatingRef: s,\n  floatingStyle: r,\n  cursor: o,\n  selected: i,\n  selectOption: a,\n  setCursor: c,\n  onMouseEnter: u,\n  onMouseLeave: d,\n  Option: h = bh,\n  Separator: g = vh,\n  Heading: f = Ch\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: t,\n    ref: Yr([n, s]),\n    onMouseEnter: u,\n    onMouseLeave: d,\n    style: r,\n    children: e.map(\n      (m, p) => m.separator ? /* @__PURE__ */ l(\n        g,\n        {\n          option: m\n        },\n        p\n      ) : m.heading ? /* @__PURE__ */ l(\n        f,\n        {\n          option: m\n        },\n        p\n      ) : /* @__PURE__ */ l(\n        h,\n        {\n          option: m,\n          active: T(o) && e[o] === m,\n          selected: i === m,\n          onClick: () => a(m),\n          onMouseEnter: () => c(p)\n        },\n        m.id ?? m.value ?? p\n      )\n    )\n  }\n), xh = rn.Consumer(yh);\nfunction Ps() {\n  return typeof window < \"u\";\n}\nfunction on(e) {\n  return ua(e) ? (e.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction me(e) {\n  var t;\n  return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;\n}\nfunction Je(e) {\n  var t;\n  return (t = (ua(e) ? e.ownerDocument : e.document) || window.document) == null ? void 0 : t.documentElement;\n}\nfunction ua(e) {\n  return Ps() ? e instanceof Node || e instanceof me(e).Node : !1;\n}\nfunction ae(e) {\n  return Ps() ? e instanceof Element || e instanceof me(e).Element : !1;\n}\nfunction Ve(e) {\n  return Ps() ? e instanceof HTMLElement || e instanceof me(e).HTMLElement : !1;\n}\nfunction _o(e) {\n  return !Ps() || typeof ShadowRoot > \"u\" ? !1 : e instanceof ShadowRoot || e instanceof me(e).ShadowRoot;\n}\nfunction En(e) {\n  const {\n    overflow: t,\n    overflowX: n,\n    overflowY: s,\n    display: r\n  } = Le(e);\n  return /auto|scroll|overlay|hidden|clip/.test(t + s + n) && ![\"inline\", \"contents\"].includes(r);\n}\nfunction wh(e) {\n  return [\"table\", \"td\", \"th\"].includes(on(e));\n}\nfunction As(e) {\n  return [\":popover-open\", \":modal\"].some((t) => {\n    try {\n      return e.matches(t);\n    } catch {\n      return !1;\n    }\n  });\n}\nfunction Qr(e) {\n  const t = eo(), n = ae(e) ? Le(e) : e;\n  return n.transform !== \"none\" || n.perspective !== \"none\" || (n.containerType ? n.containerType !== \"normal\" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !t && (n.filter ? n.filter !== \"none\" : !1) || [\"transform\", \"perspective\", \"filter\"].some((s) => (n.willChange || \"\").includes(s)) || [\"paint\", \"layout\", \"strict\", \"content\"].some((s) => (n.contain || \"\").includes(s));\n}\nfunction Sh(e) {\n  let t = ut(e);\n  for (; Ve(t) && !en(t); ) {\n    if (Qr(t))\n      return t;\n    if (As(t))\n      return null;\n    t = ut(t);\n  }\n  return null;\n}\nfunction eo() {\n  return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nfunction en(e) {\n  return [\"html\", \"body\", \"#document\"].includes(on(e));\n}\nfunction Le(e) {\n  return me(e).getComputedStyle(e);\n}\nfunction Fs(e) {\n  return ae(e) ? {\n    scrollLeft: e.scrollLeft,\n    scrollTop: e.scrollTop\n  } : {\n    scrollLeft: e.scrollX,\n    scrollTop: e.scrollY\n  };\n}\nfunction ut(e) {\n  if (on(e) === \"html\")\n    return e;\n  const t = (\n    // Step into the shadow DOM of the parent of a slotted node.\n    e.assignedSlot || // DOM Element detected.\n    e.parentNode || // ShadowRoot detected.\n    _o(e) && e.host || // Fallback.\n    Je(e)\n  );\n  return _o(t) ? t.host : t;\n}\nfunction da(e) {\n  const t = ut(e);\n  return en(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : Ve(t) && En(t) ? t : da(t);\n}\nfunction xr(e, t, n) {\n  var s;\n  t === void 0 && (t = []), n === void 0 && (n = !0);\n  const r = da(e), o = r === ((s = e.ownerDocument) == null ? void 0 : s.body), i = me(r);\n  if (o) {\n    const a = wr(i);\n    return t.concat(i, i.visualViewport || [], En(r) ? r : [], a && n ? xr(a) : []);\n  }\n  return t.concat(r, xr(r, [], n));\n}\nfunction wr(e) {\n  return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;\n}\nconst hs = Math.min, Re = Math.max, fs = Math.round, Pe = (e) => ({\n  x: e,\n  y: e\n});\nfunction to(e, t) {\n  return typeof e == \"function\" ? e(t) : e;\n}\nfunction Vs(e) {\n  return e.split(\"-\")[0];\n}\nfunction no(e) {\n  return e.split(\"-\")[1];\n}\nfunction Rh(e) {\n  return e === \"x\" ? \"y\" : \"x\";\n}\nfunction Lh(e) {\n  return e === \"y\" ? \"height\" : \"width\";\n}\nfunction Bs(e) {\n  return [\"top\", \"bottom\"].includes(Vs(e)) ? \"y\" : \"x\";\n}\nfunction Nh(e) {\n  return Rh(Bs(e));\n}\nfunction Mh(e) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...e\n  };\n}\nfunction Dh(e) {\n  return typeof e != \"number\" ? Mh(e) : {\n    top: e,\n    right: e,\n    bottom: e,\n    left: e\n  };\n}\nfunction gs(e) {\n  const {\n    x: t,\n    y: n,\n    width: s,\n    height: r\n  } = e;\n  return {\n    width: s,\n    height: r,\n    top: n,\n    left: t,\n    right: t + s,\n    bottom: n + r,\n    x: t,\n    y: n\n  };\n}\nfunction Yo(e, t, n) {\n  let {\n    reference: s,\n    floating: r\n  } = e;\n  const o = Bs(t), i = Nh(t), a = Lh(i), c = Vs(t), u = o === \"y\", d = s.x + s.width / 2 - r.width / 2, h = s.y + s.height / 2 - r.height / 2, g = s[a] / 2 - r[a] / 2;\n  let f;\n  switch (c) {\n    case \"top\":\n      f = {\n        x: d,\n        y: s.y - r.height\n      };\n      break;\n    case \"bottom\":\n      f = {\n        x: d,\n        y: s.y + s.height\n      };\n      break;\n    case \"right\":\n      f = {\n        x: s.x + s.width,\n        y: h\n      };\n      break;\n    case \"left\":\n      f = {\n        x: s.x - r.width,\n        y: h\n      };\n      break;\n    default:\n      f = {\n        x: s.x,\n        y: s.y\n      };\n  }\n  switch (no(t)) {\n    case \"start\":\n      f[i] -= g * (n && u ? -1 : 1);\n      break;\n    case \"end\":\n      f[i] += g * (n && u ? -1 : 1);\n      break;\n  }\n  return f;\n}\nconst $h = async (e, t, n) => {\n  const {\n    placement: s = \"bottom\",\n    strategy: r = \"absolute\",\n    middleware: o = [],\n    platform: i\n  } = n, a = o.filter(Boolean), c = await (i.isRTL == null ? void 0 : i.isRTL(t));\n  let u = await i.getElementRects({\n    reference: e,\n    floating: t,\n    strategy: r\n  }), {\n    x: d,\n    y: h\n  } = Yo(u, s, c), g = s, f = {}, m = 0;\n  for (let p = 0; p < a.length; p++) {\n    const {\n      name: b,\n      fn: v\n    } = a[p], {\n      x: y,\n      y: C,\n      data: x,\n      reset: S\n    } = await v({\n      x: d,\n      y: h,\n      initialPlacement: s,\n      placement: g,\n      strategy: r,\n      middlewareData: f,\n      rects: u,\n      platform: i,\n      elements: {\n        reference: e,\n        floating: t\n      }\n    });\n    d = y ?? d, h = C ?? h, f = {\n      ...f,\n      [b]: {\n        ...f[b],\n        ...x\n      }\n    }, S && m <= 50 && (m++, typeof S == \"object\" && (S.placement && (g = S.placement), S.rects && (u = S.rects === !0 ? await i.getElementRects({\n      reference: e,\n      floating: t,\n      strategy: r\n    }) : S.rects), {\n      x: d,\n      y: h\n    } = Yo(u, g, c)), p = -1);\n  }\n  return {\n    x: d,\n    y: h,\n    placement: g,\n    strategy: r,\n    middlewareData: f\n  };\n};\nasync function Oh(e, t) {\n  var n;\n  t === void 0 && (t = {});\n  const {\n    x: s,\n    y: r,\n    platform: o,\n    rects: i,\n    elements: a,\n    strategy: c\n  } = e, {\n    boundary: u = \"clippingAncestors\",\n    rootBoundary: d = \"viewport\",\n    elementContext: h = \"floating\",\n    altBoundary: g = !1,\n    padding: f = 0\n  } = to(t, e), m = Dh(f), b = a[g ? h === \"floating\" ? \"reference\" : \"floating\" : h], v = gs(await o.getClippingRect({\n    element: (n = await (o.isElement == null ? void 0 : o.isElement(b))) == null || n ? b : b.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(a.floating)),\n    boundary: u,\n    rootBoundary: d,\n    strategy: c\n  })), y = h === \"floating\" ? {\n    x: s,\n    y: r,\n    width: i.floating.width,\n    height: i.floating.height\n  } : i.reference, C = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(a.floating)), x = await (o.isElement == null ? void 0 : o.isElement(C)) ? await (o.getScale == null ? void 0 : o.getScale(C)) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  }, S = gs(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements: a,\n    rect: y,\n    offsetParent: C,\n    strategy: c\n  }) : y);\n  return {\n    top: (v.top - S.top + m.top) / x.y,\n    bottom: (S.bottom - v.bottom + m.bottom) / x.y,\n    left: (v.left - S.left + m.left) / x.x,\n    right: (S.right - v.right + m.right) / x.x\n  };\n}\nasync function Th(e, t) {\n  const {\n    placement: n,\n    platform: s,\n    elements: r\n  } = e, o = await (s.isRTL == null ? void 0 : s.isRTL(r.floating)), i = Vs(n), a = no(n), c = Bs(n) === \"y\", u = [\"left\", \"top\"].includes(i) ? -1 : 1, d = o && c ? -1 : 1, h = to(t, e);\n  let {\n    mainAxis: g,\n    crossAxis: f,\n    alignmentAxis: m\n  } = typeof h == \"number\" ? {\n    mainAxis: h,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: h.mainAxis || 0,\n    crossAxis: h.crossAxis || 0,\n    alignmentAxis: h.alignmentAxis\n  };\n  return a && typeof m == \"number\" && (f = a === \"end\" ? m * -1 : m), c ? {\n    x: f * d,\n    y: g * u\n  } : {\n    x: g * u,\n    y: f * d\n  };\n}\nconst kh = function(e) {\n  return e === void 0 && (e = 0), {\n    name: \"offset\",\n    options: e,\n    async fn(t) {\n      var n, s;\n      const {\n        x: r,\n        y: o,\n        placement: i,\n        middlewareData: a\n      } = t, c = await Th(t, e);\n      return i === ((n = a.offset) == null ? void 0 : n.placement) && (s = a.arrow) != null && s.alignmentOffset ? {} : {\n        x: r + c.x,\n        y: o + c.y,\n        data: {\n          ...c,\n          placement: i\n        }\n      };\n    }\n  };\n}, Ih = function(e) {\n  return e === void 0 && (e = {}), {\n    name: \"size\",\n    options: e,\n    async fn(t) {\n      var n, s;\n      const {\n        placement: r,\n        rects: o,\n        platform: i,\n        elements: a\n      } = t, {\n        apply: c = () => {\n        },\n        ...u\n      } = to(e, t), d = await Oh(t, u), h = Vs(r), g = no(r), f = Bs(r) === \"y\", {\n        width: m,\n        height: p\n      } = o.floating;\n      let b, v;\n      h === \"top\" || h === \"bottom\" ? (b = h, v = g === (await (i.isRTL == null ? void 0 : i.isRTL(a.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\") : (v = h, b = g === \"end\" ? \"top\" : \"bottom\");\n      const y = p - d.top - d.bottom, C = m - d.left - d.right, x = hs(p - d[b], y), S = hs(m - d[v], C), D = !t.middlewareData.shift;\n      let R = x, N = S;\n      if ((n = t.middlewareData.shift) != null && n.enabled.x && (N = C), (s = t.middlewareData.shift) != null && s.enabled.y && (R = y), D && !g) {\n        const O = Re(d.left, 0), $ = Re(d.right, 0), W = Re(d.top, 0), A = Re(d.bottom, 0);\n        f ? N = m - 2 * (O !== 0 || $ !== 0 ? O + $ : Re(d.left, d.right)) : R = p - 2 * (W !== 0 || A !== 0 ? W + A : Re(d.top, d.bottom));\n      }\n      await c({\n        ...t,\n        availableWidth: N,\n        availableHeight: R\n      });\n      const k = await i.getDimensions(a.floating);\n      return m !== k.width || p !== k.height ? {\n        reset: {\n          rects: !0\n        }\n      } : {};\n    }\n  };\n};\nfunction ha(e) {\n  const t = Le(e);\n  let n = parseFloat(t.width) || 0, s = parseFloat(t.height) || 0;\n  const r = Ve(e), o = r ? e.offsetWidth : n, i = r ? e.offsetHeight : s, a = fs(n) !== o || fs(s) !== i;\n  return a && (n = o, s = i), {\n    width: n,\n    height: s,\n    $: a\n  };\n}\nfunction fa(e) {\n  return ae(e) ? e : e.contextElement;\n}\nfunction Gt(e) {\n  const t = fa(e);\n  if (!Ve(t))\n    return Pe(1);\n  const n = t.getBoundingClientRect(), {\n    width: s,\n    height: r,\n    $: o\n  } = ha(t);\n  let i = (o ? fs(n.width) : n.width) / s, a = (o ? fs(n.height) : n.height) / r;\n  return (!i || !Number.isFinite(i)) && (i = 1), (!a || !Number.isFinite(a)) && (a = 1), {\n    x: i,\n    y: a\n  };\n}\nconst Eh = /* @__PURE__ */ Pe(0);\nfunction ga(e) {\n  const t = me(e);\n  return !eo() || !t.visualViewport ? Eh : {\n    x: t.visualViewport.offsetLeft,\n    y: t.visualViewport.offsetTop\n  };\n}\nfunction Ph(e, t, n) {\n  return t === void 0 && (t = !1), !n || t && n !== me(e) ? !1 : t;\n}\nfunction Rn(e, t, n, s) {\n  t === void 0 && (t = !1), n === void 0 && (n = !1);\n  const r = e.getBoundingClientRect(), o = fa(e);\n  let i = Pe(1);\n  t && (s ? ae(s) && (i = Gt(s)) : i = Gt(e));\n  const a = Ph(o, n, s) ? ga(o) : Pe(0);\n  let c = (r.left + a.x) / i.x, u = (r.top + a.y) / i.y, d = r.width / i.x, h = r.height / i.y;\n  if (o) {\n    const g = me(o), f = s && ae(s) ? me(s) : s;\n    let m = g, p = wr(m);\n    for (; p && s && f !== m; ) {\n      const b = Gt(p), v = p.getBoundingClientRect(), y = Le(p), C = v.left + (p.clientLeft + parseFloat(y.paddingLeft)) * b.x, x = v.top + (p.clientTop + parseFloat(y.paddingTop)) * b.y;\n      c *= b.x, u *= b.y, d *= b.x, h *= b.y, c += C, u += x, m = me(p), p = wr(m);\n    }\n  }\n  return gs({\n    width: d,\n    height: h,\n    x: c,\n    y: u\n  });\n}\nfunction so(e, t) {\n  const n = Fs(e).scrollLeft;\n  return t ? t.left + n : Rn(Je(e)).left + n;\n}\nfunction pa(e, t, n) {\n  n === void 0 && (n = !1);\n  const s = e.getBoundingClientRect(), r = s.left + t.scrollLeft - (n ? 0 : (\n    // RTL <body> scrollbar.\n    so(e, s)\n  )), o = s.top + t.scrollTop;\n  return {\n    x: r,\n    y: o\n  };\n}\nfunction Ah(e) {\n  let {\n    elements: t,\n    rect: n,\n    offsetParent: s,\n    strategy: r\n  } = e;\n  const o = r === \"fixed\", i = Je(s), a = t ? As(t.floating) : !1;\n  if (s === i || a && o)\n    return n;\n  let c = {\n    scrollLeft: 0,\n    scrollTop: 0\n  }, u = Pe(1);\n  const d = Pe(0), h = Ve(s);\n  if ((h || !h && !o) && ((on(s) !== \"body\" || En(i)) && (c = Fs(s)), Ve(s))) {\n    const f = Rn(s);\n    u = Gt(s), d.x = f.x + s.clientLeft, d.y = f.y + s.clientTop;\n  }\n  const g = i && !h && !o ? pa(i, c, !0) : Pe(0);\n  return {\n    width: n.width * u.x,\n    height: n.height * u.y,\n    x: n.x * u.x - c.scrollLeft * u.x + d.x + g.x,\n    y: n.y * u.y - c.scrollTop * u.y + d.y + g.y\n  };\n}\nfunction Fh(e) {\n  return Array.from(e.getClientRects());\n}\nfunction Vh(e) {\n  const t = Je(e), n = Fs(e), s = e.ownerDocument.body, r = Re(t.scrollWidth, t.clientWidth, s.scrollWidth, s.clientWidth), o = Re(t.scrollHeight, t.clientHeight, s.scrollHeight, s.clientHeight);\n  let i = -n.scrollLeft + so(e);\n  const a = -n.scrollTop;\n  return Le(s).direction === \"rtl\" && (i += Re(t.clientWidth, s.clientWidth) - r), {\n    width: r,\n    height: o,\n    x: i,\n    y: a\n  };\n}\nfunction Bh(e, t) {\n  const n = me(e), s = Je(e), r = n.visualViewport;\n  let o = s.clientWidth, i = s.clientHeight, a = 0, c = 0;\n  if (r) {\n    o = r.width, i = r.height;\n    const u = eo();\n    (!u || u && t === \"fixed\") && (a = r.offsetLeft, c = r.offsetTop);\n  }\n  return {\n    width: o,\n    height: i,\n    x: a,\n    y: c\n  };\n}\nfunction jh(e, t) {\n  const n = Rn(e, !0, t === \"fixed\"), s = n.top + e.clientTop, r = n.left + e.clientLeft, o = Ve(e) ? Gt(e) : Pe(1), i = e.clientWidth * o.x, a = e.clientHeight * o.y, c = r * o.x, u = s * o.y;\n  return {\n    width: i,\n    height: a,\n    x: c,\n    y: u\n  };\n}\nfunction Go(e, t, n) {\n  let s;\n  if (t === \"viewport\")\n    s = Bh(e, n);\n  else if (t === \"document\")\n    s = Vh(Je(e));\n  else if (ae(t))\n    s = jh(t, n);\n  else {\n    const r = ga(e);\n    s = {\n      x: t.x - r.x,\n      y: t.y - r.y,\n      width: t.width,\n      height: t.height\n    };\n  }\n  return gs(s);\n}\nfunction ma(e, t) {\n  const n = ut(e);\n  return n === t || !ae(n) || en(n) ? !1 : Le(n).position === \"fixed\" || ma(n, t);\n}\nfunction Wh(e, t) {\n  const n = t.get(e);\n  if (n)\n    return n;\n  let s = xr(e, [], !1).filter((a) => ae(a) && on(a) !== \"body\"), r = null;\n  const o = Le(e).position === \"fixed\";\n  let i = o ? ut(e) : e;\n  for (; ae(i) && !en(i); ) {\n    const a = Le(i), c = Qr(i);\n    !c && a.position === \"fixed\" && (r = null), (o ? !c && !r : !c && a.position === \"static\" && !!r && [\"absolute\", \"fixed\"].includes(r.position) || En(i) && !c && ma(e, i)) ? s = s.filter((d) => d !== i) : r = a, i = ut(i);\n  }\n  return t.set(e, s), s;\n}\nfunction Hh(e) {\n  let {\n    element: t,\n    boundary: n,\n    rootBoundary: s,\n    strategy: r\n  } = e;\n  const i = [...n === \"clippingAncestors\" ? As(t) ? [] : Wh(t, this._c) : [].concat(n), s], a = i[0], c = i.reduce((u, d) => {\n    const h = Go(t, d, r);\n    return u.top = Re(h.top, u.top), u.right = hs(h.right, u.right), u.bottom = hs(h.bottom, u.bottom), u.left = Re(h.left, u.left), u;\n  }, Go(t, a, r));\n  return {\n    width: c.right - c.left,\n    height: c.bottom - c.top,\n    x: c.left,\n    y: c.top\n  };\n}\nfunction zh(e) {\n  const {\n    width: t,\n    height: n\n  } = ha(e);\n  return {\n    width: t,\n    height: n\n  };\n}\nfunction Uh(e, t, n) {\n  const s = Ve(t), r = Je(t), o = n === \"fixed\", i = Rn(e, !0, o, t);\n  let a = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const c = Pe(0);\n  if (s || !s && !o)\n    if ((on(t) !== \"body\" || En(r)) && (a = Fs(t)), s) {\n      const g = Rn(t, !0, o, t);\n      c.x = g.x + t.clientLeft, c.y = g.y + t.clientTop;\n    } else\n      r && (c.x = so(r));\n  const u = r && !s && !o ? pa(r, a) : Pe(0), d = i.left + a.scrollLeft - c.x - u.x, h = i.top + a.scrollTop - c.y - u.y;\n  return {\n    x: d,\n    y: h,\n    width: i.width,\n    height: i.height\n  };\n}\nfunction or(e) {\n  return Le(e).position === \"static\";\n}\nfunction Zo(e, t) {\n  if (!Ve(e) || Le(e).position === \"fixed\")\n    return null;\n  if (t)\n    return t(e);\n  let n = e.offsetParent;\n  return Je(e) === n && (n = n.ownerDocument.body), n;\n}\nfunction ba(e, t) {\n  const n = me(e);\n  if (As(e))\n    return n;\n  if (!Ve(e)) {\n    let r = ut(e);\n    for (; r && !en(r); ) {\n      if (ae(r) && !or(r))\n        return r;\n      r = ut(r);\n    }\n    return n;\n  }\n  let s = Zo(e, t);\n  for (; s && wh(s) && or(s); )\n    s = Zo(s, t);\n  return s && en(s) && or(s) && !Qr(s) ? n : s || Sh(e) || n;\n}\nconst Kh = async function(e) {\n  const t = this.getOffsetParent || ba, n = this.getDimensions, s = await n(e.floating);\n  return {\n    reference: Uh(e.reference, await t(e.floating), e.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: s.width,\n      height: s.height\n    }\n  };\n};\nfunction qh(e) {\n  return Le(e).direction === \"rtl\";\n}\nconst Xh = {\n  convertOffsetParentRelativeRectToViewportRelativeRect: Ah,\n  getDocumentElement: Je,\n  getClippingRect: Hh,\n  getOffsetParent: ba,\n  getElementRects: Kh,\n  getClientRects: Fh,\n  getDimensions: zh,\n  getScale: Gt,\n  isElement: ae,\n  isRTL: qh\n}, _h = kh, Yh = Ih, Gh = (e, t, n) => {\n  const s = /* @__PURE__ */ new Map(), r = {\n    platform: Xh,\n    ...n\n  }, o = {\n    ...r.platform,\n    _c: s\n  };\n  return $h(e, t, {\n    ...r,\n    platform: o\n  });\n};\nvar os = typeof document < \"u\" ? Or : B;\nfunction ps(e, t) {\n  if (e === t)\n    return !0;\n  if (typeof e != typeof t)\n    return !1;\n  if (typeof e == \"function\" && e.toString() === t.toString())\n    return !0;\n  let n, s, r;\n  if (e && t && typeof e == \"object\") {\n    if (Array.isArray(e)) {\n      if (n = e.length, n !== t.length)\n        return !1;\n      for (s = n; s-- !== 0; )\n        if (!ps(e[s], t[s]))\n          return !1;\n      return !0;\n    }\n    if (r = Object.keys(e), n = r.length, n !== Object.keys(t).length)\n      return !1;\n    for (s = n; s-- !== 0; )\n      if (!{}.hasOwnProperty.call(t, r[s]))\n        return !1;\n    for (s = n; s-- !== 0; ) {\n      const o = r[s];\n      if (!(o === \"_owner\" && e.$$typeof) && !ps(e[o], t[o]))\n        return !1;\n    }\n    return !0;\n  }\n  return e !== e && t !== t;\n}\nfunction va(e) {\n  return typeof window > \"u\" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;\n}\nfunction Jo(e, t) {\n  const n = va(e);\n  return Math.round(t * n) / n;\n}\nfunction ir(e) {\n  const t = P.useRef(e);\n  return os(() => {\n    t.current = e;\n  }), t;\n}\nfunction Zh(e) {\n  e === void 0 && (e = {});\n  const {\n    placement: t = \"bottom\",\n    strategy: n = \"absolute\",\n    middleware: s = [],\n    platform: r,\n    elements: {\n      reference: o,\n      floating: i\n    } = {},\n    transform: a = !0,\n    whileElementsMounted: c,\n    open: u\n  } = e, [d, h] = P.useState({\n    x: 0,\n    y: 0,\n    strategy: n,\n    placement: t,\n    middlewareData: {},\n    isPositioned: !1\n  }), [g, f] = P.useState(s);\n  ps(g, s) || f(s);\n  const [m, p] = P.useState(null), [b, v] = P.useState(null), y = P.useCallback((Y) => {\n    Y !== D.current && (D.current = Y, p(Y));\n  }, []), C = P.useCallback((Y) => {\n    Y !== R.current && (R.current = Y, v(Y));\n  }, []), x = o || m, S = i || b, D = P.useRef(null), R = P.useRef(null), N = P.useRef(d), k = c != null, O = ir(c), $ = ir(r), W = ir(u), A = P.useCallback(() => {\n    if (!D.current || !R.current)\n      return;\n    const Y = {\n      placement: t,\n      strategy: n,\n      middleware: g\n    };\n    $.current && (Y.platform = $.current), Gh(D.current, R.current, Y).then((ne) => {\n      const ue = {\n        ...ne,\n        // The floating element's position may be recomputed while it's closed\n        // but still mounted (such as when transitioning out). To ensure\n        // `isPositioned` will be `false` initially on the next open, avoid\n        // setting it to `true` when `open === false` (must be specified).\n        isPositioned: W.current !== !1\n      };\n      z.current && !ps(N.current, ue) && (N.current = ue, cc.flushSync(() => {\n        h(ue);\n      }));\n    });\n  }, [g, t, n, $, W]);\n  os(() => {\n    u === !1 && N.current.isPositioned && (N.current.isPositioned = !1, h((Y) => ({\n      ...Y,\n      isPositioned: !1\n    })));\n  }, [u]);\n  const z = P.useRef(!1);\n  os(() => (z.current = !0, () => {\n    z.current = !1;\n  }), []), os(() => {\n    if (x && (D.current = x), S && (R.current = S), x && S) {\n      if (O.current)\n        return O.current(x, S, A);\n      A();\n    }\n  }, [x, S, A, O, k]);\n  const Ce = P.useMemo(() => ({\n    reference: D,\n    floating: R,\n    setReference: y,\n    setFloating: C\n  }), [y, C]), te = P.useMemo(() => ({\n    reference: x,\n    floating: S\n  }), [x, S]), Z = P.useMemo(() => {\n    const Y = {\n      position: n,\n      left: 0,\n      top: 0\n    };\n    if (!te.floating)\n      return Y;\n    const ne = Jo(te.floating, d.x), ue = Jo(te.floating, d.y);\n    return a ? {\n      ...Y,\n      transform: \"translate(\" + ne + \"px, \" + ue + \"px)\",\n      ...va(te.floating) >= 1.5 && {\n        willChange: \"transform\"\n      }\n    } : {\n      position: n,\n      left: ne,\n      top: ue\n    };\n  }, [n, a, te.floating, d.x, d.y]);\n  return P.useMemo(() => ({\n    ...d,\n    update: A,\n    refs: Ce,\n    elements: te,\n    floatingStyles: Z\n  }), [d, A, Ce, te, Z]);\n}\nconst Jh = (e, t) => ({\n  ..._h(e),\n  options: [e, t]\n}), Qh = (e, t) => ({\n  ...Yh(e),\n  options: [e, t]\n}), Ca = {\n  ...P\n}, ef = Ca.useInsertionEffect, tf = ef || ((e) => e());\nfunction nf(e) {\n  const t = P.useRef(() => {\n    if (process.env.NODE_ENV !== \"production\")\n      throw new Error(\"Cannot call an event handler while rendering.\");\n  });\n  return tf(() => {\n    t.current = e;\n  }), P.useCallback(function() {\n    for (var n = arguments.length, s = new Array(n), r = 0; r < n; r++)\n      s[r] = arguments[r];\n    return t.current == null ? void 0 : t.current(...s);\n  }, []);\n}\nvar Sr = typeof document < \"u\" ? Or : B;\nlet Qo = !1, sf = 0;\nconst ei = () => (\n  // Ensure the id is unique with multiple independent versions of Floating UI\n  // on <React 18\n  \"floating-ui-\" + Math.random().toString(36).slice(2, 6) + sf++\n);\nfunction rf() {\n  const [e, t] = P.useState(() => Qo ? ei() : void 0);\n  return Sr(() => {\n    e == null && t(ei());\n  }, []), P.useEffect(() => {\n    Qo = !0;\n  }, []), e;\n}\nconst of = Ca.useId, af = of || rf;\nlet Rr;\nprocess.env.NODE_ENV !== \"production\" && (Rr = /* @__PURE__ */ new Set());\nfunction lf() {\n  for (var e, t = arguments.length, n = new Array(t), s = 0; s < t; s++)\n    n[s] = arguments[s];\n  const r = \"Floating UI: \" + n.join(\" \");\n  if (!((e = Rr) != null && e.has(r))) {\n    var o;\n    (o = Rr) == null || o.add(r), console.error(r);\n  }\n}\nfunction cf() {\n  const e = /* @__PURE__ */ new Map();\n  return {\n    emit(t, n) {\n      var s;\n      (s = e.get(t)) == null || s.forEach((r) => r(n));\n    },\n    on(t, n) {\n      e.set(t, [...e.get(t) || [], n]);\n    },\n    off(t, n) {\n      var s;\n      e.set(t, ((s = e.get(t)) == null ? void 0 : s.filter((r) => r !== n)) || []);\n    }\n  };\n}\nconst uf = /* @__PURE__ */ P.createContext(null), df = /* @__PURE__ */ P.createContext(null), hf = () => {\n  var e;\n  return ((e = P.useContext(uf)) == null ? void 0 : e.id) || null;\n}, ff = () => P.useContext(df);\nfunction gf(e) {\n  const {\n    open: t = !1,\n    onOpenChange: n,\n    elements: s\n  } = e, r = af(), o = P.useRef({}), [i] = P.useState(() => cf()), a = hf() != null;\n  if (process.env.NODE_ENV !== \"production\") {\n    const f = s.reference;\n    f && !ae(f) && lf(\"Cannot pass a virtual element to the `elements.reference` option,\", \"as it must be a real DOM element. Use `refs.setPositionReference()`\", \"instead.\");\n  }\n  const [c, u] = P.useState(s.reference), d = nf((f, m, p) => {\n    o.current.openEvent = f ? m : void 0, i.emit(\"openchange\", {\n      open: f,\n      event: m,\n      reason: p,\n      nested: a\n    }), n == null || n(f, m, p);\n  }), h = P.useMemo(() => ({\n    setPositionReference: u\n  }), []), g = P.useMemo(() => ({\n    reference: c || s.reference || null,\n    floating: s.floating || null,\n    domReference: s.reference\n  }), [c, s.reference, s.floating]);\n  return P.useMemo(() => ({\n    dataRef: o,\n    open: t,\n    onOpenChange: d,\n    elements: g,\n    events: i,\n    floatingId: r,\n    refs: h\n  }), [t, d, g, i, r, h]);\n}\nfunction pf(e) {\n  e === void 0 && (e = {});\n  const {\n    nodeId: t\n  } = e, n = gf({\n    ...e,\n    elements: {\n      reference: null,\n      floating: null,\n      ...e.elements\n    }\n  }), s = e.rootContext || n, r = s.elements, [o, i] = P.useState(null), [a, c] = P.useState(null), d = (r == null ? void 0 : r.domReference) || o, h = P.useRef(null), g = ff();\n  Sr(() => {\n    d && (h.current = d);\n  }, [d]);\n  const f = Zh({\n    ...e,\n    elements: {\n      ...r,\n      ...a && {\n        reference: a\n      }\n    }\n  }), m = P.useCallback((C) => {\n    const x = ae(C) ? {\n      getBoundingClientRect: () => C.getBoundingClientRect(),\n      contextElement: C\n    } : C;\n    c(x), f.refs.setReference(x);\n  }, [f.refs]), p = P.useCallback((C) => {\n    (ae(C) || C === null) && (h.current = C, i(C)), (ae(f.refs.reference.current) || f.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to\n    // `null` to support `positionReference` + an unstable `reference`\n    // callback ref.\n    C !== null && !ae(C)) && f.refs.setReference(C);\n  }, [f.refs]), b = P.useMemo(() => ({\n    ...f.refs,\n    setReference: p,\n    setPositionReference: m,\n    domReference: h\n  }), [f.refs, p, m]), v = P.useMemo(() => ({\n    ...f.elements,\n    domReference: d\n  }), [f.elements, d]), y = P.useMemo(() => ({\n    ...f,\n    ...s,\n    refs: b,\n    elements: v,\n    nodeId: t\n  }), [f, b, v, t, s]);\n  return Sr(() => {\n    s.dataRef.current.floatingContext = y;\n    const C = g == null ? void 0 : g.nodesRef.current.find((x) => x.id === t);\n    C && (C.context = y);\n  }), P.useMemo(() => ({\n    ...f,\n    context: y,\n    refs: b,\n    elements: v\n  }), [f, b, v, y]);\n}\nconst ya = (e) => Qh({\n  apply({ rects: t, elements: n }) {\n    Object.assign(\n      n.floating.style,\n      e(t.reference)\n    );\n  }\n}), mf = ya(\n  (e) => ({ width: `${e.width}px` })\n), bf = ya(\n  (e) => ({ height: `${e.height}px` })\n), vf = ({\n  offset: e = 0,\n  matchWidth: t,\n  matchHeight: n\n} = {}) => {\n  const s = [\n    Jh(parseInt(e))\n  ];\n  return t && s.push(mf), n && s.push(bf), s;\n}, Cf = ({\n  placement: e,\n  defaultPlacement: t,\n  right: n,\n  vertical: s = \"bottom\"\n} = {}) => e || t || (n ? `${s}-end` : `${s}-start`), xa = (e) => pf({\n  middleware: vf(e),\n  placement: Cf(e)\n}), yf = ({\n  className: e = \"dropdown\",\n  openClass: t = \"open\",\n  closedClass: n = \"closed\",\n  isOpen: s,\n  size: r,\n  wide: o,\n  offset: i = 8,\n  placement: a,\n  right: c,\n  Trigger: u = ph,\n  Options: d = xh\n}) => {\n  const { refs: h, floatingStyles: g } = xa({\n    offset: i,\n    placement: a,\n    right: c\n  });\n  return /* @__PURE__ */ w(\n    \"div\",\n    {\n      className: M(\n        e,\n        r,\n        s ? t : n,\n        { right: c, wide: o }\n      ),\n      children: [\n        /* @__PURE__ */ l(u, { floatingRef: h.setReference }),\n        s && /* @__PURE__ */ l(\n          d,\n          {\n            floatingRef: h.setFloating,\n            floatingStyle: g\n          }\n        )\n      ]\n    }\n  );\n}, xf = rn.Consumer(yf), wf = ({\n  Content: e = xf,\n  ...t\n}) => /* @__PURE__ */ l(rn.Provider, { ...t, children: /* @__PURE__ */ l(e, {}) }), Sf = L(wf, \"DropdownMenu\"), Rf = ({\n  setPageSize: e,\n  pageSizes: t = [10, 25, 50, 100, 250, 500, 1e3],\n  pageSizeText: n = (s) => `${s} per page`\n}) => /* @__PURE__ */ l(\"div\", { className: \"pagesize\", children: /* @__PURE__ */ l(\n  Sf,\n  {\n    right: !0,\n    iconRight: \"page\",\n    text: \"Page Size\",\n    size: \"small\",\n    triggerClass: \"trigger pad-v-none\",\n    options: t.map(\n      (s) => ({ n: s, text: n(s) })\n    ),\n    onSelect: (s) => e(s.n)\n  }\n) }), Lf = _.Consumer(Rf);\nclass yn extends ca {\n}\nI(yn, \"debug\", !1), I(yn, \"debugPrefix\", \"Dropdown > \"), I(yn, \"debugColor\", \"MediumVioletRed\"), I(yn, \"actions\", [\n  \"onMouseEnter\",\n  \"onMouseLeave\",\n  \"onFocus\",\n  \"onBlur\",\n  \"onClick\",\n  \"onKeyDown\",\n  \"open\",\n  \"close\",\n  \"triggerRef\"\n]);\nconst an = Xe(yn), kC = an.Use, Nf = ({\n  triggerClass: e = \"trigger\",\n  triggerRef: t,\n  triggerColor: n,\n  triggerSize: s,\n  button: r,\n  icon: o,\n  floatingRef: i,\n  safeAreaClass: a = \"safe-area\",\n  onMouseEnter: c,\n  onMouseLeave: u,\n  onKeyDown: d,\n  onFocus: h,\n  onBlur: g,\n  onClick: f,\n  ...m\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: M(e, n, s, { button: r, icon: o }),\n    onClick: f,\n    onMouseEnter: c,\n    onMouseLeave: u,\n    onKeyDown: d,\n    onFocus: h,\n    onBlur: g,\n    tabIndex: 0,\n    ref: Yr([t, i]),\n    children: [\n      /* @__PURE__ */ l(mt, { icon: o, ...kn(m, /^(icon|text)/) }),\n      /* @__PURE__ */ l(\"div\", { className: a })\n    ]\n  }\n), Mf = an.Consumer(Nf), Df = ({\n  bodyClass: e = \"body border bdr-1\",\n  onMouseEnter: t,\n  onMouseLeave: n,\n  floatingRef: s,\n  floatingStyle: r,\n  content: o\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: e,\n    onMouseEnter: t,\n    onMouseLeave: n,\n    ref: s,\n    style: r,\n    children: o || \"No content defined\"\n  }\n), $f = an.Consumer(Df), Of = ({\n  className: e = \"dropdown\",\n  openClass: t = \"open\",\n  closedClass: n = \"closed\",\n  placement: s,\n  offset: r = 8,\n  isOpen: o,\n  right: i,\n  size: a,\n  wide: c,\n  Trigger: u = Mf,\n  Body: d = $f\n}) => {\n  const { refs: h, floatingStyles: g } = xa({\n    offset: r,\n    placement: s,\n    right: i\n  });\n  return /* @__PURE__ */ w(\n    \"div\",\n    {\n      className: M(\n        e,\n        a,\n        o ? t : n,\n        { right: i, wide: c }\n      ),\n      children: [\n        /* @__PURE__ */ l(u, { floatingRef: h.setReference }),\n        o && /* @__PURE__ */ l(\n          d,\n          {\n            floatingRef: h.setFloating,\n            floatingStyle: g\n          }\n        )\n      ]\n    }\n  );\n}, Tf = an.Consumer(Of), kf = ({\n  Content: e = Tf,\n  content: t,\n  children: n,\n  ...s\n}) => /* @__PURE__ */ l(an.Provider, { content: t || n, ...s, children: /* @__PURE__ */ l(e, {}) }), If = L(kf, \"Dropdown\"), Ef = ({\n  item: e,\n  setNodeRef: t,\n  style: n,\n  listeners: s,\n  toggleVisibleColumn: r,\n  isVisible: o,\n  ...i\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    ref: t,\n    style: n,\n    className: `sortable item flex middle outline pad-v-none pad-h-1 border mar-b-2 ${e.moved ? \"moved\" : \"\"}`,\n    ...i,\n    children: [\n      /* @__PURE__ */ l(\n        oa,\n        {\n          className: \"fluid flex middle no-focus\",\n          checked: o[e.id] || !1,\n          onChange: () => r(e.id),\n          text: e.heading\n        },\n        e.id\n      ),\n      /* @__PURE__ */ l(\n        \"div\",\n        {\n          ...s,\n          className: \"pad-h-2\",\n          children: /* @__PURE__ */ l(X, { name: \"drag\", className: \"drag-handle\" })\n        }\n      )\n    ]\n  }\n), Pf = ({\n  close: e\n}) => /* @__PURE__ */ l(\n  Se,\n  {\n    className: \"wide\",\n    size: \"smaller\",\n    color: \"green\",\n    text: \"OK\",\n    onClick: e\n  }\n), Af = an.Consumer(Pf);\nfunction Ff() {\n  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)\n    t[n] = arguments[n];\n  return H(\n    () => (s) => {\n      t.forEach((r) => r(s));\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    t\n  );\n}\nconst js = typeof window < \"u\" && typeof window.document < \"u\" && typeof window.document.createElement < \"u\";\nfunction ln(e) {\n  const t = Object.prototype.toString.call(e);\n  return t === \"[object Window]\" || // In Electron context the Window object serializes to [object global]\n  t === \"[object global]\";\n}\nfunction ro(e) {\n  return \"nodeType\" in e;\n}\nfunction ce(e) {\n  var t, n;\n  return e ? ln(e) ? e : ro(e) && (t = (n = e.ownerDocument) == null ? void 0 : n.defaultView) != null ? t : window : window;\n}\nfunction oo(e) {\n  const {\n    Document: t\n  } = ce(e);\n  return e instanceof t;\n}\nfunction Pn(e) {\n  return ln(e) ? !1 : e instanceof ce(e).HTMLElement;\n}\nfunction wa(e) {\n  return e instanceof ce(e).SVGElement;\n}\nfunction cn(e) {\n  return e ? ln(e) ? e.document : ro(e) ? oo(e) ? e : Pn(e) || wa(e) ? e.ownerDocument : document : document : document;\n}\nconst Ne = js ? Or : B;\nfunction Ws(e) {\n  const t = U(e);\n  return Ne(() => {\n    t.current = e;\n  }), le(function() {\n    for (var n = arguments.length, s = new Array(n), r = 0; r < n; r++)\n      s[r] = arguments[r];\n    return t.current == null ? void 0 : t.current(...s);\n  }, []);\n}\nfunction Vf() {\n  const e = U(null), t = le((s, r) => {\n    e.current = setInterval(s, r);\n  }, []), n = le(() => {\n    e.current !== null && (clearInterval(e.current), e.current = null);\n  }, []);\n  return [t, n];\n}\nfunction Ln(e, t) {\n  t === void 0 && (t = [e]);\n  const n = U(e);\n  return Ne(() => {\n    n.current !== e && (n.current = e);\n  }, t), n;\n}\nfunction An(e, t) {\n  const n = U();\n  return H(\n    () => {\n      const s = e(n.current);\n      return n.current = s, s;\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [...t]\n  );\n}\nfunction ms(e) {\n  const t = Ws(e), n = U(null), s = le(\n    (r) => {\n      r !== n.current && (t == null || t(r, n.current)), n.current = r;\n    },\n    //eslint-disable-next-line\n    []\n  );\n  return [n, s];\n}\nfunction bs(e) {\n  const t = U();\n  return B(() => {\n    t.current = e;\n  }, [e]), t.current;\n}\nlet ar = {};\nfunction Fn(e, t) {\n  return H(() => {\n    if (t)\n      return t;\n    const n = ar[e] == null ? 0 : ar[e] + 1;\n    return ar[e] = n, e + \"-\" + n;\n  }, [e, t]);\n}\nfunction Sa(e) {\n  return function(t) {\n    for (var n = arguments.length, s = new Array(n > 1 ? n - 1 : 0), r = 1; r < n; r++)\n      s[r - 1] = arguments[r];\n    return s.reduce((o, i) => {\n      const a = Object.entries(i);\n      for (const [c, u] of a) {\n        const d = o[c];\n        d != null && (o[c] = d + e * u);\n      }\n      return o;\n    }, {\n      ...t\n    });\n  };\n}\nconst Zt = /* @__PURE__ */ Sa(1), Nn = /* @__PURE__ */ Sa(-1);\nfunction Bf(e) {\n  return \"clientX\" in e && \"clientY\" in e;\n}\nfunction Hs(e) {\n  if (!e)\n    return !1;\n  const {\n    KeyboardEvent: t\n  } = ce(e.target);\n  return t && e instanceof t;\n}\nfunction jf(e) {\n  if (!e)\n    return !1;\n  const {\n    TouchEvent: t\n  } = ce(e.target);\n  return t && e instanceof t;\n}\nfunction vs(e) {\n  if (jf(e)) {\n    if (e.touches && e.touches.length) {\n      const {\n        clientX: t,\n        clientY: n\n      } = e.touches[0];\n      return {\n        x: t,\n        y: n\n      };\n    } else if (e.changedTouches && e.changedTouches.length) {\n      const {\n        clientX: t,\n        clientY: n\n      } = e.changedTouches[0];\n      return {\n        x: t,\n        y: n\n      };\n    }\n  }\n  return Bf(e) ? {\n    x: e.clientX,\n    y: e.clientY\n  } : null;\n}\nconst dt = /* @__PURE__ */ Object.freeze({\n  Translate: {\n    toString(e) {\n      if (!e)\n        return;\n      const {\n        x: t,\n        y: n\n      } = e;\n      return \"translate3d(\" + (t ? Math.round(t) : 0) + \"px, \" + (n ? Math.round(n) : 0) + \"px, 0)\";\n    }\n  },\n  Scale: {\n    toString(e) {\n      if (!e)\n        return;\n      const {\n        scaleX: t,\n        scaleY: n\n      } = e;\n      return \"scaleX(\" + t + \") scaleY(\" + n + \")\";\n    }\n  },\n  Transform: {\n    toString(e) {\n      if (e)\n        return [dt.Translate.toString(e), dt.Scale.toString(e)].join(\" \");\n    }\n  },\n  Transition: {\n    toString(e) {\n      let {\n        property: t,\n        duration: n,\n        easing: s\n      } = e;\n      return t + \" \" + n + \"ms \" + s;\n    }\n  }\n}), ti = \"a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]\";\nfunction Wf(e) {\n  return e.matches(ti) ? e : e.querySelector(ti);\n}\nconst Hf = {\n  display: \"none\"\n};\nfunction zf(e) {\n  let {\n    id: t,\n    value: n\n  } = e;\n  return F.createElement(\"div\", {\n    id: t,\n    style: Hf\n  }, n);\n}\nfunction Uf(e) {\n  let {\n    id: t,\n    announcement: n,\n    ariaLiveType: s = \"assertive\"\n  } = e;\n  const r = {\n    position: \"fixed\",\n    top: 0,\n    left: 0,\n    width: 1,\n    height: 1,\n    margin: -1,\n    border: 0,\n    padding: 0,\n    overflow: \"hidden\",\n    clip: \"rect(0 0 0 0)\",\n    clipPath: \"inset(100%)\",\n    whiteSpace: \"nowrap\"\n  };\n  return F.createElement(\"div\", {\n    id: t,\n    style: r,\n    role: \"status\",\n    \"aria-live\": s,\n    \"aria-atomic\": !0\n  }, n);\n}\nfunction Kf() {\n  const [e, t] = j(\"\");\n  return {\n    announce: le((s) => {\n      s != null && t(s);\n    }, []),\n    announcement: e\n  };\n}\nconst Ra = /* @__PURE__ */ Mt(null);\nfunction qf(e) {\n  const t = lt(Ra);\n  B(() => {\n    if (!t)\n      throw new Error(\"useDndMonitor must be used within a children of <DndContext>\");\n    return t(e);\n  }, [e, t]);\n}\nfunction Xf() {\n  const [e] = j(() => /* @__PURE__ */ new Set()), t = le((s) => (e.add(s), () => e.delete(s)), [e]);\n  return [le((s) => {\n    let {\n      type: r,\n      event: o\n    } = s;\n    e.forEach((i) => {\n      var a;\n      return (a = i[r]) == null ? void 0 : a.call(i, o);\n    });\n  }, [e]), t];\n}\nconst _f = {\n  draggable: `\n    To pick up a draggable item, press the space bar.\n    While dragging, use the arrow keys to move the item.\n    Press space again to drop the item in its new position, or press escape to cancel.\n  `\n}, Yf = {\n  onDragStart(e) {\n    let {\n      active: t\n    } = e;\n    return \"Picked up draggable item \" + t.id + \".\";\n  },\n  onDragOver(e) {\n    let {\n      active: t,\n      over: n\n    } = e;\n    return n ? \"Draggable item \" + t.id + \" was moved over droppable area \" + n.id + \".\" : \"Draggable item \" + t.id + \" is no longer over a droppable area.\";\n  },\n  onDragEnd(e) {\n    let {\n      active: t,\n      over: n\n    } = e;\n    return n ? \"Draggable item \" + t.id + \" was dropped over droppable area \" + n.id : \"Draggable item \" + t.id + \" was dropped.\";\n  },\n  onDragCancel(e) {\n    let {\n      active: t\n    } = e;\n    return \"Dragging was cancelled. Draggable item \" + t.id + \" was dropped.\";\n  }\n};\nfunction Gf(e) {\n  let {\n    announcements: t = Yf,\n    container: n,\n    hiddenTextDescribedById: s,\n    screenReaderInstructions: r = _f\n  } = e;\n  const {\n    announce: o,\n    announcement: i\n  } = Kf(), a = Fn(\"DndLiveRegion\"), [c, u] = j(!1);\n  if (B(() => {\n    u(!0);\n  }, []), qf(H(() => ({\n    onDragStart(h) {\n      let {\n        active: g\n      } = h;\n      o(t.onDragStart({\n        active: g\n      }));\n    },\n    onDragMove(h) {\n      let {\n        active: g,\n        over: f\n      } = h;\n      t.onDragMove && o(t.onDragMove({\n        active: g,\n        over: f\n      }));\n    },\n    onDragOver(h) {\n      let {\n        active: g,\n        over: f\n      } = h;\n      o(t.onDragOver({\n        active: g,\n        over: f\n      }));\n    },\n    onDragEnd(h) {\n      let {\n        active: g,\n        over: f\n      } = h;\n      o(t.onDragEnd({\n        active: g,\n        over: f\n      }));\n    },\n    onDragCancel(h) {\n      let {\n        active: g,\n        over: f\n      } = h;\n      o(t.onDragCancel({\n        active: g,\n        over: f\n      }));\n    }\n  }), [o, t])), !c)\n    return null;\n  const d = F.createElement(F.Fragment, null, F.createElement(zf, {\n    id: s,\n    value: r.draggable\n  }), F.createElement(Uf, {\n    id: a,\n    announcement: i\n  }));\n  return n ? uc(d, n) : d;\n}\nvar J;\n(function(e) {\n  e.DragStart = \"dragStart\", e.DragMove = \"dragMove\", e.DragEnd = \"dragEnd\", e.DragCancel = \"dragCancel\", e.DragOver = \"dragOver\", e.RegisterDroppable = \"registerDroppable\", e.SetDroppableDisabled = \"setDroppableDisabled\", e.UnregisterDroppable = \"unregisterDroppable\";\n})(J || (J = {}));\nfunction Cs() {\n}\nfunction ni(e, t) {\n  return H(\n    () => ({\n      sensor: e,\n      options: t ?? {}\n    }),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [e, t]\n  );\n}\nfunction Zf() {\n  for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)\n    t[n] = arguments[n];\n  return H(\n    () => [...t].filter((s) => s != null),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [...t]\n  );\n}\nconst Me = /* @__PURE__ */ Object.freeze({\n  x: 0,\n  y: 0\n});\nfunction La(e, t) {\n  return Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2));\n}\nfunction Jf(e, t) {\n  const n = vs(e);\n  if (!n)\n    return \"0 0\";\n  const s = {\n    x: (n.x - t.left) / t.width * 100,\n    y: (n.y - t.top) / t.height * 100\n  };\n  return s.x + \"% \" + s.y + \"%\";\n}\nfunction Na(e, t) {\n  let {\n    data: {\n      value: n\n    }\n  } = e, {\n    data: {\n      value: s\n    }\n  } = t;\n  return n - s;\n}\nfunction Qf(e, t) {\n  let {\n    data: {\n      value: n\n    }\n  } = e, {\n    data: {\n      value: s\n    }\n  } = t;\n  return s - n;\n}\nfunction si(e) {\n  let {\n    left: t,\n    top: n,\n    height: s,\n    width: r\n  } = e;\n  return [{\n    x: t,\n    y: n\n  }, {\n    x: t + r,\n    y: n\n  }, {\n    x: t,\n    y: n + s\n  }, {\n    x: t + r,\n    y: n + s\n  }];\n}\nfunction Ma(e, t) {\n  if (!e || e.length === 0)\n    return null;\n  const [n] = e;\n  return t ? n[t] : n;\n}\nfunction ri(e, t, n) {\n  return t === void 0 && (t = e.left), n === void 0 && (n = e.top), {\n    x: t + e.width * 0.5,\n    y: n + e.height * 0.5\n  };\n}\nconst eg = (e) => {\n  let {\n    collisionRect: t,\n    droppableRects: n,\n    droppableContainers: s\n  } = e;\n  const r = ri(t, t.left, t.top), o = [];\n  for (const i of s) {\n    const {\n      id: a\n    } = i, c = n.get(a);\n    if (c) {\n      const u = La(ri(c), r);\n      o.push({\n        id: a,\n        data: {\n          droppableContainer: i,\n          value: u\n        }\n      });\n    }\n  }\n  return o.sort(Na);\n}, tg = (e) => {\n  let {\n    collisionRect: t,\n    droppableRects: n,\n    droppableContainers: s\n  } = e;\n  const r = si(t), o = [];\n  for (const i of s) {\n    const {\n      id: a\n    } = i, c = n.get(a);\n    if (c) {\n      const u = si(c), d = r.reduce((g, f, m) => g + La(u[m], f), 0), h = Number((d / 4).toFixed(4));\n      o.push({\n        id: a,\n        data: {\n          droppableContainer: i,\n          value: h\n        }\n      });\n    }\n  }\n  return o.sort(Na);\n};\nfunction ng(e, t) {\n  const n = Math.max(t.top, e.top), s = Math.max(t.left, e.left), r = Math.min(t.left + t.width, e.left + e.width), o = Math.min(t.top + t.height, e.top + e.height), i = r - s, a = o - n;\n  if (s < r && n < o) {\n    const c = t.width * t.height, u = e.width * e.height, d = i * a, h = d / (c + u - d);\n    return Number(h.toFixed(4));\n  }\n  return 0;\n}\nconst sg = (e) => {\n  let {\n    collisionRect: t,\n    droppableRects: n,\n    droppableContainers: s\n  } = e;\n  const r = [];\n  for (const o of s) {\n    const {\n      id: i\n    } = o, a = n.get(i);\n    if (a) {\n      const c = ng(a, t);\n      c > 0 && r.push({\n        id: i,\n        data: {\n          droppableContainer: o,\n          value: c\n        }\n      });\n    }\n  }\n  return r.sort(Qf);\n};\nfunction rg(e, t, n) {\n  return {\n    ...e,\n    scaleX: t && n ? t.width / n.width : 1,\n    scaleY: t && n ? t.height / n.height : 1\n  };\n}\nfunction Da(e, t) {\n  return e && t ? {\n    x: e.left - t.left,\n    y: e.top - t.top\n  } : Me;\n}\nfunction og(e) {\n  return function(n) {\n    for (var s = arguments.length, r = new Array(s > 1 ? s - 1 : 0), o = 1; o < s; o++)\n      r[o - 1] = arguments[o];\n    return r.reduce((i, a) => ({\n      ...i,\n      top: i.top + e * a.y,\n      bottom: i.bottom + e * a.y,\n      left: i.left + e * a.x,\n      right: i.right + e * a.x\n    }), {\n      ...n\n    });\n  };\n}\nconst ig = /* @__PURE__ */ og(1);\nfunction $a(e) {\n  if (e.startsWith(\"matrix3d(\")) {\n    const t = e.slice(9, -1).split(/, /);\n    return {\n      x: +t[12],\n      y: +t[13],\n      scaleX: +t[0],\n      scaleY: +t[5]\n    };\n  } else if (e.startsWith(\"matrix(\")) {\n    const t = e.slice(7, -1).split(/, /);\n    return {\n      x: +t[4],\n      y: +t[5],\n      scaleX: +t[0],\n      scaleY: +t[3]\n    };\n  }\n  return null;\n}\nfunction ag(e, t, n) {\n  const s = $a(t);\n  if (!s)\n    return e;\n  const {\n    scaleX: r,\n    scaleY: o,\n    x: i,\n    y: a\n  } = s, c = e.left - i - (1 - r) * parseFloat(n), u = e.top - a - (1 - o) * parseFloat(n.slice(n.indexOf(\" \") + 1)), d = r ? e.width / r : e.width, h = o ? e.height / o : e.height;\n  return {\n    width: d,\n    height: h,\n    top: u,\n    right: c + d,\n    bottom: u + h,\n    left: c\n  };\n}\nconst lg = {\n  ignoreTransform: !1\n};\nfunction un(e, t) {\n  t === void 0 && (t = lg);\n  let n = e.getBoundingClientRect();\n  if (t.ignoreTransform) {\n    const {\n      transform: u,\n      transformOrigin: d\n    } = ce(e).getComputedStyle(e);\n    u && (n = ag(n, u, d));\n  }\n  const {\n    top: s,\n    left: r,\n    width: o,\n    height: i,\n    bottom: a,\n    right: c\n  } = n;\n  return {\n    top: s,\n    left: r,\n    width: o,\n    height: i,\n    bottom: a,\n    right: c\n  };\n}\nfunction oi(e) {\n  return un(e, {\n    ignoreTransform: !0\n  });\n}\nfunction cg(e) {\n  const t = e.innerWidth, n = e.innerHeight;\n  return {\n    top: 0,\n    left: 0,\n    right: t,\n    bottom: n,\n    width: t,\n    height: n\n  };\n}\nfunction ug(e, t) {\n  return t === void 0 && (t = ce(e).getComputedStyle(e)), t.position === \"fixed\";\n}\nfunction dg(e, t) {\n  t === void 0 && (t = ce(e).getComputedStyle(e));\n  const n = /(auto|scroll|overlay)/;\n  return [\"overflow\", \"overflowX\", \"overflowY\"].some((r) => {\n    const o = t[r];\n    return typeof o == \"string\" ? n.test(o) : !1;\n  });\n}\nfunction zs(e, t) {\n  const n = [];\n  function s(r) {\n    if (t != null && n.length >= t || !r)\n      return n;\n    if (oo(r) && r.scrollingElement != null && !n.includes(r.scrollingElement))\n      return n.push(r.scrollingElement), n;\n    if (!Pn(r) || wa(r) || n.includes(r))\n      return n;\n    const o = ce(e).getComputedStyle(r);\n    return r !== e && dg(r, o) && n.push(r), ug(r, o) ? n : s(r.parentNode);\n  }\n  return e ? s(e) : n;\n}\nfunction Oa(e) {\n  const [t] = zs(e, 1);\n  return t ?? null;\n}\nfunction lr(e) {\n  return !js || !e ? null : ln(e) ? e : ro(e) ? oo(e) || e === cn(e).scrollingElement ? window : Pn(e) ? e : null : null;\n}\nfunction Ta(e) {\n  return ln(e) ? e.scrollX : e.scrollLeft;\n}\nfunction ka(e) {\n  return ln(e) ? e.scrollY : e.scrollTop;\n}\nfunction Lr(e) {\n  return {\n    x: Ta(e),\n    y: ka(e)\n  };\n}\nvar ee;\n(function(e) {\n  e[e.Forward = 1] = \"Forward\", e[e.Backward = -1] = \"Backward\";\n})(ee || (ee = {}));\nfunction Ia(e) {\n  return !js || !e ? !1 : e === document.scrollingElement;\n}\nfunction Ea(e) {\n  const t = {\n    x: 0,\n    y: 0\n  }, n = Ia(e) ? {\n    height: window.innerHeight,\n    width: window.innerWidth\n  } : {\n    height: e.clientHeight,\n    width: e.clientWidth\n  }, s = {\n    x: e.scrollWidth - n.width,\n    y: e.scrollHeight - n.height\n  }, r = e.scrollTop <= t.y, o = e.scrollLeft <= t.x, i = e.scrollTop >= s.y, a = e.scrollLeft >= s.x;\n  return {\n    isTop: r,\n    isLeft: o,\n    isBottom: i,\n    isRight: a,\n    maxScroll: s,\n    minScroll: t\n  };\n}\nconst hg = {\n  x: 0.2,\n  y: 0.2\n};\nfunction fg(e, t, n, s, r) {\n  let {\n    top: o,\n    left: i,\n    right: a,\n    bottom: c\n  } = n;\n  s === void 0 && (s = 10), r === void 0 && (r = hg);\n  const {\n    isTop: u,\n    isBottom: d,\n    isLeft: h,\n    isRight: g\n  } = Ea(e), f = {\n    x: 0,\n    y: 0\n  }, m = {\n    x: 0,\n    y: 0\n  }, p = {\n    height: t.height * r.y,\n    width: t.width * r.x\n  };\n  return !u && o <= t.top + p.height ? (f.y = ee.Backward, m.y = s * Math.abs((t.top + p.height - o) / p.height)) : !d && c >= t.bottom - p.height && (f.y = ee.Forward, m.y = s * Math.abs((t.bottom - p.height - c) / p.height)), !g && a >= t.right - p.width ? (f.x = ee.Forward, m.x = s * Math.abs((t.right - p.width - a) / p.width)) : !h && i <= t.left + p.width && (f.x = ee.Backward, m.x = s * Math.abs((t.left + p.width - i) / p.width)), {\n    direction: f,\n    speed: m\n  };\n}\nfunction gg(e) {\n  if (e === document.scrollingElement) {\n    const {\n      innerWidth: o,\n      innerHeight: i\n    } = window;\n    return {\n      top: 0,\n      left: 0,\n      right: o,\n      bottom: i,\n      width: o,\n      height: i\n    };\n  }\n  const {\n    top: t,\n    left: n,\n    right: s,\n    bottom: r\n  } = e.getBoundingClientRect();\n  return {\n    top: t,\n    left: n,\n    right: s,\n    bottom: r,\n    width: e.clientWidth,\n    height: e.clientHeight\n  };\n}\nfunction Pa(e) {\n  return e.reduce((t, n) => Zt(t, Lr(n)), Me);\n}\nfunction pg(e) {\n  return e.reduce((t, n) => t + Ta(n), 0);\n}\nfunction mg(e) {\n  return e.reduce((t, n) => t + ka(n), 0);\n}\nfunction Aa(e, t) {\n  if (t === void 0 && (t = un), !e)\n    return;\n  const {\n    top: n,\n    left: s,\n    bottom: r,\n    right: o\n  } = t(e);\n  Oa(e) && (r <= 0 || o <= 0 || n >= window.innerHeight || s >= window.innerWidth) && e.scrollIntoView({\n    block: \"center\",\n    inline: \"center\"\n  });\n}\nconst bg = [[\"x\", [\"left\", \"right\"], pg], [\"y\", [\"top\", \"bottom\"], mg]];\nclass io {\n  constructor(t, n) {\n    this.rect = void 0, this.width = void 0, this.height = void 0, this.top = void 0, this.bottom = void 0, this.right = void 0, this.left = void 0;\n    const s = zs(n), r = Pa(s);\n    this.rect = {\n      ...t\n    }, this.width = t.width, this.height = t.height;\n    for (const [o, i, a] of bg)\n      for (const c of i)\n        Object.defineProperty(this, c, {\n          get: () => {\n            const u = a(s), d = r[o] - u;\n            return this.rect[c] + d;\n          },\n          enumerable: !0\n        });\n    Object.defineProperty(this, \"rect\", {\n      enumerable: !1\n    });\n  }\n}\nclass xn {\n  constructor(t) {\n    this.target = void 0, this.listeners = [], this.removeAll = () => {\n      this.listeners.forEach((n) => {\n        var s;\n        return (s = this.target) == null ? void 0 : s.removeEventListener(...n);\n      });\n    }, this.target = t;\n  }\n  add(t, n, s) {\n    var r;\n    (r = this.target) == null || r.addEventListener(t, n, s), this.listeners.push([t, n, s]);\n  }\n}\nfunction vg(e) {\n  const {\n    EventTarget: t\n  } = ce(e);\n  return e instanceof t ? e : cn(e);\n}\nfunction cr(e, t) {\n  const n = Math.abs(e.x), s = Math.abs(e.y);\n  return typeof t == \"number\" ? Math.sqrt(n ** 2 + s ** 2) > t : \"x\" in t && \"y\" in t ? n > t.x && s > t.y : \"x\" in t ? n > t.x : \"y\" in t ? s > t.y : !1;\n}\nvar we;\n(function(e) {\n  e.Click = \"click\", e.DragStart = \"dragstart\", e.Keydown = \"keydown\", e.ContextMenu = \"contextmenu\", e.Resize = \"resize\", e.SelectionChange = \"selectionchange\", e.VisibilityChange = \"visibilitychange\";\n})(we || (we = {}));\nfunction ii(e) {\n  e.preventDefault();\n}\nfunction Cg(e) {\n  e.stopPropagation();\n}\nvar V;\n(function(e) {\n  e.Space = \"Space\", e.Down = \"ArrowDown\", e.Right = \"ArrowRight\", e.Left = \"ArrowLeft\", e.Up = \"ArrowUp\", e.Esc = \"Escape\", e.Enter = \"Enter\", e.Tab = \"Tab\";\n})(V || (V = {}));\nconst Fa = {\n  start: [V.Space, V.Enter],\n  cancel: [V.Esc],\n  end: [V.Space, V.Enter, V.Tab]\n}, yg = (e, t) => {\n  let {\n    currentCoordinates: n\n  } = t;\n  switch (e.code) {\n    case V.Right:\n      return {\n        ...n,\n        x: n.x + 25\n      };\n    case V.Left:\n      return {\n        ...n,\n        x: n.x - 25\n      };\n    case V.Down:\n      return {\n        ...n,\n        y: n.y + 25\n      };\n    case V.Up:\n      return {\n        ...n,\n        y: n.y - 25\n      };\n  }\n};\nclass ao {\n  constructor(t) {\n    this.props = void 0, this.autoScrollEnabled = !1, this.referenceCoordinates = void 0, this.listeners = void 0, this.windowListeners = void 0, this.props = t;\n    const {\n      event: {\n        target: n\n      }\n    } = t;\n    this.props = t, this.listeners = new xn(cn(n)), this.windowListeners = new xn(ce(n)), this.handleKeyDown = this.handleKeyDown.bind(this), this.handleCancel = this.handleCancel.bind(this), this.attach();\n  }\n  attach() {\n    this.handleStart(), this.windowListeners.add(we.Resize, this.handleCancel), this.windowListeners.add(we.VisibilityChange, this.handleCancel), setTimeout(() => this.listeners.add(we.Keydown, this.handleKeyDown));\n  }\n  handleStart() {\n    const {\n      activeNode: t,\n      onStart: n\n    } = this.props, s = t.node.current;\n    s && Aa(s), n(Me);\n  }\n  handleKeyDown(t) {\n    if (Hs(t)) {\n      const {\n        active: n,\n        context: s,\n        options: r\n      } = this.props, {\n        keyboardCodes: o = Fa,\n        coordinateGetter: i = yg,\n        scrollBehavior: a = \"smooth\"\n      } = r, {\n        code: c\n      } = t;\n      if (o.end.includes(c)) {\n        this.handleEnd(t);\n        return;\n      }\n      if (o.cancel.includes(c)) {\n        this.handleCancel(t);\n        return;\n      }\n      const {\n        collisionRect: u\n      } = s.current, d = u ? {\n        x: u.left,\n        y: u.top\n      } : Me;\n      this.referenceCoordinates || (this.referenceCoordinates = d);\n      const h = i(t, {\n        active: n,\n        context: s.current,\n        currentCoordinates: d\n      });\n      if (h) {\n        const g = Nn(h, d), f = {\n          x: 0,\n          y: 0\n        }, {\n          scrollableAncestors: m\n        } = s.current;\n        for (const p of m) {\n          const b = t.code, {\n            isTop: v,\n            isRight: y,\n            isLeft: C,\n            isBottom: x,\n            maxScroll: S,\n            minScroll: D\n          } = Ea(p), R = gg(p), N = {\n            x: Math.min(b === V.Right ? R.right - R.width / 2 : R.right, Math.max(b === V.Right ? R.left : R.left + R.width / 2, h.x)),\n            y: Math.min(b === V.Down ? R.bottom - R.height / 2 : R.bottom, Math.max(b === V.Down ? R.top : R.top + R.height / 2, h.y))\n          }, k = b === V.Right && !y || b === V.Left && !C, O = b === V.Down && !x || b === V.Up && !v;\n          if (k && N.x !== h.x) {\n            const $ = p.scrollLeft + g.x, W = b === V.Right && $ <= S.x || b === V.Left && $ >= D.x;\n            if (W && !g.y) {\n              p.scrollTo({\n                left: $,\n                behavior: a\n              });\n              return;\n            }\n            W ? f.x = p.scrollLeft - $ : f.x = b === V.Right ? p.scrollLeft - S.x : p.scrollLeft - D.x, f.x && p.scrollBy({\n              left: -f.x,\n              behavior: a\n            });\n            break;\n          } else if (O && N.y !== h.y) {\n            const $ = p.scrollTop + g.y, W = b === V.Down && $ <= S.y || b === V.Up && $ >= D.y;\n            if (W && !g.x) {\n              p.scrollTo({\n                top: $,\n                behavior: a\n              });\n              return;\n            }\n            W ? f.y = p.scrollTop - $ : f.y = b === V.Down ? p.scrollTop - S.y : p.scrollTop - D.y, f.y && p.scrollBy({\n              top: -f.y,\n              behavior: a\n            });\n            break;\n          }\n        }\n        this.handleMove(t, Zt(Nn(h, this.referenceCoordinates), f));\n      }\n    }\n  }\n  handleMove(t, n) {\n    const {\n      onMove: s\n    } = this.props;\n    t.preventDefault(), s(n);\n  }\n  handleEnd(t) {\n    const {\n      onEnd: n\n    } = this.props;\n    t.preventDefault(), this.detach(), n();\n  }\n  handleCancel(t) {\n    const {\n      onCancel: n\n    } = this.props;\n    t.preventDefault(), this.detach(), n();\n  }\n  detach() {\n    this.listeners.removeAll(), this.windowListeners.removeAll();\n  }\n}\nao.activators = [{\n  eventName: \"onKeyDown\",\n  handler: (e, t, n) => {\n    let {\n      keyboardCodes: s = Fa,\n      onActivation: r\n    } = t, {\n      active: o\n    } = n;\n    const {\n      code: i\n    } = e.nativeEvent;\n    if (s.start.includes(i)) {\n      const a = o.activatorNode.current;\n      return a && e.target !== a ? !1 : (e.preventDefault(), r == null || r({\n        event: e.nativeEvent\n      }), !0);\n    }\n    return !1;\n  }\n}];\nfunction ai(e) {\n  return !!(e && \"distance\" in e);\n}\nfunction li(e) {\n  return !!(e && \"delay\" in e);\n}\nclass lo {\n  constructor(t, n, s) {\n    var r;\n    s === void 0 && (s = vg(t.event.target)), this.props = void 0, this.events = void 0, this.autoScrollEnabled = !0, this.document = void 0, this.activated = !1, this.initialCoordinates = void 0, this.timeoutId = null, this.listeners = void 0, this.documentListeners = void 0, this.windowListeners = void 0, this.props = t, this.events = n;\n    const {\n      event: o\n    } = t, {\n      target: i\n    } = o;\n    this.props = t, this.events = n, this.document = cn(i), this.documentListeners = new xn(this.document), this.listeners = new xn(s), this.windowListeners = new xn(ce(i)), this.initialCoordinates = (r = vs(o)) != null ? r : Me, this.handleStart = this.handleStart.bind(this), this.handleMove = this.handleMove.bind(this), this.handleEnd = this.handleEnd.bind(this), this.handleCancel = this.handleCancel.bind(this), this.handleKeydown = this.handleKeydown.bind(this), this.removeTextSelection = this.removeTextSelection.bind(this), this.attach();\n  }\n  attach() {\n    const {\n      events: t,\n      props: {\n        options: {\n          activationConstraint: n,\n          bypassActivationConstraint: s\n        }\n      }\n    } = this;\n    if (this.listeners.add(t.move.name, this.handleMove, {\n      passive: !1\n    }), this.listeners.add(t.end.name, this.handleEnd), t.cancel && this.listeners.add(t.cancel.name, this.handleCancel), this.windowListeners.add(we.Resize, this.handleCancel), this.windowListeners.add(we.DragStart, ii), this.windowListeners.add(we.VisibilityChange, this.handleCancel), this.windowListeners.add(we.ContextMenu, ii), this.documentListeners.add(we.Keydown, this.handleKeydown), n) {\n      if (s != null && s({\n        event: this.props.event,\n        activeNode: this.props.activeNode,\n        options: this.props.options\n      }))\n        return this.handleStart();\n      if (li(n)) {\n        this.timeoutId = setTimeout(this.handleStart, n.delay), this.handlePending(n);\n        return;\n      }\n      if (ai(n)) {\n        this.handlePending(n);\n        return;\n      }\n    }\n    this.handleStart();\n  }\n  detach() {\n    this.listeners.removeAll(), this.windowListeners.removeAll(), setTimeout(this.documentListeners.removeAll, 50), this.timeoutId !== null && (clearTimeout(this.timeoutId), this.timeoutId = null);\n  }\n  handlePending(t, n) {\n    const {\n      active: s,\n      onPending: r\n    } = this.props;\n    r(s, t, this.initialCoordinates, n);\n  }\n  handleStart() {\n    const {\n      initialCoordinates: t\n    } = this, {\n      onStart: n\n    } = this.props;\n    t && (this.activated = !0, this.documentListeners.add(we.Click, Cg, {\n      capture: !0\n    }), this.removeTextSelection(), this.documentListeners.add(we.SelectionChange, this.removeTextSelection), n(t));\n  }\n  handleMove(t) {\n    var n;\n    const {\n      activated: s,\n      initialCoordinates: r,\n      props: o\n    } = this, {\n      onMove: i,\n      options: {\n        activationConstraint: a\n      }\n    } = o;\n    if (!r)\n      return;\n    const c = (n = vs(t)) != null ? n : Me, u = Nn(r, c);\n    if (!s && a) {\n      if (ai(a)) {\n        if (a.tolerance != null && cr(u, a.tolerance))\n          return this.handleCancel();\n        if (cr(u, a.distance))\n          return this.handleStart();\n      }\n      if (li(a) && cr(u, a.tolerance))\n        return this.handleCancel();\n      this.handlePending(a, u);\n      return;\n    }\n    t.cancelable && t.preventDefault(), i(c);\n  }\n  handleEnd() {\n    const {\n      onAbort: t,\n      onEnd: n\n    } = this.props;\n    this.detach(), this.activated || t(this.props.active), n();\n  }\n  handleCancel() {\n    const {\n      onAbort: t,\n      onCancel: n\n    } = this.props;\n    this.detach(), this.activated || t(this.props.active), n();\n  }\n  handleKeydown(t) {\n    t.code === V.Esc && this.handleCancel();\n  }\n  removeTextSelection() {\n    var t;\n    (t = this.document.getSelection()) == null || t.removeAllRanges();\n  }\n}\nconst xg = {\n  cancel: {\n    name: \"pointercancel\"\n  },\n  move: {\n    name: \"pointermove\"\n  },\n  end: {\n    name: \"pointerup\"\n  }\n};\nclass co extends lo {\n  constructor(t) {\n    const {\n      event: n\n    } = t, s = cn(n.target);\n    super(t, xg, s);\n  }\n}\nco.activators = [{\n  eventName: \"onPointerDown\",\n  handler: (e, t) => {\n    let {\n      nativeEvent: n\n    } = e, {\n      onActivation: s\n    } = t;\n    return !n.isPrimary || n.button !== 0 ? !1 : (s == null || s({\n      event: n\n    }), !0);\n  }\n}];\nconst wg = {\n  move: {\n    name: \"mousemove\"\n  },\n  end: {\n    name: \"mouseup\"\n  }\n};\nvar Nr;\n(function(e) {\n  e[e.RightClick = 2] = \"RightClick\";\n})(Nr || (Nr = {}));\nclass Sg extends lo {\n  constructor(t) {\n    super(t, wg, cn(t.event.target));\n  }\n}\nSg.activators = [{\n  eventName: \"onMouseDown\",\n  handler: (e, t) => {\n    let {\n      nativeEvent: n\n    } = e, {\n      onActivation: s\n    } = t;\n    return n.button === Nr.RightClick ? !1 : (s == null || s({\n      event: n\n    }), !0);\n  }\n}];\nconst ur = {\n  cancel: {\n    name: \"touchcancel\"\n  },\n  move: {\n    name: \"touchmove\"\n  },\n  end: {\n    name: \"touchend\"\n  }\n};\nclass Rg extends lo {\n  constructor(t) {\n    super(t, ur);\n  }\n  static setup() {\n    return window.addEventListener(ur.move.name, t, {\n      capture: !1,\n      passive: !1\n    }), function() {\n      window.removeEventListener(ur.move.name, t);\n    };\n    function t() {\n    }\n  }\n}\nRg.activators = [{\n  eventName: \"onTouchStart\",\n  handler: (e, t) => {\n    let {\n      nativeEvent: n\n    } = e, {\n      onActivation: s\n    } = t;\n    const {\n      touches: r\n    } = n;\n    return r.length > 1 ? !1 : (s == null || s({\n      event: n\n    }), !0);\n  }\n}];\nvar wn;\n(function(e) {\n  e[e.Pointer = 0] = \"Pointer\", e[e.DraggableRect = 1] = \"DraggableRect\";\n})(wn || (wn = {}));\nvar ys;\n(function(e) {\n  e[e.TreeOrder = 0] = \"TreeOrder\", e[e.ReversedTreeOrder = 1] = \"ReversedTreeOrder\";\n})(ys || (ys = {}));\nfunction Lg(e) {\n  let {\n    acceleration: t,\n    activator: n = wn.Pointer,\n    canScroll: s,\n    draggingRect: r,\n    enabled: o,\n    interval: i = 5,\n    order: a = ys.TreeOrder,\n    pointerCoordinates: c,\n    scrollableAncestors: u,\n    scrollableAncestorRects: d,\n    delta: h,\n    threshold: g\n  } = e;\n  const f = Mg({\n    delta: h,\n    disabled: !o\n  }), [m, p] = Vf(), b = U({\n    x: 0,\n    y: 0\n  }), v = U({\n    x: 0,\n    y: 0\n  }), y = H(() => {\n    switch (n) {\n      case wn.Pointer:\n        return c ? {\n          top: c.y,\n          bottom: c.y,\n          left: c.x,\n          right: c.x\n        } : null;\n      case wn.DraggableRect:\n        return r;\n    }\n  }, [n, r, c]), C = U(null), x = le(() => {\n    const D = C.current;\n    if (!D)\n      return;\n    const R = b.current.x * v.current.x, N = b.current.y * v.current.y;\n    D.scrollBy(R, N);\n  }, []), S = H(() => a === ys.TreeOrder ? [...u].reverse() : u, [a, u]);\n  B(\n    () => {\n      if (!o || !u.length || !y) {\n        p();\n        return;\n      }\n      for (const D of S) {\n        if ((s == null ? void 0 : s(D)) === !1)\n          continue;\n        const R = u.indexOf(D), N = d[R];\n        if (!N)\n          continue;\n        const {\n          direction: k,\n          speed: O\n        } = fg(D, N, y, t, g);\n        for (const $ of [\"x\", \"y\"])\n          f[$][k[$]] || (O[$] = 0, k[$] = 0);\n        if (O.x > 0 || O.y > 0) {\n          p(), C.current = D, m(x, i), b.current = O, v.current = k;\n          return;\n        }\n      }\n      b.current = {\n        x: 0,\n        y: 0\n      }, v.current = {\n        x: 0,\n        y: 0\n      }, p();\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [\n      t,\n      x,\n      s,\n      p,\n      o,\n      i,\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      JSON.stringify(y),\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      JSON.stringify(f),\n      m,\n      u,\n      S,\n      d,\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      JSON.stringify(g)\n    ]\n  );\n}\nconst Ng = {\n  x: {\n    [ee.Backward]: !1,\n    [ee.Forward]: !1\n  },\n  y: {\n    [ee.Backward]: !1,\n    [ee.Forward]: !1\n  }\n};\nfunction Mg(e) {\n  let {\n    delta: t,\n    disabled: n\n  } = e;\n  const s = bs(t);\n  return An((r) => {\n    if (n || !s || !r)\n      return Ng;\n    const o = {\n      x: Math.sign(t.x - s.x),\n      y: Math.sign(t.y - s.y)\n    };\n    return {\n      x: {\n        [ee.Backward]: r.x[ee.Backward] || o.x === -1,\n        [ee.Forward]: r.x[ee.Forward] || o.x === 1\n      },\n      y: {\n        [ee.Backward]: r.y[ee.Backward] || o.y === -1,\n        [ee.Forward]: r.y[ee.Forward] || o.y === 1\n      }\n    };\n  }, [n, t, s]);\n}\nfunction Dg(e, t) {\n  const n = t != null ? e.get(t) : void 0, s = n ? n.node.current : null;\n  return An((r) => {\n    var o;\n    return t == null ? null : (o = s ?? r) != null ? o : null;\n  }, [s, t]);\n}\nfunction $g(e, t) {\n  return H(() => e.reduce((n, s) => {\n    const {\n      sensor: r\n    } = s, o = r.activators.map((i) => ({\n      eventName: i.eventName,\n      handler: t(i.handler, s)\n    }));\n    return [...n, ...o];\n  }, []), [e, t]);\n}\nvar Mn;\n(function(e) {\n  e[e.Always = 0] = \"Always\", e[e.BeforeDragging = 1] = \"BeforeDragging\", e[e.WhileDragging = 2] = \"WhileDragging\";\n})(Mn || (Mn = {}));\nvar Mr;\n(function(e) {\n  e.Optimized = \"optimized\";\n})(Mr || (Mr = {}));\nconst ci = /* @__PURE__ */ new Map();\nfunction Og(e, t) {\n  let {\n    dragging: n,\n    dependencies: s,\n    config: r\n  } = t;\n  const [o, i] = j(null), {\n    frequency: a,\n    measure: c,\n    strategy: u\n  } = r, d = U(e), h = b(), g = Ln(h), f = le(function(v) {\n    v === void 0 && (v = []), !g.current && i((y) => y === null ? v : y.concat(v.filter((C) => !y.includes(C))));\n  }, [g]), m = U(null), p = An((v) => {\n    if (h && !n)\n      return ci;\n    if (!v || v === ci || d.current !== e || o != null) {\n      const y = /* @__PURE__ */ new Map();\n      for (let C of e) {\n        if (!C)\n          continue;\n        if (o && o.length > 0 && !o.includes(C.id) && C.rect.current) {\n          y.set(C.id, C.rect.current);\n          continue;\n        }\n        const x = C.node.current, S = x ? new io(c(x), x) : null;\n        C.rect.current = S, S && y.set(C.id, S);\n      }\n      return y;\n    }\n    return v;\n  }, [e, o, n, h, c]);\n  return B(() => {\n    d.current = e;\n  }, [e]), B(\n    () => {\n      h || f();\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [n, h]\n  ), B(\n    () => {\n      o && o.length > 0 && i(null);\n    },\n    //eslint-disable-next-line react-hooks/exhaustive-deps\n    [JSON.stringify(o)]\n  ), B(\n    () => {\n      h || typeof a != \"number\" || m.current !== null || (m.current = setTimeout(() => {\n        f(), m.current = null;\n      }, a));\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [a, h, f, ...s]\n  ), {\n    droppableRects: p,\n    measureDroppableContainers: f,\n    measuringScheduled: o != null\n  };\n  function b() {\n    switch (u) {\n      case Mn.Always:\n        return !1;\n      case Mn.BeforeDragging:\n        return n;\n      default:\n        return !n;\n    }\n  }\n}\nfunction uo(e, t) {\n  return An((n) => e ? n || (typeof t == \"function\" ? t(e) : e) : null, [t, e]);\n}\nfunction Tg(e, t) {\n  return uo(e, t);\n}\nfunction kg(e) {\n  let {\n    callback: t,\n    disabled: n\n  } = e;\n  const s = Ws(t), r = H(() => {\n    if (n || typeof window > \"u\" || typeof window.MutationObserver > \"u\")\n      return;\n    const {\n      MutationObserver: o\n    } = window;\n    return new o(s);\n  }, [s, n]);\n  return B(() => () => r == null ? void 0 : r.disconnect(), [r]), r;\n}\nfunction Us(e) {\n  let {\n    callback: t,\n    disabled: n\n  } = e;\n  const s = Ws(t), r = H(\n    () => {\n      if (n || typeof window > \"u\" || typeof window.ResizeObserver > \"u\")\n        return;\n      const {\n        ResizeObserver: o\n      } = window;\n      return new o(s);\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [n]\n  );\n  return B(() => () => r == null ? void 0 : r.disconnect(), [r]), r;\n}\nfunction Ig(e) {\n  return new io(un(e), e);\n}\nfunction ui(e, t, n) {\n  t === void 0 && (t = Ig);\n  const [s, r] = j(null);\n  function o() {\n    r((c) => {\n      if (!e)\n        return null;\n      if (e.isConnected === !1) {\n        var u;\n        return (u = c ?? n) != null ? u : null;\n      }\n      const d = t(e);\n      return JSON.stringify(c) === JSON.stringify(d) ? c : d;\n    });\n  }\n  const i = kg({\n    callback(c) {\n      if (e)\n        for (const u of c) {\n          const {\n            type: d,\n            target: h\n          } = u;\n          if (d === \"childList\" && h instanceof HTMLElement && h.contains(e)) {\n            o();\n            break;\n          }\n        }\n    }\n  }), a = Us({\n    callback: o\n  });\n  return Ne(() => {\n    o(), e ? (a == null || a.observe(e), i == null || i.observe(document.body, {\n      childList: !0,\n      subtree: !0\n    })) : (a == null || a.disconnect(), i == null || i.disconnect());\n  }, [e]), s;\n}\nfunction Eg(e) {\n  const t = uo(e);\n  return Da(e, t);\n}\nconst di = [];\nfunction Pg(e) {\n  const t = U(e), n = An((s) => e ? s && s !== di && e && t.current && e.parentNode === t.current.parentNode ? s : zs(e) : di, [e]);\n  return B(() => {\n    t.current = e;\n  }, [e]), n;\n}\nfunction Ag(e) {\n  const [t, n] = j(null), s = U(e), r = le((o) => {\n    const i = lr(o.target);\n    i && n((a) => a ? (a.set(i, Lr(i)), new Map(a)) : null);\n  }, []);\n  return B(() => {\n    const o = s.current;\n    if (e !== o) {\n      i(o);\n      const a = e.map((c) => {\n        const u = lr(c);\n        return u ? (u.addEventListener(\"scroll\", r, {\n          passive: !0\n        }), [u, Lr(u)]) : null;\n      }).filter((c) => c != null);\n      n(a.length ? new Map(a) : null), s.current = e;\n    }\n    return () => {\n      i(e), i(o);\n    };\n    function i(a) {\n      a.forEach((c) => {\n        const u = lr(c);\n        u == null || u.removeEventListener(\"scroll\", r);\n      });\n    }\n  }, [r, e]), H(() => e.length ? t ? Array.from(t.values()).reduce((o, i) => Zt(o, i), Me) : Pa(e) : Me, [e, t]);\n}\nfunction hi(e, t) {\n  t === void 0 && (t = []);\n  const n = U(null);\n  return B(\n    () => {\n      n.current = null;\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    t\n  ), B(() => {\n    const s = e !== Me;\n    s && !n.current && (n.current = e), !s && n.current && (n.current = null);\n  }, [e]), n.current ? Nn(e, n.current) : Me;\n}\nfunction Fg(e) {\n  B(\n    () => {\n      if (!js)\n        return;\n      const t = e.map((n) => {\n        let {\n          sensor: s\n        } = n;\n        return s.setup == null ? void 0 : s.setup();\n      });\n      return () => {\n        for (const n of t)\n          n == null || n();\n      };\n    },\n    // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    e.map((t) => {\n      let {\n        sensor: n\n      } = t;\n      return n;\n    })\n  );\n}\nfunction Vg(e, t) {\n  return H(() => e.reduce((n, s) => {\n    let {\n      eventName: r,\n      handler: o\n    } = s;\n    return n[r] = (i) => {\n      o(i, t);\n    }, n;\n  }, {}), [e, t]);\n}\nfunction Va(e) {\n  return H(() => e ? cg(e) : null, [e]);\n}\nconst fi = [];\nfunction Bg(e, t) {\n  t === void 0 && (t = un);\n  const [n] = e, s = Va(n ? ce(n) : null), [r, o] = j(fi);\n  function i() {\n    o(() => e.length ? e.map((c) => Ia(c) ? s : new io(t(c), c)) : fi);\n  }\n  const a = Us({\n    callback: i\n  });\n  return Ne(() => {\n    a == null || a.disconnect(), i(), e.forEach((c) => a == null ? void 0 : a.observe(c));\n  }, [e]), r;\n}\nfunction Ba(e) {\n  if (!e)\n    return null;\n  if (e.children.length > 1)\n    return e;\n  const t = e.children[0];\n  return Pn(t) ? t : e;\n}\nfunction jg(e) {\n  let {\n    measure: t\n  } = e;\n  const [n, s] = j(null), r = le((u) => {\n    for (const {\n      target: d\n    } of u)\n      if (Pn(d)) {\n        s((h) => {\n          const g = t(d);\n          return h ? {\n            ...h,\n            width: g.width,\n            height: g.height\n          } : g;\n        });\n        break;\n      }\n  }, [t]), o = Us({\n    callback: r\n  }), i = le((u) => {\n    const d = Ba(u);\n    o == null || o.disconnect(), d && (o == null || o.observe(d)), s(d ? t(d) : null);\n  }, [t, o]), [a, c] = ms(i);\n  return H(() => ({\n    nodeRef: a,\n    rect: n,\n    setRef: c\n  }), [n, a, c]);\n}\nconst Wg = [{\n  sensor: co,\n  options: {}\n}, {\n  sensor: ao,\n  options: {}\n}], Hg = {\n  current: {}\n}, is = {\n  draggable: {\n    measure: oi\n  },\n  droppable: {\n    measure: oi,\n    strategy: Mn.WhileDragging,\n    frequency: Mr.Optimized\n  },\n  dragOverlay: {\n    measure: un\n  }\n};\nclass Sn extends Map {\n  get(t) {\n    var n;\n    return t != null && (n = super.get(t)) != null ? n : void 0;\n  }\n  toArray() {\n    return Array.from(this.values());\n  }\n  getEnabled() {\n    return this.toArray().filter((t) => {\n      let {\n        disabled: n\n      } = t;\n      return !n;\n    });\n  }\n  getNodeFor(t) {\n    var n, s;\n    return (n = (s = this.get(t)) == null ? void 0 : s.node.current) != null ? n : void 0;\n  }\n}\nconst zg = {\n  activatorEvent: null,\n  active: null,\n  activeNode: null,\n  activeNodeRect: null,\n  collisions: null,\n  containerNodeRect: null,\n  draggableNodes: /* @__PURE__ */ new Map(),\n  droppableRects: /* @__PURE__ */ new Map(),\n  droppableContainers: /* @__PURE__ */ new Sn(),\n  over: null,\n  dragOverlay: {\n    nodeRef: {\n      current: null\n    },\n    rect: null,\n    setRef: Cs\n  },\n  scrollableAncestors: [],\n  scrollableAncestorRects: [],\n  measuringConfiguration: is,\n  measureDroppableContainers: Cs,\n  windowRect: null,\n  measuringScheduled: !1\n}, ja = {\n  activatorEvent: null,\n  activators: [],\n  active: null,\n  activeNodeRect: null,\n  ariaDescribedById: {\n    draggable: \"\"\n  },\n  dispatch: Cs,\n  draggableNodes: /* @__PURE__ */ new Map(),\n  over: null,\n  measureDroppableContainers: Cs\n}, Vn = /* @__PURE__ */ Mt(ja), Wa = /* @__PURE__ */ Mt(zg);\nfunction Ug() {\n  return {\n    draggable: {\n      active: null,\n      initialCoordinates: {\n        x: 0,\n        y: 0\n      },\n      nodes: /* @__PURE__ */ new Map(),\n      translate: {\n        x: 0,\n        y: 0\n      }\n    },\n    droppable: {\n      containers: new Sn()\n    }\n  };\n}\nfunction Kg(e, t) {\n  switch (t.type) {\n    case J.DragStart:\n      return {\n        ...e,\n        draggable: {\n          ...e.draggable,\n          initialCoordinates: t.initialCoordinates,\n          active: t.active\n        }\n      };\n    case J.DragMove:\n      return e.draggable.active == null ? e : {\n        ...e,\n        draggable: {\n          ...e.draggable,\n          translate: {\n            x: t.coordinates.x - e.draggable.initialCoordinates.x,\n            y: t.coordinates.y - e.draggable.initialCoordinates.y\n          }\n        }\n      };\n    case J.DragEnd:\n    case J.DragCancel:\n      return {\n        ...e,\n        draggable: {\n          ...e.draggable,\n          active: null,\n          initialCoordinates: {\n            x: 0,\n            y: 0\n          },\n          translate: {\n            x: 0,\n            y: 0\n          }\n        }\n      };\n    case J.RegisterDroppable: {\n      const {\n        element: n\n      } = t, {\n        id: s\n      } = n, r = new Sn(e.droppable.containers);\n      return r.set(s, n), {\n        ...e,\n        droppable: {\n          ...e.droppable,\n          containers: r\n        }\n      };\n    }\n    case J.SetDroppableDisabled: {\n      const {\n        id: n,\n        key: s,\n        disabled: r\n      } = t, o = e.droppable.containers.get(n);\n      if (!o || s !== o.key)\n        return e;\n      const i = new Sn(e.droppable.containers);\n      return i.set(n, {\n        ...o,\n        disabled: r\n      }), {\n        ...e,\n        droppable: {\n          ...e.droppable,\n          containers: i\n        }\n      };\n    }\n    case J.UnregisterDroppable: {\n      const {\n        id: n,\n        key: s\n      } = t, r = e.droppable.containers.get(n);\n      if (!r || s !== r.key)\n        return e;\n      const o = new Sn(e.droppable.containers);\n      return o.delete(n), {\n        ...e,\n        droppable: {\n          ...e.droppable,\n          containers: o\n        }\n      };\n    }\n    default:\n      return e;\n  }\n}\nfunction qg(e) {\n  let {\n    disabled: t\n  } = e;\n  const {\n    active: n,\n    activatorEvent: s,\n    draggableNodes: r\n  } = lt(Vn), o = bs(s), i = bs(n == null ? void 0 : n.id);\n  return B(() => {\n    if (!t && !s && o && i != null) {\n      if (!Hs(o) || document.activeElement === o.target)\n        return;\n      const a = r.get(i);\n      if (!a)\n        return;\n      const {\n        activatorNode: c,\n        node: u\n      } = a;\n      if (!c.current && !u.current)\n        return;\n      requestAnimationFrame(() => {\n        for (const d of [c.current, u.current]) {\n          if (!d)\n            continue;\n          const h = Wf(d);\n          if (h) {\n            h.focus();\n            break;\n          }\n        }\n      });\n    }\n  }, [s, t, r, i, o]), null;\n}\nfunction Ha(e, t) {\n  let {\n    transform: n,\n    ...s\n  } = t;\n  return e != null && e.length ? e.reduce((r, o) => o({\n    transform: r,\n    ...s\n  }), n) : n;\n}\nfunction Xg(e) {\n  return H(\n    () => ({\n      draggable: {\n        ...is.draggable,\n        ...e == null ? void 0 : e.draggable\n      },\n      droppable: {\n        ...is.droppable,\n        ...e == null ? void 0 : e.droppable\n      },\n      dragOverlay: {\n        ...is.dragOverlay,\n        ...e == null ? void 0 : e.dragOverlay\n      }\n    }),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [e == null ? void 0 : e.draggable, e == null ? void 0 : e.droppable, e == null ? void 0 : e.dragOverlay]\n  );\n}\nfunction _g(e) {\n  let {\n    activeNode: t,\n    measure: n,\n    initialRect: s,\n    config: r = !0\n  } = e;\n  const o = U(!1), {\n    x: i,\n    y: a\n  } = typeof r == \"boolean\" ? {\n    x: r,\n    y: r\n  } : r;\n  Ne(() => {\n    if (!i && !a || !t) {\n      o.current = !1;\n      return;\n    }\n    if (o.current || !s)\n      return;\n    const u = t == null ? void 0 : t.node.current;\n    if (!u || u.isConnected === !1)\n      return;\n    const d = n(u), h = Da(d, s);\n    if (i || (h.x = 0), a || (h.y = 0), o.current = !0, Math.abs(h.x) > 0 || Math.abs(h.y) > 0) {\n      const g = Oa(u);\n      g && g.scrollBy({\n        top: h.y,\n        left: h.x\n      });\n    }\n  }, [t, i, a, s, n]);\n}\nconst Ks = /* @__PURE__ */ Mt({\n  ...Me,\n  scaleX: 1,\n  scaleY: 1\n});\nvar it;\n(function(e) {\n  e[e.Uninitialized = 0] = \"Uninitialized\", e[e.Initializing = 1] = \"Initializing\", e[e.Initialized = 2] = \"Initialized\";\n})(it || (it = {}));\nconst Yg = /* @__PURE__ */ oc(function(t) {\n  var n, s, r, o;\n  let {\n    id: i,\n    accessibility: a,\n    autoScroll: c = !0,\n    children: u,\n    sensors: d = Wg,\n    collisionDetection: h = sg,\n    measuring: g,\n    modifiers: f,\n    ...m\n  } = t;\n  const p = ic(Kg, void 0, Ug), [b, v] = p, [y, C] = Xf(), [x, S] = j(it.Uninitialized), D = x === it.Initialized, {\n    draggable: {\n      active: R,\n      nodes: N,\n      translate: k\n    },\n    droppable: {\n      containers: O\n    }\n  } = b, $ = R != null ? N.get(R) : null, W = U({\n    initial: null,\n    translated: null\n  }), A = H(() => {\n    var ie;\n    return R != null ? {\n      id: R,\n      // It's possible for the active node to unmount while dragging\n      data: (ie = $ == null ? void 0 : $.data) != null ? ie : Hg,\n      rect: W\n    } : null;\n  }, [R, $]), z = U(null), [Ce, te] = j(null), [Z, Y] = j(null), ne = Ln(m, Object.values(m)), ue = Fn(\"DndDescribedBy\", i), Et = H(() => O.getEnabled(), [O]), oe = Xg(g), {\n    droppableRects: je,\n    measureDroppableContainers: yt,\n    measuringScheduled: gn\n  } = Og(Et, {\n    dragging: D,\n    dependencies: [k.x, k.y],\n    config: oe.droppable\n  }), ye = Dg(N, R), Kn = H(() => Z ? vs(Z) : null, [Z]), Qe = nc(), We = Tg(ye, oe.draggable.measure);\n  _g({\n    activeNode: R != null ? N.get(R) : null,\n    config: Qe.layoutShiftCompensation,\n    initialRect: We,\n    measure: oe.draggable.measure\n  });\n  const q = ui(ye, oe.draggable.measure, We), pn = ui(ye ? ye.parentElement : null), $e = U({\n    activatorEvent: null,\n    active: null,\n    activeNode: ye,\n    collisionRect: null,\n    collisions: null,\n    droppableRects: je,\n    draggableNodes: N,\n    draggingNode: null,\n    draggingNodeRect: null,\n    droppableContainers: O,\n    over: null,\n    scrollableAncestors: [],\n    scrollAdjustedTranslate: null\n  }), Pt = O.getNodeFor((n = $e.current.over) == null ? void 0 : n.id), He = jg({\n    measure: oe.dragOverlay.measure\n  }), At = (s = He.nodeRef.current) != null ? s : ye, Ft = D ? (r = He.rect) != null ? r : q : null, So = !!(He.nodeRef.current && He.rect), Ro = Eg(So ? null : q), Gs = Va(At ? ce(At) : null), et = Pg(D ? Pt ?? ye : null), qn = Bg(et), Xn = Ha(f, {\n    transform: {\n      x: k.x - Ro.x,\n      y: k.y - Ro.y,\n      scaleX: 1,\n      scaleY: 1\n    },\n    activatorEvent: Z,\n    active: A,\n    activeNodeRect: q,\n    containerNodeRect: pn,\n    draggingNodeRect: Ft,\n    over: $e.current.over,\n    overlayNodeRect: He.rect,\n    scrollableAncestors: et,\n    scrollableAncestorRects: qn,\n    windowRect: Gs\n  }), Lo = Kn ? Zt(Kn, k) : null, No = Ag(et), Yl = hi(No), Gl = hi(No, [q]), Vt = Zt(Xn, Yl), Bt = Ft ? ig(Ft, Xn) : null, mn = A && Bt ? h({\n    active: A,\n    collisionRect: Bt,\n    droppableRects: je,\n    droppableContainers: Et,\n    pointerCoordinates: Lo\n  }) : null, Mo = Ma(mn, \"id\"), [tt, Do] = j(null), Zl = So ? Xn : Zt(Xn, Gl), Jl = rg(Zl, (o = tt == null ? void 0 : tt.rect) != null ? o : null, q), Zs = U(null), $o = le(\n    (ie, he) => {\n      let {\n        sensor: fe,\n        options: nt\n      } = he;\n      if (z.current == null)\n        return;\n      const xe = N.get(z.current);\n      if (!xe)\n        return;\n      const ge = ie.nativeEvent, Oe = new fe({\n        active: z.current,\n        activeNode: xe,\n        event: ge,\n        options: nt,\n        // Sensors need to be instantiated with refs for arguments that change over time\n        // otherwise they are frozen in time with the stale arguments\n        context: $e,\n        onAbort(se) {\n          if (!N.get(se))\n            return;\n          const {\n            onDragAbort: Te\n          } = ne.current, ze = {\n            id: se\n          };\n          Te == null || Te(ze), y({\n            type: \"onDragAbort\",\n            event: ze\n          });\n        },\n        onPending(se, st, Te, ze) {\n          if (!N.get(se))\n            return;\n          const {\n            onDragPending: vn\n          } = ne.current, rt = {\n            id: se,\n            constraint: st,\n            initialCoordinates: Te,\n            offset: ze\n          };\n          vn == null || vn(rt), y({\n            type: \"onDragPending\",\n            event: rt\n          });\n        },\n        onStart(se) {\n          const st = z.current;\n          if (st == null)\n            return;\n          const Te = N.get(st);\n          if (!Te)\n            return;\n          const {\n            onDragStart: ze\n          } = ne.current, bn = {\n            activatorEvent: ge,\n            active: {\n              id: st,\n              data: Te.data,\n              rect: W\n            }\n          };\n          _n(() => {\n            ze == null || ze(bn), S(it.Initializing), v({\n              type: J.DragStart,\n              initialCoordinates: se,\n              active: st\n            }), y({\n              type: \"onDragStart\",\n              event: bn\n            }), te(Zs.current), Y(ge);\n          });\n        },\n        onMove(se) {\n          v({\n            type: J.DragMove,\n            coordinates: se\n          });\n        },\n        onEnd: jt(J.DragEnd),\n        onCancel: jt(J.DragCancel)\n      });\n      Zs.current = Oe;\n      function jt(se) {\n        return async function() {\n          const {\n            active: Te,\n            collisions: ze,\n            over: bn,\n            scrollAdjustedTranslate: vn\n          } = $e.current;\n          let rt = null;\n          if (Te && vn) {\n            const {\n              cancelDrop: Cn\n            } = ne.current;\n            rt = {\n              activatorEvent: ge,\n              active: Te,\n              collisions: ze,\n              delta: vn,\n              over: bn\n            }, se === J.DragEnd && typeof Cn == \"function\" && await Promise.resolve(Cn(rt)) && (se = J.DragCancel);\n          }\n          z.current = null, _n(() => {\n            v({\n              type: se\n            }), S(it.Uninitialized), Do(null), te(null), Y(null), Zs.current = null;\n            const Cn = se === J.DragEnd ? \"onDragEnd\" : \"onDragCancel\";\n            if (rt) {\n              const Js = ne.current[Cn];\n              Js == null || Js(rt), y({\n                type: Cn,\n                event: rt\n              });\n            }\n          });\n        };\n      }\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [N]\n  ), Ql = le((ie, he) => (fe, nt) => {\n    const xe = fe.nativeEvent, ge = N.get(nt);\n    if (\n      // Another sensor is already instantiating\n      z.current !== null || // No active draggable\n      !ge || // Event has already been captured\n      xe.dndKit || xe.defaultPrevented\n    )\n      return;\n    const Oe = {\n      active: ge\n    };\n    ie(fe, he.options, Oe) === !0 && (xe.dndKit = {\n      capturedBy: he.sensor\n    }, z.current = nt, $o(fe, he));\n  }, [N, $o]), Oo = $g(d, Ql);\n  Fg(d), Ne(() => {\n    q && x === it.Initializing && S(it.Initialized);\n  }, [q, x]), B(\n    () => {\n      const {\n        onDragMove: ie\n      } = ne.current, {\n        active: he,\n        activatorEvent: fe,\n        collisions: nt,\n        over: xe\n      } = $e.current;\n      if (!he || !fe)\n        return;\n      const ge = {\n        active: he,\n        activatorEvent: fe,\n        collisions: nt,\n        delta: {\n          x: Vt.x,\n          y: Vt.y\n        },\n        over: xe\n      };\n      _n(() => {\n        ie == null || ie(ge), y({\n          type: \"onDragMove\",\n          event: ge\n        });\n      });\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [Vt.x, Vt.y]\n  ), B(\n    () => {\n      const {\n        active: ie,\n        activatorEvent: he,\n        collisions: fe,\n        droppableContainers: nt,\n        scrollAdjustedTranslate: xe\n      } = $e.current;\n      if (!ie || z.current == null || !he || !xe)\n        return;\n      const {\n        onDragOver: ge\n      } = ne.current, Oe = nt.get(Mo), jt = Oe && Oe.rect.current ? {\n        id: Oe.id,\n        rect: Oe.rect.current,\n        data: Oe.data,\n        disabled: Oe.disabled\n      } : null, se = {\n        active: ie,\n        activatorEvent: he,\n        collisions: fe,\n        delta: {\n          x: xe.x,\n          y: xe.y\n        },\n        over: jt\n      };\n      _n(() => {\n        Do(jt), ge == null || ge(se), y({\n          type: \"onDragOver\",\n          event: se\n        });\n      });\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [Mo]\n  ), Ne(() => {\n    $e.current = {\n      activatorEvent: Z,\n      active: A,\n      activeNode: ye,\n      collisionRect: Bt,\n      collisions: mn,\n      droppableRects: je,\n      draggableNodes: N,\n      draggingNode: At,\n      draggingNodeRect: Ft,\n      droppableContainers: O,\n      over: tt,\n      scrollableAncestors: et,\n      scrollAdjustedTranslate: Vt\n    }, W.current = {\n      initial: Ft,\n      translated: Bt\n    };\n  }, [A, ye, mn, Bt, N, At, Ft, je, O, tt, et, Vt]), Lg({\n    ...Qe,\n    delta: k,\n    draggingRect: Bt,\n    pointerCoordinates: Lo,\n    scrollableAncestors: et,\n    scrollableAncestorRects: qn\n  });\n  const ec = H(() => ({\n    active: A,\n    activeNode: ye,\n    activeNodeRect: q,\n    activatorEvent: Z,\n    collisions: mn,\n    containerNodeRect: pn,\n    dragOverlay: He,\n    draggableNodes: N,\n    droppableContainers: O,\n    droppableRects: je,\n    over: tt,\n    measureDroppableContainers: yt,\n    scrollableAncestors: et,\n    scrollableAncestorRects: qn,\n    measuringConfiguration: oe,\n    measuringScheduled: gn,\n    windowRect: Gs\n  }), [A, ye, q, Z, mn, pn, He, N, O, je, tt, yt, et, qn, oe, gn, Gs]), tc = H(() => ({\n    activatorEvent: Z,\n    activators: Oo,\n    active: A,\n    activeNodeRect: q,\n    ariaDescribedById: {\n      draggable: ue\n    },\n    dispatch: v,\n    draggableNodes: N,\n    over: tt,\n    measureDroppableContainers: yt\n  }), [Z, Oo, A, q, v, ue, N, tt, yt]);\n  return F.createElement(Ra.Provider, {\n    value: C\n  }, F.createElement(Vn.Provider, {\n    value: tc\n  }, F.createElement(Wa.Provider, {\n    value: ec\n  }, F.createElement(Ks.Provider, {\n    value: Jl\n  }, u)), F.createElement(qg, {\n    disabled: (a == null ? void 0 : a.restoreFocus) === !1\n  })), F.createElement(Gf, {\n    ...a,\n    hiddenTextDescribedById: ue\n  }));\n  function nc() {\n    const ie = (Ce == null ? void 0 : Ce.autoScrollEnabled) === !1, he = typeof c == \"object\" ? c.enabled === !1 : c === !1, fe = D && !ie && !he;\n    return typeof c == \"object\" ? {\n      ...c,\n      enabled: fe\n    } : {\n      enabled: fe\n    };\n  }\n}), Gg = /* @__PURE__ */ Mt(null), gi = \"button\", Zg = \"Draggable\";\nfunction Jg(e) {\n  let {\n    id: t,\n    data: n,\n    disabled: s = !1,\n    attributes: r\n  } = e;\n  const o = Fn(Zg), {\n    activators: i,\n    activatorEvent: a,\n    active: c,\n    activeNodeRect: u,\n    ariaDescribedById: d,\n    draggableNodes: h,\n    over: g\n  } = lt(Vn), {\n    role: f = gi,\n    roleDescription: m = \"draggable\",\n    tabIndex: p = 0\n  } = r ?? {}, b = (c == null ? void 0 : c.id) === t, v = lt(b ? Ks : Gg), [y, C] = ms(), [x, S] = ms(), D = Vg(i, t), R = Ln(n);\n  Ne(\n    () => (h.set(t, {\n      id: t,\n      key: o,\n      node: y,\n      activatorNode: x,\n      data: R\n    }), () => {\n      const k = h.get(t);\n      k && k.key === o && h.delete(t);\n    }),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [h, t]\n  );\n  const N = H(() => ({\n    role: f,\n    tabIndex: p,\n    \"aria-disabled\": s,\n    \"aria-pressed\": b && f === gi ? !0 : void 0,\n    \"aria-roledescription\": m,\n    \"aria-describedby\": d.draggable\n  }), [s, f, p, b, m, d.draggable]);\n  return {\n    active: c,\n    activatorEvent: a,\n    activeNodeRect: u,\n    attributes: N,\n    isDragging: b,\n    listeners: s ? void 0 : D,\n    node: y,\n    over: g,\n    setNodeRef: C,\n    setActivatorNodeRef: S,\n    transform: v\n  };\n}\nfunction za() {\n  return lt(Wa);\n}\nconst Qg = \"Droppable\", ep = {\n  timeout: 25\n};\nfunction tp(e) {\n  let {\n    data: t,\n    disabled: n = !1,\n    id: s,\n    resizeObserverConfig: r\n  } = e;\n  const o = Fn(Qg), {\n    active: i,\n    dispatch: a,\n    over: c,\n    measureDroppableContainers: u\n  } = lt(Vn), d = U({\n    disabled: n\n  }), h = U(!1), g = U(null), f = U(null), {\n    disabled: m,\n    updateMeasurementsFor: p,\n    timeout: b\n  } = {\n    ...ep,\n    ...r\n  }, v = Ln(p ?? s), y = le(\n    () => {\n      if (!h.current) {\n        h.current = !0;\n        return;\n      }\n      f.current != null && clearTimeout(f.current), f.current = setTimeout(() => {\n        u(Array.isArray(v.current) ? v.current : [v.current]), f.current = null;\n      }, b);\n    },\n    //eslint-disable-next-line react-hooks/exhaustive-deps\n    [b]\n  ), C = Us({\n    callback: y,\n    disabled: m || !i\n  }), x = le((N, k) => {\n    C && (k && (C.unobserve(k), h.current = !1), N && C.observe(N));\n  }, [C]), [S, D] = ms(x), R = Ln(t);\n  return B(() => {\n    !C || !S.current || (C.disconnect(), h.current = !1, C.observe(S.current));\n  }, [S, C]), B(\n    () => (a({\n      type: J.RegisterDroppable,\n      element: {\n        id: s,\n        key: o,\n        disabled: n,\n        node: S,\n        rect: g,\n        data: R\n      }\n    }), () => a({\n      type: J.UnregisterDroppable,\n      key: o,\n      id: s\n    })),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [s]\n  ), B(() => {\n    n !== d.current.disabled && (a({\n      type: J.SetDroppableDisabled,\n      id: s,\n      key: o,\n      disabled: n\n    }), d.current.disabled = n);\n  }, [s, o, n, a]), {\n    active: i,\n    rect: g,\n    isOver: (c == null ? void 0 : c.id) === s,\n    node: S,\n    over: c,\n    setNodeRef: D\n  };\n}\nfunction np(e) {\n  let {\n    animation: t,\n    children: n\n  } = e;\n  const [s, r] = j(null), [o, i] = j(null), a = bs(n);\n  return !n && !s && a && r(a), Ne(() => {\n    if (!o)\n      return;\n    const c = s == null ? void 0 : s.key, u = s == null ? void 0 : s.props.id;\n    if (c == null || u == null) {\n      r(null);\n      return;\n    }\n    Promise.resolve(t(u, o)).then(() => {\n      r(null);\n    });\n  }, [t, s, o]), F.createElement(F.Fragment, null, n, s ? ac(s, {\n    ref: i\n  }) : null);\n}\nconst sp = {\n  x: 0,\n  y: 0,\n  scaleX: 1,\n  scaleY: 1\n};\nfunction rp(e) {\n  let {\n    children: t\n  } = e;\n  return F.createElement(Vn.Provider, {\n    value: ja\n  }, F.createElement(Ks.Provider, {\n    value: sp\n  }, t));\n}\nconst op = {\n  position: \"fixed\",\n  touchAction: \"none\"\n}, ip = (e) => Hs(e) ? \"transform 250ms ease\" : void 0, ap = /* @__PURE__ */ lc((e, t) => {\n  let {\n    as: n,\n    activatorEvent: s,\n    adjustScale: r,\n    children: o,\n    className: i,\n    rect: a,\n    style: c,\n    transform: u,\n    transition: d = ip\n  } = e;\n  if (!a)\n    return null;\n  const h = r ? u : {\n    ...u,\n    scaleX: 1,\n    scaleY: 1\n  }, g = {\n    ...op,\n    width: a.width,\n    height: a.height,\n    top: a.top,\n    left: a.left,\n    transform: dt.Transform.toString(h),\n    transformOrigin: r && s ? Jf(s, a) : void 0,\n    transition: typeof d == \"function\" ? d(s) : d,\n    ...c\n  };\n  return F.createElement(n, {\n    className: i,\n    style: g,\n    ref: t\n  }, o);\n}), lp = (e) => (t) => {\n  let {\n    active: n,\n    dragOverlay: s\n  } = t;\n  const r = {}, {\n    styles: o,\n    className: i\n  } = e;\n  if (o != null && o.active)\n    for (const [a, c] of Object.entries(o.active))\n      c !== void 0 && (r[a] = n.node.style.getPropertyValue(a), n.node.style.setProperty(a, c));\n  if (o != null && o.dragOverlay)\n    for (const [a, c] of Object.entries(o.dragOverlay))\n      c !== void 0 && s.node.style.setProperty(a, c);\n  return i != null && i.active && n.node.classList.add(i.active), i != null && i.dragOverlay && s.node.classList.add(i.dragOverlay), function() {\n    for (const [c, u] of Object.entries(r))\n      n.node.style.setProperty(c, u);\n    i != null && i.active && n.node.classList.remove(i.active);\n  };\n}, cp = (e) => {\n  let {\n    transform: {\n      initial: t,\n      final: n\n    }\n  } = e;\n  return [{\n    transform: dt.Transform.toString(t)\n  }, {\n    transform: dt.Transform.toString(n)\n  }];\n}, up = {\n  duration: 250,\n  easing: \"ease\",\n  keyframes: cp,\n  sideEffects: /* @__PURE__ */ lp({\n    styles: {\n      active: {\n        opacity: \"0\"\n      }\n    }\n  })\n};\nfunction dp(e) {\n  let {\n    config: t,\n    draggableNodes: n,\n    droppableContainers: s,\n    measuringConfiguration: r\n  } = e;\n  return Ws((o, i) => {\n    if (t === null)\n      return;\n    const a = n.get(o);\n    if (!a)\n      return;\n    const c = a.node.current;\n    if (!c)\n      return;\n    const u = Ba(i);\n    if (!u)\n      return;\n    const {\n      transform: d\n    } = ce(i).getComputedStyle(i), h = $a(d);\n    if (!h)\n      return;\n    const g = typeof t == \"function\" ? t : hp(t);\n    return Aa(c, r.draggable.measure), g({\n      active: {\n        id: o,\n        data: a.data,\n        node: c,\n        rect: r.draggable.measure(c)\n      },\n      draggableNodes: n,\n      dragOverlay: {\n        node: i,\n        rect: r.dragOverlay.measure(u)\n      },\n      droppableContainers: s,\n      measuringConfiguration: r,\n      transform: h\n    });\n  });\n}\nfunction hp(e) {\n  const {\n    duration: t,\n    easing: n,\n    sideEffects: s,\n    keyframes: r\n  } = {\n    ...up,\n    ...e\n  };\n  return (o) => {\n    let {\n      active: i,\n      dragOverlay: a,\n      transform: c,\n      ...u\n    } = o;\n    if (!t)\n      return;\n    const d = {\n      x: a.rect.left - i.rect.left,\n      y: a.rect.top - i.rect.top\n    }, h = {\n      scaleX: c.scaleX !== 1 ? i.rect.width * c.scaleX / a.rect.width : 1,\n      scaleY: c.scaleY !== 1 ? i.rect.height * c.scaleY / a.rect.height : 1\n    }, g = {\n      x: c.x - d.x,\n      y: c.y - d.y,\n      ...h\n    }, f = r({\n      ...u,\n      active: i,\n      dragOverlay: a,\n      transform: {\n        initial: c,\n        final: g\n      }\n    }), [m] = f, p = f[f.length - 1];\n    if (JSON.stringify(m) === JSON.stringify(p))\n      return;\n    const b = s == null ? void 0 : s({\n      active: i,\n      dragOverlay: a,\n      ...u\n    }), v = a.node.animate(f, {\n      duration: t,\n      easing: n,\n      fill: \"forwards\"\n    });\n    return new Promise((y) => {\n      v.onfinish = () => {\n        b == null || b(), y();\n      };\n    });\n  };\n}\nlet pi = 0;\nfunction fp(e) {\n  return H(() => {\n    if (e != null)\n      return pi++, pi;\n  }, [e]);\n}\nconst gp = /* @__PURE__ */ F.memo((e) => {\n  let {\n    adjustScale: t = !1,\n    children: n,\n    dropAnimation: s,\n    style: r,\n    transition: o,\n    modifiers: i,\n    wrapperElement: a = \"div\",\n    className: c,\n    zIndex: u = 999\n  } = e;\n  const {\n    activatorEvent: d,\n    active: h,\n    activeNodeRect: g,\n    containerNodeRect: f,\n    draggableNodes: m,\n    droppableContainers: p,\n    dragOverlay: b,\n    over: v,\n    measuringConfiguration: y,\n    scrollableAncestors: C,\n    scrollableAncestorRects: x,\n    windowRect: S\n  } = za(), D = lt(Ks), R = fp(h == null ? void 0 : h.id), N = Ha(i, {\n    activatorEvent: d,\n    active: h,\n    activeNodeRect: g,\n    containerNodeRect: f,\n    draggingNodeRect: b.rect,\n    over: v,\n    overlayNodeRect: b.rect,\n    scrollableAncestors: C,\n    scrollableAncestorRects: x,\n    transform: D,\n    windowRect: S\n  }), k = uo(g), O = dp({\n    config: s,\n    draggableNodes: m,\n    droppableContainers: p,\n    measuringConfiguration: y\n  }), $ = k ? b.setRef : void 0;\n  return F.createElement(rp, null, F.createElement(np, {\n    animation: O\n  }, h && R ? F.createElement(ap, {\n    key: R,\n    id: h.id,\n    ref: $,\n    as: a,\n    activatorEvent: d,\n    adjustScale: t,\n    className: c,\n    transition: o,\n    rect: k,\n    style: {\n      zIndex: u,\n      ...r\n    },\n    transform: N\n  }, n) : null));\n});\nfunction ho(e, t, n) {\n  const s = e.slice();\n  return s.splice(n < 0 ? s.length + n : n, 0, s.splice(t, 1)[0]), s;\n}\nfunction pp(e, t) {\n  return e.reduce((n, s, r) => {\n    const o = t.get(s);\n    return o && (n[r] = o), n;\n  }, Array(e.length));\n}\nfunction es(e) {\n  return e !== null && e >= 0;\n}\nfunction mp(e, t) {\n  if (e === t)\n    return !0;\n  if (e.length !== t.length)\n    return !1;\n  for (let n = 0; n < e.length; n++)\n    if (e[n] !== t[n])\n      return !1;\n  return !0;\n}\nfunction bp(e) {\n  return typeof e == \"boolean\" ? {\n    draggable: e,\n    droppable: e\n  } : e;\n}\nconst ts = {\n  scaleX: 1,\n  scaleY: 1\n}, vp = (e) => {\n  var t;\n  let {\n    rects: n,\n    activeNodeRect: s,\n    activeIndex: r,\n    overIndex: o,\n    index: i\n  } = e;\n  const a = (t = n[r]) != null ? t : s;\n  if (!a)\n    return null;\n  const c = Cp(n, i, r);\n  if (i === r) {\n    const u = n[o];\n    return u ? {\n      x: r < o ? u.left + u.width - (a.left + a.width) : u.left - a.left,\n      y: 0,\n      ...ts\n    } : null;\n  }\n  return i > r && i <= o ? {\n    x: -a.width - c,\n    y: 0,\n    ...ts\n  } : i < r && i >= o ? {\n    x: a.width + c,\n    y: 0,\n    ...ts\n  } : {\n    x: 0,\n    y: 0,\n    ...ts\n  };\n};\nfunction Cp(e, t, n) {\n  const s = e[t], r = e[t - 1], o = e[t + 1];\n  return !s || !r && !o ? 0 : n < t ? r ? s.left - (r.left + r.width) : o.left - (s.left + s.width) : o ? o.left - (s.left + s.width) : s.left - (r.left + r.width);\n}\nconst fo = (e) => {\n  let {\n    rects: t,\n    activeIndex: n,\n    overIndex: s,\n    index: r\n  } = e;\n  const o = ho(t, s, n), i = t[r], a = o[r];\n  return !a || !i ? null : {\n    x: a.left - i.left,\n    y: a.top - i.top,\n    scaleX: a.width / i.width,\n    scaleY: a.height / i.height\n  };\n}, ns = {\n  scaleX: 1,\n  scaleY: 1\n}, yp = (e) => {\n  var t;\n  let {\n    activeIndex: n,\n    activeNodeRect: s,\n    index: r,\n    rects: o,\n    overIndex: i\n  } = e;\n  const a = (t = o[n]) != null ? t : s;\n  if (!a)\n    return null;\n  if (r === n) {\n    const u = o[i];\n    return u ? {\n      x: 0,\n      y: n < i ? u.top + u.height - (a.top + a.height) : u.top - a.top,\n      ...ns\n    } : null;\n  }\n  const c = xp(o, r, n);\n  return r > n && r <= i ? {\n    x: 0,\n    y: -a.height - c,\n    ...ns\n  } : r < n && r >= i ? {\n    x: 0,\n    y: a.height + c,\n    ...ns\n  } : {\n    x: 0,\n    y: 0,\n    ...ns\n  };\n};\nfunction xp(e, t, n) {\n  const s = e[t], r = e[t - 1], o = e[t + 1];\n  return s ? n < t ? r ? s.top - (r.top + r.height) : o ? o.top - (s.top + s.height) : 0 : o ? o.top - (s.top + s.height) : r ? s.top - (r.top + r.height) : 0 : 0;\n}\nconst Ua = \"Sortable\", Ka = /* @__PURE__ */ F.createContext({\n  activeIndex: -1,\n  containerId: Ua,\n  disableTransforms: !1,\n  items: [],\n  overIndex: -1,\n  useDragOverlay: !1,\n  sortedRects: [],\n  strategy: fo,\n  disabled: {\n    draggable: !1,\n    droppable: !1\n  }\n});\nfunction wp(e) {\n  let {\n    children: t,\n    id: n,\n    items: s,\n    strategy: r = fo,\n    disabled: o = !1\n  } = e;\n  const {\n    active: i,\n    dragOverlay: a,\n    droppableRects: c,\n    over: u,\n    measureDroppableContainers: d\n  } = za(), h = Fn(Ua, n), g = a.rect !== null, f = H(() => s.map((D) => typeof D == \"object\" && \"id\" in D ? D.id : D), [s]), m = i != null, p = i ? f.indexOf(i.id) : -1, b = u ? f.indexOf(u.id) : -1, v = U(f), y = !mp(f, v.current), C = b !== -1 && p === -1 || y, x = bp(o);\n  Ne(() => {\n    y && m && d(f);\n  }, [y, f, m, d]), B(() => {\n    v.current = f;\n  }, [f]);\n  const S = H(\n    () => ({\n      activeIndex: p,\n      containerId: h,\n      disabled: x,\n      disableTransforms: C,\n      items: f,\n      overIndex: b,\n      useDragOverlay: g,\n      sortedRects: pp(f, c),\n      strategy: r\n    }),\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [p, h, x.draggable, x.droppable, C, f, b, c, g, r]\n  );\n  return F.createElement(Ka.Provider, {\n    value: S\n  }, t);\n}\nconst Sp = (e) => {\n  let {\n    id: t,\n    items: n,\n    activeIndex: s,\n    overIndex: r\n  } = e;\n  return ho(n, s, r).indexOf(t);\n}, Rp = (e) => {\n  let {\n    containerId: t,\n    isSorting: n,\n    wasDragging: s,\n    index: r,\n    items: o,\n    newIndex: i,\n    previousItems: a,\n    previousContainerId: c,\n    transition: u\n  } = e;\n  return !u || !s || a !== o && r === i ? !1 : n ? !0 : i !== r && t === c;\n}, Lp = {\n  duration: 200,\n  easing: \"ease\"\n}, qa = \"transform\", Np = /* @__PURE__ */ dt.Transition.toString({\n  property: qa,\n  duration: 0,\n  easing: \"linear\"\n}), Mp = {\n  roleDescription: \"sortable\"\n};\nfunction Dp(e) {\n  let {\n    disabled: t,\n    index: n,\n    node: s,\n    rect: r\n  } = e;\n  const [o, i] = j(null), a = U(n);\n  return Ne(() => {\n    if (!t && n !== a.current && s.current) {\n      const c = r.current;\n      if (c) {\n        const u = un(s.current, {\n          ignoreTransform: !0\n        }), d = {\n          x: c.left - u.left,\n          y: c.top - u.top,\n          scaleX: c.width / u.width,\n          scaleY: c.height / u.height\n        };\n        (d.x || d.y) && i(d);\n      }\n    }\n    n !== a.current && (a.current = n);\n  }, [t, n, s, r]), B(() => {\n    o && i(null);\n  }, [o]), o;\n}\nfunction $p(e) {\n  let {\n    animateLayoutChanges: t = Rp,\n    attributes: n,\n    disabled: s,\n    data: r,\n    getNewIndex: o = Sp,\n    id: i,\n    strategy: a,\n    resizeObserverConfig: c,\n    transition: u = Lp\n  } = e;\n  const {\n    items: d,\n    containerId: h,\n    activeIndex: g,\n    disabled: f,\n    disableTransforms: m,\n    sortedRects: p,\n    overIndex: b,\n    useDragOverlay: v,\n    strategy: y\n  } = lt(Ka), C = Op(s, f), x = d.indexOf(i), S = H(() => ({\n    sortable: {\n      containerId: h,\n      index: x,\n      items: d\n    },\n    ...r\n  }), [h, r, x, d]), D = H(() => d.slice(d.indexOf(i)), [d, i]), {\n    rect: R,\n    node: N,\n    isOver: k,\n    setNodeRef: O\n  } = tp({\n    id: i,\n    data: S,\n    disabled: C.droppable,\n    resizeObserverConfig: {\n      updateMeasurementsFor: D,\n      ...c\n    }\n  }), {\n    active: $,\n    activatorEvent: W,\n    activeNodeRect: A,\n    attributes: z,\n    setNodeRef: Ce,\n    listeners: te,\n    isDragging: Z,\n    over: Y,\n    setActivatorNodeRef: ne,\n    transform: ue\n  } = Jg({\n    id: i,\n    data: S,\n    attributes: {\n      ...Mp,\n      ...n\n    },\n    disabled: C.draggable\n  }), Et = Ff(O, Ce), oe = !!$, je = oe && !m && es(g) && es(b), yt = !v && Z, gn = yt && je ? ue : null, Kn = je ? gn ?? (a ?? y)({\n    rects: p,\n    activeNodeRect: A,\n    activeIndex: g,\n    overIndex: b,\n    index: x\n  }) : null, Qe = es(g) && es(b) ? o({\n    id: i,\n    items: d,\n    activeIndex: g,\n    overIndex: b\n  }) : x, We = $ == null ? void 0 : $.id, q = U({\n    activeId: We,\n    items: d,\n    newIndex: Qe,\n    containerId: h\n  }), pn = d !== q.current.items, $e = t({\n    active: $,\n    containerId: h,\n    isDragging: Z,\n    isSorting: oe,\n    id: i,\n    index: x,\n    items: d,\n    newIndex: q.current.newIndex,\n    previousItems: q.current.items,\n    previousContainerId: q.current.containerId,\n    transition: u,\n    wasDragging: q.current.activeId != null\n  }), Pt = Dp({\n    disabled: !$e,\n    index: x,\n    node: N,\n    rect: R\n  });\n  return B(() => {\n    oe && q.current.newIndex !== Qe && (q.current.newIndex = Qe), h !== q.current.containerId && (q.current.containerId = h), d !== q.current.items && (q.current.items = d);\n  }, [oe, Qe, h, d]), B(() => {\n    if (We === q.current.activeId)\n      return;\n    if (We && !q.current.activeId) {\n      q.current.activeId = We;\n      return;\n    }\n    const At = setTimeout(() => {\n      q.current.activeId = We;\n    }, 50);\n    return () => clearTimeout(At);\n  }, [We]), {\n    active: $,\n    activeIndex: g,\n    attributes: z,\n    data: S,\n    rect: R,\n    index: x,\n    newIndex: Qe,\n    items: d,\n    isOver: k,\n    isSorting: oe,\n    isDragging: Z,\n    listeners: te,\n    node: N,\n    overIndex: b,\n    over: Y,\n    setNodeRef: Et,\n    setActivatorNodeRef: ne,\n    setDroppableNodeRef: O,\n    setDraggableNodeRef: Ce,\n    transform: Pt ?? Kn,\n    transition: He()\n  };\n  function He() {\n    if (\n      // Temporarily disable transitions for a single frame to set up derived transforms\n      Pt || // Or to prevent items jumping to back to their \"new\" position when items change\n      pn && q.current.newIndex === x\n    )\n      return Np;\n    if (!(yt && !Hs(W) || !u) && (oe || $e))\n      return dt.Transition.toString({\n        ...u,\n        property: qa\n      });\n  }\n}\nfunction Op(e, t) {\n  var n, s;\n  return typeof e == \"boolean\" ? {\n    draggable: e,\n    // Backwards compatibility\n    droppable: !1\n  } : {\n    draggable: (n = e == null ? void 0 : e.draggable) != null ? n : t.draggable,\n    droppable: (s = e == null ? void 0 : e.droppable) != null ? s : t.droppable\n  };\n}\nfunction xs(e) {\n  if (!e)\n    return !1;\n  const t = e.data.current;\n  return !!(t && \"sortable\" in t && typeof t.sortable == \"object\" && \"containerId\" in t.sortable && \"items\" in t.sortable && \"index\" in t.sortable);\n}\nconst Tp = [V.Down, V.Right, V.Up, V.Left], kp = (e, t) => {\n  let {\n    context: {\n      active: n,\n      collisionRect: s,\n      droppableRects: r,\n      droppableContainers: o,\n      over: i,\n      scrollableAncestors: a\n    }\n  } = t;\n  if (Tp.includes(e.code)) {\n    if (e.preventDefault(), !n || !s)\n      return;\n    const c = [];\n    o.getEnabled().forEach((h) => {\n      if (!h || h != null && h.disabled)\n        return;\n      const g = r.get(h.id);\n      if (g)\n        switch (e.code) {\n          case V.Down:\n            s.top < g.top && c.push(h);\n            break;\n          case V.Up:\n            s.top > g.top && c.push(h);\n            break;\n          case V.Left:\n            s.left > g.left && c.push(h);\n            break;\n          case V.Right:\n            s.left < g.left && c.push(h);\n            break;\n        }\n    });\n    const u = tg({\n      active: n,\n      collisionRect: s,\n      droppableRects: r,\n      droppableContainers: c,\n      pointerCoordinates: null\n    });\n    let d = Ma(u, \"id\");\n    if (d === (i == null ? void 0 : i.id) && u.length > 1 && (d = u[1].id), d != null) {\n      const h = o.get(n.id), g = o.get(d), f = g ? r.get(g.id) : null, m = g == null ? void 0 : g.node.current;\n      if (m && f && h && g) {\n        const b = zs(m).some((D, R) => a[R] !== D), v = Xa(h, g), y = Ip(h, g), C = b || !v ? {\n          x: 0,\n          y: 0\n        } : {\n          x: y ? s.width - f.width : 0,\n          y: y ? s.height - f.height : 0\n        }, x = {\n          x: f.left,\n          y: f.top\n        };\n        return C.x && C.y ? x : Nn(x, C);\n      }\n    }\n  }\n};\nfunction Xa(e, t) {\n  return !xs(e) || !xs(t) ? !1 : e.data.current.sortable.containerId === t.data.current.sortable.containerId;\n}\nfunction Ip(e, t) {\n  return !xs(e) || !xs(t) || !Xa(e, t) ? !1 : e.data.current.sortable.index < t.data.current.sortable.index;\n}\nconst Ep = ({\n  id: e,\n  item: t,\n  Item: n,\n  ...s\n}) => {\n  const {\n    attributes: r,\n    listeners: o,\n    setNodeRef: i,\n    transform: a,\n    transition: c\n  } = $p({ id: e }), u = {\n    transform: dt.Translate.toString(a),\n    transition: c\n  };\n  return /* @__PURE__ */ l(\n    n,\n    {\n      item: t,\n      setNodeRef: i,\n      style: u,\n      listeners: o,\n      ...r,\n      ...s\n    }\n  );\n}, Pp = (e) => {\n  let {\n    transform: t\n  } = e;\n  return {\n    ...t,\n    y: 0\n  };\n};\nfunction _a(e, t, n) {\n  const s = {\n    ...e\n  };\n  return t.top + e.y <= n.top ? s.y = n.top - t.top : t.bottom + e.y >= n.top + n.height && (s.y = n.top + n.height - t.bottom), t.left + e.x <= n.left ? s.x = n.left - t.left : t.right + e.x >= n.left + n.width && (s.x = n.left + n.width - t.right), s;\n}\nconst dr = (e) => {\n  let {\n    containerNodeRect: t,\n    draggingNodeRect: n,\n    transform: s\n  } = e;\n  return !n || !t ? s : _a(s, n, t);\n}, Ap = (e) => {\n  let {\n    transform: t\n  } = e;\n  return {\n    ...t,\n    x: 0\n  };\n}, mi = (e) => {\n  let {\n    transform: t,\n    draggingNodeRect: n,\n    windowRect: s\n  } = e;\n  return !n || !s ? t : _a(t, n, s);\n}, bi = {\n  default: {\n    modifiers: [dr],\n    strategy: fo\n  },\n  vertical: {\n    modifiers: [Ap, mi, dr],\n    strategy: yp\n  },\n  horizontal: {\n    modifiers: [Pp, mi, dr],\n    strategy: vp\n  }\n}, Fp = ({\n  items: e,\n  setOrder: t,\n  List: n = ({ children: d }) => d,\n  Item: s,\n  direction: r,\n  // options = lookupVariant({ variant, horizontal, vertical }, variants),\n  options: o = bi[r] || bi.default,\n  modifiers: i = o.modifiers,\n  strategy: a = o.strategy,\n  Overlay: c,\n  ...u\n}) => ({ Context: ({ children: g }) => {\n  const [f, m] = j(null), p = Zf(\n    ni(co),\n    ni(ao, {\n      coordinateGetter: kp\n    })\n  );\n  function b(C) {\n    const x = e.findIndex((S) => S.id === C.active.id);\n    m(x);\n  }\n  function v() {\n    m(null);\n  }\n  function y(C) {\n    const { active: x, over: S } = C;\n    if (x.id !== S.id) {\n      const D = e.findIndex((N) => N.id === x.id), R = e.findIndex((N) => N.id === S.id);\n      e[D].moved = !0, t(ho(e, D, R));\n    }\n    m(null);\n  }\n  return /* @__PURE__ */ w(\n    Yg,\n    {\n      sensors: p,\n      collisionDetection: eg,\n      onDragStart: b,\n      onDragCancel: v,\n      onDragEnd: y,\n      modifiers: i,\n      children: [\n        /* @__PURE__ */ l(\n          wp,\n          {\n            items: e,\n            strategy: a,\n            children: g\n          }\n        ),\n        c && f && /* @__PURE__ */ l(gp, { children: /* @__PURE__ */ l(c, { item: f, ...u }) })\n      ]\n    }\n  );\n}, Content: () => /* @__PURE__ */ l(n, { ...u, children: e.map(\n  (g) => /* @__PURE__ */ l(\n    Ep,\n    {\n      id: g.id,\n      item: g,\n      Item: s,\n      ...u,\n      role: \"drag\"\n    },\n    g.id\n  )\n) }) }), go = (e) => {\n  const { Context: t, Content: n } = Fp(e);\n  return /* @__PURE__ */ l(t, { children: /* @__PURE__ */ l(n, {}) });\n}, Vp = ({ ...e }) => /* @__PURE__ */ l(\n  go,\n  {\n    ...e,\n    direction: \"vertical\"\n  }\n), Bp = ({\n  columns: e,\n  visibleColumns: t,\n  toggleVisibleColumn: n,\n  columnOrder: s = Object.keys(e),\n  columnsText: r = \"Columns\",\n  columnsHelpClick: o = \"Click checkbox to show/hide.\",\n  columnsHelpDrag: i = \"Drag handle to order.\",\n  changeColumnOrder: a\n}) => {\n  const c = Nt(t), u = s.filter((h) => e[h]).map(\n    (h) => kn(e[h], \"id heading\")\n  );\n  return /* @__PURE__ */ w(\n    If,\n    {\n      right: !0,\n      iconRight: \"columns\",\n      text: r,\n      size: \"small\",\n      closeOnBlur: !1,\n      triggerClass: \"trigger pad-v-none\",\n      children: [\n        /* @__PURE__ */ l(\"div\", { className: \"sortable list vertical\", children: /* @__PURE__ */ l(\n          Vp,\n          {\n            items: u,\n            Item: Ef,\n            setOrder: (h) => {\n              a(\n                h.map((g) => g.id)\n              );\n            },\n            isVisible: c,\n            toggleVisibleColumn: n\n          }\n        ) }),\n        /* @__PURE__ */ w(\"div\", { className: \"smaller mar-b-2\", children: [\n          o,\n          /* @__PURE__ */ l(\"br\", {}),\n          i\n        ] }),\n        /* @__PURE__ */ l(Af, {})\n      ]\n    }\n  );\n}, jp = _.Consumer(Bp), Ya = \"cross\", Wp = \"datatable\", tn = \"filter\", Ga = \"filters\", dn = \"filtering\", Hp = \"filter-icon\", Za = \"heading\", zp = \"headings\", Ja = \"no-rows\", Up = \"selectable\", po = \"sorting\", Kp = \"has-filters\", qp = \"scroll-x\", Xp = ({\n  showFilters: e,\n  toggleFilters: t,\n  hasFilters: n,\n  filterIcon: s = tn,\n  filterText: r = (d) => d ? gu(d, \"Filter\") : \"Filter\",\n  filteringIcon: o = tn,\n  filterIconClass: i = Hp,\n  filterTriggerClass: a = \"small flex gap-2 middle trigger\",\n  filteringClass: c = dn,\n  hasFiltersClass: u = Kp\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: M(\n      a,\n      {\n        [c]: e,\n        [u]: n\n      }\n    ),\n    onClick: t,\n    children: [\n      re(r, n),\n      /* @__PURE__ */ l(\n        X,\n        {\n          className: i,\n          name: e ? o : s\n        }\n      )\n    ]\n  }\n), _p = _.Consumer(Xp), Yp = ({\n  PageSize: e = Lf,\n  Columns: t = jp,\n  Filtering: n = _p,\n  controlsClass: s = \"controls flex center wrap gap-2 mar-b-1\"\n}) => /* @__PURE__ */ w(\"div\", { className: s, children: [\n  /* @__PURE__ */ l(n, {}),\n  /* @__PURE__ */ l(t, {}),\n  /* @__PURE__ */ l(e, {})\n] }), Gp = _.Consumer(Yp), Zp = ({\n  page: e,\n  setPageNo: t,\n  prevIcon: n = \"arrow-left\",\n  prevLabel: s = el,\n  nextIcon: r = \"arrow-right\",\n  nextLabel: o = tl,\n  navSize: i = \"smaller\",\n  headerClass: a = \"small flex space bottom gap-2\",\n  Summary: c = lh,\n  Controls: u = Gp\n}) => /* @__PURE__ */ w(\"header\", { className: a, children: [\n  /* @__PURE__ */ l(\n    Se,\n    {\n      icon: n,\n      size: i,\n      disabled: e.pageNo <= e.firstPage,\n      outline: !0,\n      onClick: () => t(e.pageNo - 1),\n      role: \"navigation\",\n      label: re(s(e.pageNo - 1))\n    }\n  ),\n  /* @__PURE__ */ w(\"div\", { children: [\n    /* @__PURE__ */ l(c, {}),\n    /* @__PURE__ */ l(u, {})\n  ] }),\n  /* @__PURE__ */ l(\n    Se,\n    {\n      icon: r,\n      size: i,\n      disabled: e.pageNo >= e.lastPage,\n      outline: !0,\n      onClick: () => t(e.pageNo + 1),\n      role: \"navigation\",\n      label: re(o(e.pageNo + 1))\n    }\n  )\n] }), Jp = _.Consumer(Zp), hr = ({ value: e }) => T(e) ? e : \"\", Qp = ({ value: e }) => T(e) ? qt(e) : \"\", vi = ({ value: e }) => T(e) ? du(e) : \"\", em = ({ value: e }) => T(e) ? pu(e) : \"\", tm = ({ value: e, column: t }) => T(e) ? yr(e) ? t.trueText ?? aa : t.falseText ?? la : \"\", Qa = {\n  default: hr,\n  text: hr,\n  id: hr,\n  number: Qp,\n  price: vi,\n  currency: vi,\n  boolean: tm,\n  title: em\n}, qe = {\n  left: \"text-left\",\n  right: \"text-right\",\n  center: \"text-center\",\n  centre: \"text-center\"\n}, nm = ({\n  row: e,\n  column: t,\n  name: n,\n  value: s,\n  rowIndex: r,\n  cellIndex: o,\n  cellClass: i,\n  filters: a,\n  sortColumn: c,\n  sortingClass: u = po,\n  filteringClass: d = dn,\n  displayTypes: h = Qa\n}) => {\n  const g = t.type || \"text\", f = t.display || h[g] || h.default, m = c === n, p = M(\n    i,\n    re(t.className, { row: e, column: t, value: s, name: n, rowIndex: r, cellIndex: o }),\n    m ? u : null,\n    T(a[n]) ? d : null,\n    t.right && qe.right,\n    t.center && qe.center,\n    t.align && qe[t.align]\n  );\n  return /* @__PURE__ */ l(\"td\", { className: p, children: /* @__PURE__ */ l(\n    f,\n    {\n      row: e,\n      column: t,\n      value: s,\n      name: n,\n      field: n,\n      rowIndex: r,\n      cellIndex: o\n    }\n  ) });\n}, sm = _.Consumer(nm), rm = ({\n  row: e,\n  rowIndex: t,\n  columns: n,\n  rowClass: s,\n  onRowClick: r = E,\n  visibleColumns: o,\n  Cell: i = sm\n}) => /* @__PURE__ */ l(\n  \"tr\",\n  {\n    className: re(s, { row: e, rowIndex: t }),\n    onClick: () => r({ row: e, rowIndex: t }),\n    children: o.filter((a) => n[a]).map(\n      (a, c) => {\n        const u = n[a], d = u.field ?? a, h = e[d];\n        return /* @__PURE__ */ l(\n          i,\n          {\n            row: e,\n            rowIndex: t,\n            index: c,\n            name: a,\n            field: d,\n            column: u,\n            value: h\n          },\n          a\n        );\n      }\n    )\n  }\n), om = _.Consumer(rm), im = ({\n  noRowsClass: e = Ja,\n  noRowsText: t = \"No rows selected\",\n  visibleColumns: n\n}) => /* @__PURE__ */ l(\n  \"tr\",\n  {\n    className: e,\n    children: /* @__PURE__ */ l(\"td\", { colSpan: n.length, children: t })\n  }\n), am = _.Consumer(im), lm = ({\n  page: e,\n  Row: t = om,\n  NoRows: n = am\n}) => /* @__PURE__ */ l(\"tbody\", { children: e.rows.length ? e.rows.map(\n  (s, r) => /* @__PURE__ */ l(\n    t,\n    {\n      row: s,\n      rowIndex: r\n    },\n    s.id ?? r\n  )\n) : /* @__PURE__ */ l(n, {}) }), cm = _.Consumer(lm), um = ({\n  name: e,\n  column: t,\n  filters: n,\n  sortColumn: s,\n  sortReverse: r,\n  toggleSortColumn: o,\n  sortUpIcon: i = \"arrow-up\",\n  sortDownIcon: a = \"arrow-down\",\n  unsortedIcon: c = \"arrows\",\n  sortIconClass: u = \"sort-icon\",\n  sortingClass: d = po,\n  headingClass: h = Za,\n  filteringClass: g = dn\n}) => {\n  const f = e === s, m = f && r, p = t.sortable, b = p ? () => o(e) : null;\n  return /* @__PURE__ */ l(\n    \"th\",\n    {\n      className: M(\n        h,\n        f ? d : null,\n        { sortable: p },\n        T(n[e]) ? g : null,\n        t.right && qe.right,\n        t.center && qe.center,\n        t.align && qe[t.align]\n      ),\n      onClick: b,\n      children: /* @__PURE__ */ w(\"div\", { className: \"flex space middle\", children: [\n        /* @__PURE__ */ l(\"span\", { className: \"wide label\", children: t.heading }),\n        !!t.sortable && /* @__PURE__ */ l(\n          X,\n          {\n            className: u,\n            name: f ? m ? i : a : c\n          }\n        )\n      ] })\n    }\n  );\n}, dm = _.Consumer(um), hm = ({\n  columns: e,\n  headingsClass: t = zp,\n  visibleColumns: n,\n  Heading: s = dm\n}) => /* @__PURE__ */ l(\"thead\", { children: /* @__PURE__ */ l(\"tr\", { className: t, children: n.filter((r) => e[r]).map(\n  (r) => /* @__PURE__ */ l(\n    s,\n    {\n      name: r,\n      column: e[r]\n    },\n    r\n  )\n) }) }), fm = _.Consumer(hm), gm = ({\n  value: e,\n  setFilter: t,\n  column: n,\n  placeholder: s\n}) => /* @__PURE__ */ l(\n  Bn,\n  {\n    options: [\n      { value: !0, text: n.trueText ?? aa },\n      { value: !1, text: n.falseText ?? la }\n    ],\n    wide: !0,\n    value: e,\n    onUpdate: E,\n    onSelect: (r) => t(r.value),\n    placeholder: s\n  }\n), as = ({\n  value: e,\n  setFilter: t,\n  type: n = \"text\",\n  placeholder: s\n}) => /* @__PURE__ */ l(\n  \"input\",\n  {\n    type: n,\n    value: e ?? \"\",\n    onChange: (r) => t(r.target.value),\n    placeholder: s\n  }\n), Ht = (e) => /* @__PURE__ */ l(as, { type: \"number\", ...e }), pm = ({\n  value: e,\n  setFilter: t,\n  column: n,\n  placeholder: s\n}) => /* @__PURE__ */ l(\n  Bn,\n  {\n    options: n.selectOptions || [],\n    value: e,\n    onUpdate: E,\n    onSelect: (r) => t(\n      n.selectValue ? n.selectValue(r) : ve(r) ? r.value : r\n    ),\n    placeholder: s,\n    wide: !0\n  }\n), Jt = {\n  default: as,\n  string: as,\n  text: as,\n  id: Ht,\n  number: Ht,\n  integer: Ht,\n  float: Ht,\n  price: Ht,\n  pounds: Ht,\n  select: pm,\n  boolean: gm\n}, mm = ({\n  name: e,\n  column: t,\n  filters: n,\n  setFilter: s,\n  filterClass: r = tn,\n  filteringClass: o = dn,\n  filterIcon: i = tn,\n  clearFilterIcon: a = Ya\n}) => {\n  const c = t.filterComponent || Jt[t.filterType] || Jt[t.type] || Jt.default;\n  return t.filterable ? /* @__PURE__ */ l(\n    \"th\",\n    {\n      className: M(\n        r,\n        T(n == null ? void 0 : n[e]) ? o : null\n      ),\n      children: /* @__PURE__ */ w(\"div\", { className: \"flex space middle gap-1\", children: [\n        /* @__PURE__ */ l(\n          c,\n          {\n            value: n[e] ?? \"\",\n            setFilter: (u) => s(e, u),\n            column: t,\n            placeholder: t.filterPlaceholder || \"Filter\"\n          }\n        ),\n        /* @__PURE__ */ l(\n          X,\n          {\n            name: Dt(n[e]) || n[e] ? a : i,\n            onClick: () => s(e, null)\n          }\n        )\n      ] })\n    }\n  ) : /* @__PURE__ */ l(\"th\", {});\n}, bm = _.Consumer(mm), vm = ({\n  columns: e,\n  filtersClass: t = Ga,\n  visibleColumns: n,\n  Filter: s = bm\n}) => /* @__PURE__ */ l(\"thead\", { children: /* @__PURE__ */ l(\"tr\", { className: t, children: n.filter((r) => e[r]).map(\n  (r) => /* @__PURE__ */ l(\n    s,\n    {\n      name: r,\n      column: e[r]\n    },\n    r\n  )\n) }) }), Cm = _.Consumer(vm), ym = ({\n  tableClass: e = \"celled striped\",\n  selectableClass: t = Up,\n  scrollX: n,\n  onRowClick: s,\n  showFilters: r,\n  Headings: o = fm,\n  Filters: i = Cm,\n  Rows: a = cm\n}) => /* @__PURE__ */ w(\n  \"table\",\n  {\n    className: M(\n      e,\n      n ? \"wide nowrap\" : \"wide\",\n      {\n        [t]: s\n      }\n    ),\n    children: [\n      /* @__PURE__ */ l(o, {}),\n      r && /* @__PURE__ */ l(i, {}),\n      /* @__PURE__ */ l(a, {})\n    ]\n  }\n), xm = _.Consumer(ym), wm = ({\n  scrollX: e,\n  Table: t = xm\n}) => /* @__PURE__ */ l(\"div\", { className: e ? qp : \"\", children: /* @__PURE__ */ l(t, {}) }), Sm = _.Consumer(wm), Rm = ({\n  page: e = 0,\n  pages: t,\n  buttonClass: n = \"outline\",\n  pageClass: s = n,\n  currentPageClass: r = \"solid\",\n  render: o,\n  ...i\n}) => {\n  const u = t - 1, d = t, h = e + 1, g = e > 0 ? e - 1 : null, f = T(g) ? g + 1 : null, m = e < u ? e + 1 : null, p = T(m) ? m + 1 : null;\n  return o({\n    page: e,\n    pageNo: h,\n    firstPage: 0,\n    firstPageNo: 1,\n    lastPage: u,\n    lastPageNo: d,\n    pages: t,\n    prevPage: g,\n    prevPageNo: f,\n    nextPage: m,\n    nextPageNo: p,\n    buttonClass: n,\n    pageClass: s,\n    currentPageClass: r,\n    ...i\n  });\n}, bt = Xe(Rm), IC = bt.Use, Lm = (e) => `Go to page ${e}`, el = (e) => e ? `Previous page, page ${e}` : \"No previous page\", tl = (e) => e ? `Next page, page ${e}` : \"No next page\", Nm = ({\n  prevPage: e,\n  prevPageNo: t,\n  setPage: n,\n  buttonClass: s,\n  prevClass: r = s,\n  prevIcon: o = \"arrow-left\",\n  prevLabel: i = el\n}) => /* @__PURE__ */ l(\n  Se,\n  {\n    className: r,\n    icon: o,\n    onClick: () => n(e),\n    disabled: Ns(e),\n    label: re(i, t)\n  }\n), Mm = bt.Consumer(Nm), Dm = ({\n  nextPage: e,\n  nextPageNo: t,\n  setPage: n,\n  buttonClass: s,\n  nextClass: r = s,\n  nextIcon: o = \"arrow-right\",\n  nextLabel: i = tl\n}) => /* @__PURE__ */ l(\n  Se,\n  {\n    className: r,\n    icon: o,\n    onClick: () => n(e),\n    disabled: !e,\n    label: re(i, t)\n  }\n), $m = bt.Consumer(Dm), Om = ({\n  pageNo: e,\n  text: t = e,\n  buttonClass: n,\n  className: s = n,\n  onClick: r,\n  current: o,\n  pageLabel: i = Lm\n}) => /* @__PURE__ */ l(\n  Se,\n  {\n    text: t,\n    className: s,\n    onClick: r,\n    label: o ? null : re(i, e),\n    \"aria-current\": o ? \"page\" : null\n  }\n), Tm = bt.Consumer(Om), km = /* @__PURE__ */ l(be, { children: \"…\" }), Im = ({\n  pageSeparatorClass: e = \"separator\",\n  pageSeparator: t = km\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    role: \"separator\",\n    className: e,\n    children: t\n  }\n), Em = bt.Consumer(Im), Pm = ({\n  page: e,\n  pageNo: t,\n  firstPage: n,\n  firstPageNo: s,\n  prevPage: r,\n  prevPageNo: o,\n  nextPage: i,\n  nextPageNo: a,\n  lastPage: c,\n  lastPageNo: u,\n  setPage: d,\n  pagesClass: h = \"pages\",\n  buttonClass: g,\n  pageClass: f = g,\n  currentPageClass: m = \"brand\",\n  showFirstLast: p = !0,\n  Separator: b = Em,\n  Page: v = Tm\n}) => /* @__PURE__ */ w(\"div\", { className: h, children: [\n  p && r > n && /* @__PURE__ */ w(be, { children: [\n    /* @__PURE__ */ l(\n      v,\n      {\n        page: n,\n        pageNo: s,\n        className: f,\n        onClick: () => d(n)\n      }\n    ),\n    r > n + 1 && /* @__PURE__ */ l(b, {})\n  ] }),\n  T(r) && /* @__PURE__ */ l(\n    v,\n    {\n      page: r,\n      pageNo: o,\n      className: f,\n      onClick: () => d(r)\n    }\n  ),\n  /* @__PURE__ */ l(\n    v,\n    {\n      page: e,\n      pageNo: t,\n      className: m,\n      current: !0,\n      disabled: !0\n    }\n  ),\n  T(i) && /* @__PURE__ */ l(\n    v,\n    {\n      page: i,\n      pageNo: a,\n      className: f,\n      onClick: () => d(i)\n    }\n  ),\n  p && i && i < c && /* @__PURE__ */ w(be, { children: [\n    i < c - 1 && /* @__PURE__ */ l(b, {}),\n    /* @__PURE__ */ l(\n      v,\n      {\n        page: c,\n        pageNo: u,\n        className: f,\n        onClick: () => d(c)\n      }\n    )\n  ] })\n] }), Am = bt.Consumer(Pm), Fm = ({\n  className: e = \"pager\",\n  size: t,\n  color: n,\n  label: s = \"Pagination navigation\",\n  Previous: r = Mm,\n  Next: o = $m,\n  Pages: i = Am\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    role: \"navigation\",\n    \"aria-label\": s,\n    className: M(e, t, n),\n    children: [\n      /* @__PURE__ */ l(r, {}),\n      /* @__PURE__ */ l(i, {}),\n      /* @__PURE__ */ l(o, {})\n    ]\n  }\n), Vm = bt.Consumer(Fm), Bm = ({\n  Content: e = Vm,\n  ...t\n}) => /* @__PURE__ */ l(bt.Provider, { ...t, children: /* @__PURE__ */ l(e, {}) }), jm = L(Bm, \"Pager\"), Wm = ({\n  footerClass: e,\n  pager: t = {},\n  page: n,\n  setPageNo: s,\n  pagerSize: r = \"small\"\n}) => /* @__PURE__ */ l(\"footer\", { className: e, children: n.total > 0 && /* @__PURE__ */ l(\n  jm,\n  {\n    page: n.page,\n    pages: n.pages,\n    setPage: (o) => s(o + 1),\n    size: r,\n    ...t\n  }\n) }), Hm = _.Consumer(Wm), zm = ({\n  color: e,\n  className: t = Wp,\n  Header: n = Jp,\n  Body: s = Sm,\n  Footer: r = Hm\n}) => /* @__PURE__ */ w(\"section\", { className: M(t, e), children: [\n  /* @__PURE__ */ l(n, {}),\n  /* @__PURE__ */ l(s, {}),\n  /* @__PURE__ */ l(r, {})\n] }), Um = _.Consumer(zm), Km = ({\n  Content: e = Um,\n  ...t\n}) => /* @__PURE__ */ l(_.Provider, { ...t, children: /* @__PURE__ */ l(e, {}) }), nl = L(Km, \"DataTable\"), qm = ({\n  noRowsClass: e = Ja,\n  noRowsText: t = \"No rows selected\"\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: e,\n    children: t\n  }\n), Xm = ({\n  row: e,\n  column: t,\n  name: n,\n  value: s,\n  rowIndex: r,\n  cellIndex: o,\n  cellClass: i,\n  filters: a,\n  sortColumn: c,\n  sortReverse: u,\n  sortUpIcon: d = \"arrow-up\",\n  sortDownIcon: h = \"arrow-down\",\n  unsortedIcon: g = \"arrows\",\n  sortIconClass: f = \"sort-icon\",\n  toggleSortColumn: m,\n  headingClass: p = Za,\n  sortingClass: b = po,\n  filteringClass: v = dn,\n  displayTypes: y = Qa\n}) => {\n  const C = t.type || \"text\", x = t.display || y[C] || y.default, S = c === n, D = S && u, R = t.sortable, N = R ? () => m(n) : null, k = [\n    S ? b : null,\n    T(a[n]) ? v : null,\n    t.right && qe.right,\n    t.center && qe.center,\n    t.align && qe[t.align]\n  ], O = M(\n    \"split-3\",\n    p,\n    { sortable: R },\n    ...k\n  ), $ = M(\n    i,\n    re(t.className, { row: e, column: t, value: s, name: n, rowIndex: r, cellIndex: o }),\n    ...k\n  );\n  return /* @__PURE__ */ w(\"tr\", { children: [\n    /* @__PURE__ */ l(\"th\", { className: O, onClick: N, children: /* @__PURE__ */ w(\"div\", { className: \"flex space middle\", children: [\n      /* @__PURE__ */ l(\"span\", { className: \"wide label\", children: t.heading }),\n      !!R && /* @__PURE__ */ l(\n        X,\n        {\n          className: f,\n          name: S ? D ? d : h : g\n        }\n      )\n    ] }) }),\n    /* @__PURE__ */ l(\"td\", { className: $, children: /* @__PURE__ */ l(\n      x,\n      {\n        row: e,\n        column: t,\n        value: s,\n        name: n,\n        field: n,\n        rowIndex: r,\n        cellIndex: o\n      }\n    ) })\n  ] });\n}, _m = _.Consumer(Xm), Ym = ({\n  row: e,\n  rowIndex: t,\n  columns: n,\n  visibleColumns: s,\n  tableClass: r = \"wide celled shaded small\"\n}) => /* @__PURE__ */ l(\"table\", { className: r, children: /* @__PURE__ */ l(\"tbody\", { children: s.filter((o) => n[o]).map(\n  (o, i) => {\n    const a = n[o], c = a.field ?? o, u = e[c];\n    return /* @__PURE__ */ l(\n      _m,\n      {\n        row: e,\n        rowIndex: t,\n        index: i,\n        name: o,\n        field: c,\n        column: a,\n        value: u\n      },\n      o\n    );\n  }\n) }) }), Gm = _.Consumer(Ym), Zm = ({\n  name: e,\n  column: t,\n  filters: n,\n  setFilter: s,\n  filterClass: r = tn,\n  filteringClass: o = dn,\n  filterIcon: i = tn,\n  clearFilterIcon: a = Ya\n}) => {\n  const c = t.filterComponent || Jt[t.filterType] || Jt[t.type] || Jt.default;\n  return /* @__PURE__ */ w(\n    \"div\",\n    {\n      className: M(\n        r,\n        \"field mar-v-none\",\n        T(n == null ? void 0 : n[e]) ? o : null\n      ),\n      children: [\n        /* @__PURE__ */ l(\"label\", { children: t.heading }),\n        /* @__PURE__ */ w(\"div\", { className: \"inputs\", children: [\n          /* @__PURE__ */ l(\n            c,\n            {\n              value: n[e] ?? \"\",\n              setFilter: (u) => s(e, u),\n              column: t,\n              placeholder: t.filterPlaceholder || \"Filter\"\n            }\n          ),\n          /* @__PURE__ */ l(\"div\", { className: \"suffix\", children: /* @__PURE__ */ l(\n            X,\n            {\n              name: Dt(n[e]) || n[e] ? a : i,\n              onClick: () => s(e, null)\n            }\n          ) })\n        ] })\n      ]\n    }\n  );\n}, Jm = _.Consumer(Zm), Qm = ({\n  minWidth: e,\n  gap: t,\n  children: n,\n  className: s,\n  tilesClass: r = \"tiles\",\n  style: o = {}\n}) => (e && (o[\"--tile-min-width\"] = e), /* @__PURE__ */ l(\"div\", { className: M(s, r, Kr(t)), style: o, children: n })), eb = L(Qm, \"Tiles\"), tb = ({\n  columns: e,\n  filtersClass: t = Ga,\n  visibleColumns: n,\n  Filter: s = Jm,\n  minFilterWidth: r = \"12rem\",\n  filterGap: o = \"2\"\n}) => /* @__PURE__ */ l(\"div\", { className: t, children: /* @__PURE__ */ l(eb, { minWidth: r, gap: o, children: n.filter((i) => {\n  var a;\n  return (a = e[i]) == null ? void 0 : a.filterable;\n}).map(\n  (i) => /* @__PURE__ */ l(\n    s,\n    {\n      name: i,\n      column: e[i]\n    },\n    i\n  )\n) }) }), nb = _.Consumer(tb), sb = ({\n  page: e,\n  showFilters: t,\n  bodyClass: n = \"grid-1 gap-4 mar-v-4\",\n  Filters: s = nb\n}) => /* @__PURE__ */ w(\"div\", { className: n, children: [\n  !!t && /* @__PURE__ */ l(s, {}),\n  e.rows.length ? e.rows.map(\n    (r, o) => /* @__PURE__ */ l(\n      Gm,\n      {\n        row: r,\n        rowIndex: o\n      },\n      r.id ?? o\n    )\n  ) : /* @__PURE__ */ l(qm, {})\n] }), sl = _.Consumer(sb), rb = ({\n  breakpoint: e,\n  ...t\n}) => {\n  const n = xd(e), { ref: s, width: r } = _l();\n  return /* @__PURE__ */ l(\"div\", { ref: s, children: /* @__PURE__ */ l(\n    nl,\n    {\n      Body: r < n ? sl : void 0,\n      ...t\n    }\n  ) });\n}, EC = ({\n  breakpoint: e,\n  ...t\n}) => e ? /* @__PURE__ */ l(\n  rb,\n  {\n    breakpoint: e,\n    ...t\n  }\n) : /* @__PURE__ */ l(\n  nl,\n  {\n    Body: sl,\n    ...t\n  }\n), Ci = sn(\n  \"value values\"\n);\nvar wt;\nlet ob = (wt = class extends Rt {\n  constructor(t) {\n    super(t);\n    const n = this.initProps(t);\n    this.state = {\n      ...n\n    };\n  }\n  initProps(t) {\n    const { value: n = [], values: s = n, options: r = [], findOption: o, optionValue: i } = t;\n    return { values: s.map(\n      (c) => {\n        const [u] = o(\n          r,\n          i(c)\n        );\n        return u;\n      }\n    ).filter(T) };\n  }\n  componentDidUpdate(t) {\n    let n;\n    if (this.props.options !== t.options ? n = vr(Ci, this.props, t) ? this.initProps(this.props) : this.initProps({ ...this.props, value: this.state.values }) : vr(Ci, this.props, t) && (n = this.initProps(this.props)), n) {\n      const s = this.props.onUpdate || this.props.onChange;\n      this.setState(\n        n,\n        () => s(n.values)\n      );\n    }\n  }\n  onSelect(t) {\n    return this.debug(\"selected option:\", t), this.debug(\"current values:\", this.state.values), this.unselectMultiOption(t) || this.selectMultiOption(t);\n  }\n  optionIsSelected(t) {\n    const [, n] = this.props.findOption(\n      this.state.values,\n      this.props.optionValue(t)\n    );\n    return T(n);\n  }\n  unselectMultiOption(t) {\n    if (!T(t))\n      return null;\n    const [n, s] = this.props.findOption(\n      this.state.values,\n      this.props.optionValue(t)\n    );\n    if (!T(s))\n      return this.debug(\"item is not selected:\", t), !1;\n    this.debug(`unselecting item at ${s}:`, n);\n    const r = this.state.values.filter(\n      (o, i) => i !== s\n    );\n    return this.setValues(r), !0;\n  }\n  selectMultiOption(t) {\n    if (!T(t))\n      return null;\n    const [n, s] = this.props.findOption(\n      this.props.options,\n      this.props.optionValue(t)\n    );\n    if (!T(s))\n      return this.debug(\"item is not selectable:\", t), !1;\n    this.debug(`selecting item at ${s}:`, n);\n    const r = [...this.state.values, n];\n    return this.setValues(r), !0;\n  }\n  setValues(t) {\n    this.debug(\"setValues:\", t), this.setState(\n      { values: t },\n      () => this.props.onChange(t)\n    );\n  }\n}, I(wt, \"debug\", !1), I(wt, \"debugPrefix\", \"MultiSelect > \"), I(wt, \"debugColor\", \"MediumVioletRed\"), I(wt, \"defaultProps\", {\n  findOption: na,\n  optionValue: ta,\n  displaySelection: Lt(\"displaySelection\"),\n  onChange: E\n}), I(wt, \"actions\", [\n  \"onSelect\",\n  \"optionIsSelected\",\n  \"selectMultiOption\",\n  \"unselectMultiOption\",\n  \"setValues\"\n]), wt);\nconst Tt = Xe(ob), {\n  Provider: AC,\n  Consumer: FC,\n  Use: VC\n} = Tt, ib = ({\n  option: e,\n  optionClass: t = \"option\",\n  selectedIcon: n = \"check\",\n  unselectedIcon: s,\n  noIconClass: r = \"no-icon\",\n  displayOption: o = Lt(\"displayOption\"),\n  optionIsSelected: i\n}) => /* @__PURE__ */ w(\"div\", { className: t, children: [\n  /* @__PURE__ */ l(\"div\", { children: o(e) }),\n  i(e) ? /* @__PURE__ */ l(X, { ...Uo(n) }) : s ? /* @__PURE__ */ l(X, { ...Uo(s) }) : /* @__PURE__ */ l(\"div\", { className: r })\n] }), ab = Tt.Consumer(ib);\nvar de;\nlet lb = (de = class extends ds {\n  constructor(t) {\n    super(t), this.state = {\n      ...this.state,\n      ...this.valueState(),\n      closeOnBlur: !this.props.search\n    }, this.debug(`search: ${this.props.search}  closeOnBlur: ${this.state.closeOnBlur}`);\n  }\n  componentDidUpdate(t) {\n    let n;\n    if (this.props.options !== t.options && (this.debug(\"options have changed, current value is\", this.state.value), n = this.valueState(this.state.value)), this.props.value !== t.value && (this.debug(`value has changed from ${t.value} to ${this.props.value}`), n = this.valueState()), n) {\n      const s = T(n.value) ? this.props.onUpdate || this.props.onSelect : E;\n      this.setState(\n        n,\n        () => s(n.value)\n      );\n    }\n  }\n  initialCursor() {\n    return this.state.cursor;\n  }\n  valueState(t = this.props.value) {\n    const n = this.props.options, [s, r] = this.props.findOption(\n      n,\n      t\n    );\n    return { value: s, cursor: r, options: n };\n  }\n  selectState(t) {\n    return {\n      value: t,\n      // input,\n      selected: t\n    };\n  }\n  closeState() {\n    return {\n      ...this.constructor.inactiveState,\n      options: this.props.options\n    };\n  }\n  onKeyDown(t) {\n    if (this.debug(`onKeyDown(${t.key})`), !this.props.disabled) {\n      switch (t.key) {\n        case ks:\n          this.state.isOpen ? this.setCursor(this.cursorNextIndex()) : this.open(this.initialCursor() ?? this.cursorFirstIndex());\n          break;\n        case Ts:\n          this.state.isOpen ? this.setCursor(this.cursorPrevIndex()) : this.open(this.initialCursor() ?? this.cursorLastIndex());\n          break;\n        case Is:\n          this.state.isOpen ? this.selectCursor() : this.open(this.initialCursor() ?? this.cursorFirstIndex());\n          break;\n        case Es:\n          this.close();\n          break;\n        case hh:\n          this.debug(\"backspace\"), this.searchBackspace();\n          break;\n        case dh:\n          return;\n        case Jr:\n          if (this.state.isOpen) {\n            if (!(this.state.searchInput ?? Yt).length)\n              break;\n          } else {\n            this.debug(\"space to open\"), this.open(this.cursorFirstIndex());\n            break;\n          }\n        default:\n          if (this.debug(\"default keypress\"), t.altKey || t.ctrlKey || t.metaKey)\n            return;\n          if (t.key.length === 1) {\n            this.debug(`typed key ${t.key}`), this.searchKey(t.key), this.state.open || this.open(), this._searchRef && this._searchRef.focus();\n            break;\n          }\n          this.debug(`ignored key ${t.key}`);\n          return;\n      }\n      t.preventDefault();\n    }\n  }\n  searchRef(t) {\n    this.debug(\"searchRef()\"), this._searchRef = t;\n  }\n  focusSearch(t) {\n    this.debug(\"focusSearch()\"), t == null || t.stopPropagation(), this.setState({ searchFocus: !0 });\n  }\n  blurSearch() {\n    this.debug(\"blurSearch()\"), this.setState({ searchFocus: !1 }), this.closeSoon();\n  }\n  setSearch(t) {\n    this.setState(\n      { searchInput: t },\n      () => this.searchOptions()\n    );\n  }\n  searchKey(t) {\n    this.setSearch(\n      (this.state.searchInput ?? Yt) + t\n    );\n  }\n  searchBackspace() {\n    this.setSearch(\n      T(this.state.searchInput) && this.state.searchInput.length > 1 ? this.state.searchInput.slice(0, -1) : void 0\n    );\n  }\n  clearSearch(t) {\n    t == null || t.preventDefault(), t == null || t.stopPropagation(), this._searchRef && (this.debug(\"re-focussing search input\"), this._searchRef.focus()), this.setSearch(void 0);\n  }\n  searchOptions() {\n    this.debug(\"searchOptions(), searchInput: \", this.state.searchInput);\n    const { options: t, searchOptions: n } = this.props;\n    this.setState(\n      (s) => ({\n        options: T(s.searchInput) ? n(s.searchInput, this.props.options.filter(this.props.validOption)) : t,\n        cursor: 0\n      })\n    );\n  }\n  closeable(t) {\n    return this.debug(`closeable()  force:${t}  hasHover:${this.state.hasHover}  searchFocus:${this.state.searchFocus}`), t || !(this.state.hasHover || this.state.searchFocus);\n  }\n  menuOptions() {\n    return this.state.options;\n  }\n}, I(de, \"debug\", !1), I(de, \"debugPrefix\", \"Select > \"), I(de, \"debugColor\", \"MediumVioletRed\"), I(de, \"defaultProps\", {\n  ...de.defaultProps,\n  options: [],\n  search: !1,\n  findOption: na,\n  validOption: In,\n  searchOptions: ud,\n  displayValue: Lt(\"displayValue\"),\n  displayOption: Lt(\"displayOption\"),\n  displayHeading: Lt(\"displayHeading\")\n}), // NOTE: we don't want to reset the cursor or value when closing\nI(de, \"inactiveState\", {\n  isOpen: !1,\n  selected: void 0,\n  searchInput: void 0\n}), I(de, \"initialState\", {\n  value: Yt,\n  cursor: void 0,\n  ...de.inactiveState\n}), I(de, \"initialProps\", {\n  // value: 'initialValue',\n}), I(de, \"actions\", [\n  \"onFocus\",\n  \"onBlur\",\n  \"onClick\",\n  \"onKeyDown\",\n  \"open\",\n  \"close\",\n  \"setCursor\",\n  \"selectCursor\",\n  \"selectOption\",\n  \"menuRef\",\n  \"activeRef\",\n  \"searchRef\",\n  \"focusSearch\",\n  \"blurSearch\",\n  \"setSearch\",\n  \"clearSearch\"\n]), de);\nconst De = Xe(lb), {\n  Provider: BC,\n  Consumer: jC,\n  Use: WC\n} = De, cb = ({\n  value: e,\n  onFocus: t,\n  onBlur: n,\n  onClick: s,\n  placeholder: r = \"Select\",\n  placeholderClass: o = \"placeholder\",\n  inputsClass: i = \"inputs\",\n  inputClass: a = \"input\",\n  suffixClass: c = \"suffix\",\n  displayValue: u,\n  disabled: d\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: i,\n    onClick: d ? null : s,\n    children: [\n      /* @__PURE__ */ l(\n        \"div\",\n        {\n          onFocus: d ? null : t,\n          onBlur: d ? null : n,\n          disabled: d,\n          className: a,\n          tabIndex: 0,\n          children: T(e) ? u(e) ?? /* @__PURE__ */ l(be, { children: \" \" }) : /* @__PURE__ */ l(\"span\", { className: o, children: r })\n        }\n      ),\n      /* @__PURE__ */ l(\"div\", { className: c, children: /* @__PURE__ */ l(X, { name: \"angle-down\" }) })\n    ]\n  }\n), ub = De.Consumer(cb), db = ({\n  option: e,\n  optionClass: t = \"item no-hover\",\n  headingClass: n = \"heading\",\n  displayHeading: s\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\n      t,\n      n,\n      e.indent ? `indent-${e.indent}` : null\n    ),\n    children: s(e)\n  }\n), hb = De.Consumer(db), fb = ({\n  option: e,\n  active: t,\n  activeRef: n,\n  selected: s,\n  onClick: r,\n  onMouseEnter: o,\n  validOption: i,\n  displayOption: a,\n  optionClass: c = \"item no-hover\",\n  activeClass: u = \"active\",\n  selectedClass: d = \"selected\",\n  disabledClass: h = \"disabled\"\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\n      c,\n      e.className,\n      e.indent ? `indent-${e.indent}` : null,\n      t ? u : null,\n      s ? d : null,\n      i(e) ? null : h\n    ),\n    onMouseEnter: o,\n    onClick: r,\n    ref: t ? n : null,\n    \"aria-disabled\": e.disabled,\n    children: a(e)\n  }\n), gb = De.Consumer(fb), pb = ({\n  separatorClass: e = \"separator\"\n}) => /* @__PURE__ */ l(\"div\", { className: e }), mb = De.Consumer(pb), bb = ({\n  option: e,\n  Heading: t = hb,\n  Separator: n = mb,\n  Option: s = gb,\n  ...r\n}) => e.heading ? /* @__PURE__ */ l(t, { option: e, ...r }) : e.separator ? /* @__PURE__ */ l(n, { option: e, ...r }) : /* @__PURE__ */ l(s, { option: e, ...r }), vb = De.Consumer(bb), Cb = ({\n  noOptionsClass: e = \"none\",\n  noOptions: t = \"No options\"\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: t }), yb = De.Consumer(Cb), xb = ({\n  options: e,\n  menuRef: t,\n  menuClass: n = \"menu border bdr-1\",\n  cursor: s,\n  selected: r,\n  selectOption: o,\n  setCursor: i,\n  // Option=SelectOption,\n  Item: a = vb,\n  NoOptions: c = yb\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: n,\n    ref: t,\n    children: Fe(e) && e.length ? e.map(\n      (u, d) => /* @__PURE__ */ l(\n        a,\n        {\n          option: u,\n          active: T(s) && e[s] === u,\n          selected: r === u,\n          onClick: () => o(u),\n          onMouseEnter: () => i(d)\n        },\n        u.id ?? u.value ?? d\n      )\n    ) : /* @__PURE__ */ l(c, {})\n  }\n), wb = De.Consumer(xb), Sb = ({\n  searchInput: e,\n  focusSearch: t,\n  blurSearch: n,\n  searchRef: s,\n  setSearch: r,\n  clearSearch: o,\n  searchPlaceholder: i = \"Search\",\n  searchFieldClass: a = \"search field\",\n  searchInputsClass: c = \"inputs\",\n  searchPrefixClass: u = \"shaded lined prefix\",\n  searchSuffixClass: d = \"shaded lined suffix\",\n  searchClearClass: h = \"clear\",\n  inputClass: g,\n  searchIcon: f = \"search\",\n  clearSearchIcon: m = \"cross\"\n}) => /* @__PURE__ */ l(\"div\", { className: a, children: /* @__PURE__ */ w(\"div\", { className: c, children: [\n  /* @__PURE__ */ l(\"div\", { className: u, children: /* @__PURE__ */ l(\n    X,\n    {\n      name: f\n    }\n  ) }),\n  /* @__PURE__ */ l(\n    \"input\",\n    {\n      ref: s,\n      className: g,\n      type: \"text\",\n      placeholder: i,\n      value: e ?? \"\",\n      onClick: (p) => p.stopPropagation(),\n      onChange: (p) => r(p.target.value),\n      onFocus: t,\n      onBlur: n,\n      autoComplete: \"chrome-is-broken\",\n      tabIndex: \"0\"\n    }\n  ),\n  /* @__PURE__ */ l(\n    \"div\",\n    {\n      className: M(d, e ? h : null),\n      onClick: o,\n      children: /* @__PURE__ */ l(\n        X,\n        {\n          name: m\n        }\n      )\n    }\n  )\n] }) }), Rb = De.Consumer(Sb), Lb = ({\n  onKeyDown: e,\n  isOpen: t,\n  search: n,\n  selectClass: s = \"select\",\n  openClass: r = \"open\",\n  closedClass: o = \"closed\",\n  Input: i = ub,\n  Search: a = Rb,\n  Menu: c = wb,\n  wide: u\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: M(\n      s,\n      t ? r : o,\n      { wide: u }\n    ),\n    onKeyDown: e,\n    children: [\n      /* @__PURE__ */ l(i, {}),\n      !!t && !!n && /* @__PURE__ */ l(a, {}),\n      !!t && /* @__PURE__ */ l(c, {})\n    ]\n  }\n), Nb = De.Consumer(Lb), Mb = ({\n  Content: e = Nb,\n  ...t\n}) => /* @__PURE__ */ l(De.Provider, { ...t, children: /* @__PURE__ */ l(e, {}) }), Bn = L(Mb, \"Select\"), Db = ({\n  selection: e,\n  displaySelection: t,\n  unselectMultiOption: n,\n  selectionClass: s = \"selection\",\n  unselectIcon: r = \"cross\",\n  dragHandle: o\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: s,\n    onClick: () => n(e),\n    children: [\n      o,\n      /* @__PURE__ */ l(\n        mt,\n        {\n          iconRight: r,\n          children: t(e)\n        }\n      )\n    ]\n  }\n), rl = Tt.Consumer(Db), $b = ({\n  values: e,\n  selectionsClass: t = \"selections\",\n  Selection: n = rl\n}) => /* @__PURE__ */ l(\"div\", { className: t, children: e.map(\n  (s, r) => /* @__PURE__ */ l(\n    n,\n    {\n      selection: s\n    },\n    r\n  )\n) }), Ob = Tt.Consumer($b), Tb = ({\n  values: e,\n  setValues: t,\n  selectionsClass: n = \"selections\",\n  dragIcon: s = \"move\",\n  dragIconClass: r = \"drag-icon\",\n  Selection: o = rl\n}) => {\n  const i = (c) => t(\n    c.map((u) => u.value)\n  ), a = ({\n    item: c,\n    setNodeRef: u,\n    style: d,\n    listeners: h,\n    ...g\n  }) => /* @__PURE__ */ l(\n    \"div\",\n    {\n      ref: u,\n      style: d,\n      className: `sortable item ${c.moved ? \"moved\" : \"\"}`,\n      ...g,\n      children: /* @__PURE__ */ l(\n        o,\n        {\n          selection: c.value,\n          dragHandle: /* @__PURE__ */ l(\"div\", { className: r, ...h, children: /* @__PURE__ */ l(X, { name: s }) })\n        }\n      )\n    }\n  );\n  return /* @__PURE__ */ l(\"div\", { className: n, children: /* @__PURE__ */ l(\n    go,\n    {\n      items: e.map(\n        (c, u) => ({ id: u + 1, value: c })\n      ),\n      Item: a,\n      setOrder: i\n    }\n  ) });\n}, kb = Tt.Consumer(Tb), Ib = ({\n  className: e = \"multiselect\",\n  sortable: t,\n  Option: n = ab,\n  Select: s = Bn,\n  Selections: r = Ob,\n  SortSelections: o = kb,\n  ...i\n}) => /* @__PURE__ */ w(\"div\", { className: e, children: [\n  /* @__PURE__ */ l(\n    s,\n    {\n      ...i,\n      onUpdate: E,\n      displayOption: (a) => /* @__PURE__ */ l(n, { option: a })\n    }\n  ),\n  t ? /* @__PURE__ */ l(o, {}) : /* @__PURE__ */ l(r, {})\n] }), Eb = Tt.Consumer(Ib), Pb = ({\n  Content: e = Eb,\n  ...t\n}) => /* @__PURE__ */ l(Tt.Provider, { ...t, children: /* @__PURE__ */ l(e, {}) }), Ab = L(Pb, \"MultiSelect\");\nvar Fb = Object.defineProperty, Vb = (e, t, n) => t in e ? Fb(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, Ee = (e, t, n) => (Vb(e, typeof t != \"symbol\" ? t + \"\" : t, n), n), Bb = Object.defineProperty, jb = (e, t, n) => t in e ? Bb(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, fr = (e, t, n) => jb(e, typeof t != \"symbol\" ? t + \"\" : t, n);\nfunction Wb(e = {}, t = {}, n = {}) {\n  return Object.entries(t).reduce(\n    (s, [r, o]) => {\n      const i = n[o];\n      return i !== null && typeof i < \"u\" && (s[r] = i), s;\n    },\n    { ...e }\n  );\n}\nfunction Hb(e, t = []) {\n  return (typeof t == \"string\" ? t.split(/,\\s*|\\s+/) : t).reduce(\n    (n, s) => {\n      const r = e[s] || qb(`Cannot expose non-existent action method: ${s}`);\n      return n[s] = r.bind(e), n;\n    },\n    {}\n  );\n}\nfunction zb(e, t) {\n  const n = e.debug ?? t.debug, s = yi(e.debugPrefix ?? t.debugPrefix, e), r = yi(e.debugColor ?? t.debugColor, e);\n  return n ? s ? (o, ...i) => console.log(\n    `%c${s}%c${o}`,\n    `color: ${r}`,\n    \"color:black\",\n    ...i\n  ) : console.log.bind(console) : () => {\n  };\n}\nfunction Ub(e) {\n  return Array.isArray(e);\n}\nfunction ol(e) {\n  return typeof e == \"function\";\n}\nfunction yi(e, t) {\n  return ol(e) ? e(t) : e;\n}\nfunction Kb(e) {\n  return Ub(e) ? e : [e];\n}\nfunction qb(...e) {\n  throw new Error(e.join(\"\"));\n}\nconst il = (e, t = {}, n = F.createContext(t)) => ({ Context: n, Provider: (s) => /* @__PURE__ */ l(\n  e,\n  {\n    ...s,\n    render: (r) => /* @__PURE__ */ l(n.Provider, { value: r, children: s.children })\n  }\n), Consumer: (s) => (r) => /* @__PURE__ */ l(n.Consumer, { children: (o) => /* @__PURE__ */ l(s, { ...o, ...r }) }), Children: ({ children: s }) => Kb(s).map(\n  (r, o) => ol(r) ? /* @__PURE__ */ l(n.Consumer, { children: r }, o) : r\n), Use: () => F.useContext(n) });\nlet ls = class extends F.Component {\n  constructor(e) {\n    super(e);\n    const t = this.constructor;\n    this.debug = zb(e, t), this.state = Wb(\n      t.initialState,\n      t.initialProps,\n      e\n    ), this.actions = Hb(this, t.actions);\n  }\n  getContext() {\n    return {\n      ...this.props,\n      // properties passed to the context\n      ...this.state,\n      // internal state\n      ...this.actions\n      // callable action functions mapped to methods\n    };\n  }\n  getRenderProps() {\n    return this.getContext();\n  }\n  render() {\n    return this.props.render(\n      this.getRenderProps()\n    );\n  }\n};\nfr(ls, \"initialState\", {}), fr(ls, \"initialProps\", {}), fr(ls, \"actions\", []);\nfunction mo(e) {\n  return typeof e == \"boolean\";\n}\nfunction kt(e) {\n  return typeof e == \"string\";\n}\nfunction Xb(e) {\n  return typeof e == \"number\";\n}\nfunction Dn(e) {\n  return Array.isArray(e);\n}\nfunction qs(e) {\n  return typeof e == \"function\";\n}\nfunction _b(e) {\n  return e instanceof RegExp;\n}\nfunction jn(e) {\n  return typeof e == \"object\" && !Dn(e) && !al(e);\n}\nfunction Yb(e) {\n  return kt(e) || Xb(e) || mo(e);\n}\nfunction Gb(e) {\n  return e === void 0;\n}\nfunction al(e) {\n  return e === null;\n}\nfunction pe(e) {\n  return !(Gb(e) || al(e));\n}\nfunction Zb(e) {\n  return !pe(e);\n}\nfunction Jb(...e) {\n  throw new Error(e.join(\"\"));\n}\nconst xi = (e, ...t) => qs(e) ? e(...t) : e;\nfunction Qt() {\n}\nfunction Qb() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nQb();\nfunction ll(e, t = /,\\s*|\\s+/) {\n  return Zb(e) ? [] : kt(e) ? e.length ? e.split(t) : [] : Dn(e) ? e : [e];\n}\nfunction cl(e, t = !0, n = {}) {\n  return jn(e) ? e : ll(e).reduce((s, r) => (s[r] = qs(t) ? t(r) : t, s), n);\n}\nfunction ev(e) {\n  if (qs(e))\n    return e;\n  if (_b(e))\n    return (t) => e.test(t);\n  if (jn(e))\n    return (t) => !!e[t];\n  if (Dn(e) || kt(e)) {\n    const t = cl(e);\n    return (n) => !!t[n];\n  }\n  Jb(\"Invalid selector() specification: \" + e);\n}\nconst tv = (e, t, n = {}) => {\n  let s = {}, r = { delete: !1, ...n };\n  const o = ev(t);\n  return Object.keys(e).map((i) => {\n    if (o(i)) {\n      let a = e[i];\n      r.delete && delete e[i], r.key && (i = r.key(i)), r.value && (a = r.value(a)), s[i] = a;\n    }\n  }), s;\n}, nv = \"\", sv = \"blur\", Wn = \"changed\", rv = \"disabled\", Xs = \"focus\", ov = \"fulfilled\", Hn = \"invalid\", ul = \"Optional\", iv = \"radio\", dl = \"Required\", av = \"A value is required\", wi = \"reset\", zn = \"submitted\", hn = \"submitting\", bo = \"text\", lv = \"unvalidated\", Un = \"valid\", vt = \"validating\", cv = [\n  \"id\",\n  \"name\",\n  \"type\",\n  \"value\",\n  \"checked\",\n  \"disabled\",\n  \"placeholder\",\n  \"autoComplete\",\n  \"onFocus\",\n  \"onBlur\",\n  \"size\",\n  \"rows\",\n  \"min\",\n  \"max\",\n  \"step\",\n  \"minLength\",\n  \"maxLength\",\n  \"pattern\",\n  \"list\"\n], uv = [\n  \"id\",\n  \"name\",\n  \"action\",\n  \"method\",\n  \"encType\"\n];\nlet hl = class extends ls {\n  constructor(e) {\n    super(e), this.newStatus = this.constructor.newStatus(e), this.state = {\n      status: this.newStatus(wi)\n    };\n  }\n  setStatus(e, t = {}, n = Qt) {\n    this.mounted && this.setState(\n      (s) => ({\n        ...qs(t) ? t(s) : t,\n        status: this.newStatus(e, s.status)\n      }),\n      n\n    );\n  }\n  setResetState(e, t) {\n    this.setStatus(wi, e, t);\n  }\n  setChangedState(e, t) {\n    this.setStatus(Wn, e, t);\n  }\n  setValidatingState(e, t) {\n    this.setStatus(vt, e, t);\n  }\n  setInvalidState(e, t) {\n    this.setStatus(Hn, e, t);\n  }\n  setValidState(e, t) {\n    this.setStatus(Un, e, t);\n  }\n  setUnvalidatedState(e, t) {\n    this.setStatus(lv, e, t);\n  }\n};\nfunction fl(e, t) {\n  return t.reduce(\n    (n, s) => {\n      const r = e[s] || e[s.toLowerCase()];\n      return pe(r) && (n[s] = r), n;\n    },\n    {}\n  );\n}\nconst _s = (e) => fl(e, cv), dv = (e) => fl(e, uv), gl = (e) => e.filter(pe).join(\" \"), hv = (e) => Object.entries(e).filter(([, t]) => t).map(([t]) => t), Be = (...e) => gl(\n  e.flatMap(\n    (t) => jn(t) ? hv(t) : t\n  )\n), Ys = (e, ...t) => Be(e.inputClass, e.inline && \"inline\", ...t), _t = (e, t, n = t) => (e == null ? void 0 : e[t]) || n, fv = (e, t = {}, ...n) => gl(\n  Object.entries(e).reduce(\n    (s, [r, o]) => (o && s.push(t[r] || r), s),\n    [...n]\n  )\n), gv = (e) => {\n  const {\n    status: t,\n    className: n,\n    classes: s,\n    required: r,\n    showRequired: o,\n    showOptional: i\n    // inline\n  } = e;\n  return fv(\n    t,\n    s,\n    _t(s, \"field\"),\n    n,\n    // inline ? 'inline' : null,\n    o && r ? \"required\" : null,\n    i && !r ? \"optional\" : null\n  );\n}, pl = (e, ...t) => {\n  const { gap: n, space: s, stack: r, className: o } = e;\n  return o || (s ? Be(\"flex\", \"space\", ...t) : Be(\n    \"flex\",\n    n ? `gap-v-none gap-h-${n}` : null,\n    r ? `stack-${r}` : null,\n    ...t\n  ));\n}, pv = (e, ...t) => {\n  const { grid: n, gap: s, stack: r, className: o } = e;\n  return o || (n ? Be(\n    `grid-${n}`,\n    s ? `gap-v-none gap-h-${s}` : null,\n    r ? `stack-${r}` : null,\n    ...t\n  ) : Be(...t));\n}, mv = {\n  boolean: !0,\n  string: !0,\n  number: !0\n}, ml = (e) => mv[typeof e] ? { value: e, text: e } : e, ws = (...e) => function(...t) {\n  for (let n of e.filter(Boolean))\n    n(...t);\n};\nfunction Si(e) {\n  if (mo(e))\n    return [1, !1];\n  if (pe(e)) {\n    const t = (e == null ? void 0 : e.toString().length) ?? 0;\n    return [t, t === 0];\n  }\n  return [0, !0];\n}\nconst bv = (e, t) => kt(e) ? { [t]: e } : e, bl = (e) => e.replaceAll(/\\W+/g, \"\").toLowerCase(), vv = {\n  submittingClass: hn,\n  validatingClass: vt,\n  resetOnSuccess: !0,\n  focusInvalidField: !0,\n  enctype: \"application/x-www-form-urlencoded\",\n  method: \"post\",\n  errorsTitle: (e) => `Form Error${e > 1 ? \"s\" : \"\"}`,\n  errorsPrompt: (e) => `Please correct ${e === 1 ? \"this problem\" : \"these problems\"} and re-submit:`\n}, Ri = {\n  validateOnChange: !1,\n  validateOnBlur: !1,\n  validateOnInvalid: !0,\n  showRequired: !1,\n  showOptional: !1,\n  validMessage: null,\n  minValidateLength: 1,\n  requiredMessage: av,\n  requiredLabel: dl,\n  optionalLabel: ul\n}, Cv = cl([\n  \"showRequired\",\n  \"requiredLabel\",\n  \"showOptional\",\n  \"optionalLabel\",\n  \"validateOnChange\",\n  \"validateOnBlur\",\n  \"validateOnInvalid\",\n  \"minValidateLength\",\n  \"validMessage\",\n  \"requiredMessage\",\n  \"classes\",\n  \"wide\"\n]), nn = {\n  [Un]: !1,\n  [Hn]: !1\n}, yv = {\n  ...nn,\n  [Wn]: !0\n}, xv = {\n  ...nn,\n  [vt]: !0\n}, wv = {\n  [Un]: !1,\n  [Hn]: !0,\n  [vt]: !1\n}, Sv = {\n  [Un]: !0,\n  [Hn]: !1,\n  [vt]: !1\n}, Rv = {\n  [Xs]: !1\n}, Lv = {\n  [Xs]: !0\n}, Nv = {\n  [hn]: !0,\n  [zn]: !1\n}, Mv = {\n  [hn]: !1,\n  [zn]: !0\n}, vl = {\n  changed: yv,\n  validating: xv,\n  invalid: wv,\n  valid: Sv\n}, Cl = (e) => (t, n = {}) => ({\n  ...n,\n  ...e[t] || { [t]: !0 }\n}), Dv = () => {\n  const e = {\n    ...nn,\n    [Wn]: !1,\n    [vt]: !1,\n    [zn]: !1,\n    [hn]: !1\n  };\n  return Cl({\n    ...vl,\n    reset: e,\n    submitting: Nv,\n    submitted: Mv,\n    unvalidated: nn\n  });\n}, $v = (e = {}) => {\n  const t = {\n    ...nn,\n    [Wn]: !1,\n    [vt]: !1,\n    [Xs]: !1,\n    [rv]: e.disabled || !1\n  };\n  return Cl({\n    ...vl,\n    reset: t,\n    focus: Lv,\n    blur: Rv,\n    unvalidated: nn\n  });\n}, Ov = ({\n  status: e,\n  not: t = !1,\n  any: n = !1,\n  ...s\n}) => {\n  const r = [Wn, vt, Un, Hn, hn, zn].filter((i) => pe(s[i])).map((i) => e[i]), o = n ? r.some(Boolean) : r.every(Boolean);\n  return t ? !o : o;\n};\nclass zt extends hl {\n  constructor(t) {\n    super(t), this.fields = {};\n    const {\n      // fields={ },\n      hidden: n = {}\n    } = t, s = { ...n }, r = {\n      ...vv,\n      ...this.props\n    };\n    this.state = {\n      // ...formDefaultProperties,\n      ...r,\n      ...this.state,\n      initialValues: s,\n      values: { ...s },\n      errors: [],\n      error: null\n    }, this.props.onLoad && this.props.onLoad(this);\n  }\n  componentDidMount() {\n    this.debug(\"componentDidMount()\"), this.mounted = !0;\n  }\n  componentWillUnmount() {\n    this.debug(\"componentWillUnmount()\"), this.mounted = !1;\n  }\n  // Fields\n  fieldSpec(t, n) {\n    var s, r;\n    const o = ((s = this.props.fields) == null ? void 0 : s[t]) ?? {}, i = n.value ?? ((r = this.props.values) == null ? void 0 : r[t]);\n    return {\n      name: t,\n      ...tv(this.props, Cv),\n      ...o,\n      ...n,\n      value: i\n    };\n  }\n  attachField(t, n) {\n    this.debug(`attaching ${t} field`), this.fields[t] = n, this.setState(\n      (s) => ({\n        values: {\n          ...s.values,\n          [t]: n.state.value\n        }\n      })\n    );\n  }\n  detachField(t) {\n    this.debug(`detaching ${t} field`), delete this.fields[t];\n  }\n  setSubmittingState(t, n) {\n    this.setStatus(hn, t, n);\n  }\n  setSubmittedState(t, n) {\n    this.setStatus(zn, t, n);\n  }\n  //--------------------------------------------------------------------------\n  // Field focus\n  //--------------------------------------------------------------------------\n  setFocus(t, n) {\n    var s;\n    n == null || n.preventDefault(), (s = this.fields[t]) == null || s.setFocus();\n  }\n  //--------------------------------------------------------------------------\n  // Set/Reset\n  //--------------------------------------------------------------------------\n  reset(t) {\n    this.mounted && (this.debug(\"reset()\"), t == null || t.preventDefault(), this.resetFields(), this.setResetState(\n      {\n        errors: [],\n        error: null\n      },\n      this.props.onReset\n    ));\n  }\n  resetFields() {\n    this.debug(\"resetFields()\"), Object.values(this.fields).forEach(\n      (t) => t.reset()\n    );\n  }\n  setValue(t, n) {\n    this.debug(`setValue(${t}, ${n})`), this.setChangedState(\n      (s) => ({\n        ...s,\n        values: {\n          ...s.values,\n          [t]: n\n        }\n      })\n    );\n  }\n  setValues(t, n) {\n    this.debug(\"setValues():\", t), n == null || n.preventDefault(), Object.entries(t).forEach(\n      ([s, r]) => {\n        var o;\n        return (o = this.fields[s]) == null ? void 0 : o.setValue(r);\n      }\n    );\n  }\n  setHidden(t) {\n    const n = {\n      ...this.state.hidden,\n      ...t\n    };\n    this.setState({ hidden: n });\n  }\n  //--------------------------------------------------------------------------\n  // Submit\n  //--------------------------------------------------------------------------\n  submit(t) {\n    this.debug(\"submit()\"), t == null || t.preventDefault(), this.validate().then((n) => this.handleSubmit(n)).catch((n) => this.debug(\"Form is NOT valid:\", n));\n  }\n  validate() {\n    return this.debug(\"validate()\"), this.setValidatingState(), new Promise(this.validator()).then(\n      (t) => (this.debug(\"validate passed: \", t), this.setValidState(\n        { submit: t, error: null, errors: [] },\n        this.props.onValid\n      ), t)\n    ).catch(\n      (t) => {\n        throw this.debug(\"validate failed: \", t), this.handleError({\n          error: t.error,\n          errors: t.errors\n        }), t;\n      }\n    );\n  }\n  validator() {\n    return (t, n) => Promise.allSettled(\n      Object.values(this.fields).map(\n        (s) => s.validate()\n      )\n    ).then(\n      (s) => s.reduce(\n        (r, { status: o, value: i, reason: a }) => (o === ov ? Object.assign(\n          r.values,\n          i.data || { [i.name]: i.value }\n        ) : r.errors.push(a), r),\n        {\n          values: { ...this.state.values },\n          errors: []\n        }\n      )\n    ).then(\n      (s) => {\n        var r;\n        return this.debug(\"field validation complete: \", s), (r = s.errors) != null && r.length ? (this.debug(\"errors detected, rejecting: \", s), n(s)) : this.props.validate ? (this.debug(\"validating form: \", s), this.props.validate(\n          s.values,\n          this.getContext()\n        ).then((o) => t({ ...s, values: o })).catch((o) => n(o))) : t(s);\n      }\n    );\n  }\n  unvalidate() {\n    Object.values(this.fields).map(\n      (t) => t.unvalidate()\n    ), this.setUnvalidatedState();\n  }\n  handleSubmit(t) {\n    if (this.debug(\"Form is valid, handling submission:\", t), !this.props.onSubmit) {\n      window.alert(\n        \"You haven't defined an onSubmit handler: \" + JSON.stringify(t.values)\n      );\n      return;\n    }\n    this.setSubmittingState(\n      {},\n      async () => {\n        this.debug(\"calling onSubmit handler: \", t);\n        try {\n          const n = await this.props.onSubmit(t.values, this.getContext());\n          if (this.debug(\"onSubmit response:\", n), this.setSubmittedState(), n != null && n.ok || (n == null ? void 0 : n.status) === 200)\n            this.debug(`Success response ok:${n == null ? void 0 : n.ok} status:${n == null ? void 0 : n.status}`), this.handleSuccess(n);\n          else if ((n == null ? void 0 : n.status) >= 400 && n.status <= 500)\n            this.debug(`Error response status:${n == null ? void 0 : n.status}`), this.handleError(n.data);\n          else\n            throw new Error(`Unknown response: ${n == null ? void 0 : n.status}`);\n        } catch (n) {\n          this.debug(\"onSubmit error:\", n), this.setSubmittedState(), this.handleError(\n            kt(n) ? { error: n } : n instanceof Error ? { error: n.message } : n\n          );\n        }\n      }\n    );\n  }\n  handleSuccess(t) {\n    this.debug(\"handleSuccess()\", t);\n    const n = this.props.onSuccess || Qt;\n    this.setValidState(\n      {},\n      ws(\n        () => n(t, this),\n        this.props.resetOnSuccess && (() => this.reset()),\n        this.props.unvalidateOnSuccess && (() => this.unvalidate())\n      )\n    );\n  }\n  handleError(t = {}) {\n    this.debug(\"handleError()\", t), t.errors && (t.errors = this.sanitiseErrors(t.errors));\n    const n = Dn(t == null ? void 0 : t.errors) && this.fieldErrors(t.errors), s = this.props.onError || this.props.onFailure || Qt;\n    this.setInvalidState(\n      t,\n      ws(\n        () => s(t),\n        n ? () => n.setFocus() : null\n      )\n    );\n  }\n  fieldErrors(t) {\n    this.debug(\"fieldErrors: \", t);\n    const n = t.reduce(\n      (s, r) => {\n        const o = r.name ?? r.param ?? r.field, { message: i } = r, a = o && this.fields[o];\n        return a && (r.label || (r.label = a.props.label), a.setInvalidState({ message: i }), s.push(a)), s;\n      },\n      []\n    );\n    return this.state.focusInvalidField && n.length ? n[0] : null;\n  }\n  sanitiseErrors(t) {\n    if (jn(t) && (t = Object.entries(t).map(\n      ([n, s]) => ({\n        name: n,\n        ...bv(s, \"message\")\n      })\n    )), !Dn(t))\n      throw new Error(\"Invalid errors type (not an array or object)\");\n    return t.forEach(\n      (n) => n.message ?? (n.message = n.error)\n    ), t;\n  }\n  //--------------------------------------------------------------------------\n  // render\n  //--------------------------------------------------------------------------\n  getContext() {\n    return {\n      // ...formDefaultProperties,\n      ...this.props,\n      // properties passed to the context\n      ...this.state,\n      // internal state\n      ...this.actions\n      // callable action functions mapped to methods\n    };\n  }\n}\nEe(zt, \"newStatus\", Dv), Ee(zt, \"debug\", !1), Ee(zt, \"debugPrefix\", \"Form > \"), Ee(zt, \"debugColor\", \"rebeccapurple\"), Ee(zt, \"actions\", [\n  \"fieldSpec\",\n  \"attachField\",\n  \"detachField\",\n  \"setFocus\",\n  \"reset\",\n  \"validate\",\n  \"unvalidate\",\n  \"submit\",\n  \"setValue\",\n  \"setValues\",\n  \"setHidden\",\n  // should this be kept internal?\n  \"setStatus\",\n  \"setResetState\",\n  \"setChangedState\",\n  \"setValidatingState\",\n  \"setValidState\",\n  \"setInvalidState\",\n  \"setSubmittingState\",\n  \"setSubmittedState\",\n  \"handleError\"\n]);\nconst Tv = il(zt), { Context: HC, Provider: kv, Consumer: Iv, Children: yl, Use: fn } = Tv, Ev = ({\n  children: e\n}) => {\n  const t = fn(), n = dv(t), { submit: s, className: r } = t;\n  return /* @__PURE__ */ l(\"form\", { className: r, ...n, onSubmit: s, noValidate: !0, children: /* @__PURE__ */ l(yl, { children: e }) });\n}, Pv = ({\n  children: e,\n  Layout: t = Ev,\n  ...n\n}) => /* @__PURE__ */ l(kv, { ...n, children: /* @__PURE__ */ l(t, { children: e }) }), Av = (e) => {\n  const { id: t, value: n } = e;\n  return {\n    ...e,\n    id: t || $i(),\n    value: n ?? e.default ?? nv\n  };\n};\nclass Ut extends hl {\n  constructor(t) {\n    super(t), this.name = t.name;\n    const { value: n } = t, s = n;\n    this.form = this.props.form, this.state = {\n      ...this.state,\n      initialValue: s,\n      value: n,\n      error: null\n    }, this.debug(\"initial state:\", this.state), this.inputRef = To(), this.resetRef = To(), this.on = {\n      load: this.contextFunction(this.props.onLoad),\n      focus: this.contextFunction(this.props.onFocus),\n      blur: this.contextFunction(this.props.onBlur),\n      change: this.contextFunction(this.props.onChange),\n      valid: this.contextFunction(this.props.onValid),\n      invalid: this.contextFunction(this.props.onInvalid),\n      unvalidate: this.contextFunction(this.props.onUnvalidate),\n      reset: this.contextFunction(this.props.onReset)\n    }, this.on.load();\n  }\n  contextFunction(t) {\n    return t ? () => t(this.getContext()) : Qt;\n  }\n  componentDidMount() {\n    this.debug(\"componentDidMount\"), this.mounted = !0, this.form.attachField(this.props.name, this);\n  }\n  componentWillUnmount() {\n    this.debug(\"componentWillUnmount\"), this.mounted = !1, this.form.detachField(this.props.name);\n  }\n  setFocusState(t, n) {\n    return this.setStatus(Xs, t, n);\n  }\n  setBlurState(t, n) {\n    return this.setStatus(sv, t, n);\n  }\n  onFocus() {\n    this.setFocusState(\n      {},\n      this.on.focus\n    );\n  }\n  onBlur() {\n    this.setBlurState(\n      {},\n      this.props.validateOnBlur ? () => this.validation(this.on.blur) : this.on.blur\n    );\n  }\n  setFocus(t) {\n    var n, s;\n    t == null || t.preventDefault(), (s = (n = this.inputRef) == null ? void 0 : n.current) == null || s.focus();\n  }\n  //--------------------------------------------------------------------------\n  // Change and reset\n  //--------------------------------------------------------------------------\n  onChange(t) {\n    this.debug(`onChange(${t})`);\n    const n = this.props.prepareValue ? this.props.prepareValue(t) : t, { invalid: s } = this.state.status, {\n      validateOnChange: r,\n      validateOnInvalid: o = !0,\n      minValidateLength: i = 1\n    } = this.props, [a] = Si(n);\n    let c = r || o && s;\n    a < i && !s && (c = !1), this.setChangedState(\n      { value: n },\n      () => {\n        this.form.setValue(this.props.name, n), c ? this.validation(this.on.change) : this.on.change();\n      }\n    );\n  }\n  setValue(t, n) {\n    n == null || n.preventDefault(), this.onChange(t);\n  }\n  reset(t) {\n    t == null || t.preventDefault();\n    const n = this.props.prepareValue ? this.props.prepareValue(this.state.initialValue) : this.state.initialValue;\n    return this.debug(`reset initialValue:${this.state.initialValue} => ${n}`), this.form.setValue(this.props.name, n), this.setResetState(\n      { value: n, message: this.props.message },\n      () => {\n        var s, r;\n        return (r = (s = this.resetRef) == null ? void 0 : s.current) == null ? void 0 : r.reset();\n      }\n    ), n;\n  }\n  validation(t) {\n    this.validate(t).then(Qt).catch(Qt);\n  }\n  validate(t) {\n    this.debug(\"validate()\");\n    const n = {\n      name: this.name,\n      label: this.props.label\n    };\n    return new Promise(this.validator()).then(\n      (s) => (this.debug(\"validate() passed:\", s), this.setValidState(\n        s,\n        ws(this.on.valid, t)\n      ), {\n        ...n,\n        ...s\n      })\n    ).catch(\n      (s) => {\n        throw this.debug(\"validate() failed:\", s), this.setInvalidState(\n          s,\n          ws(this.on.invalid, t)\n        ), {\n          ...n,\n          ...s\n        };\n      }\n    );\n  }\n  validator() {\n    return async (t, n) => {\n      const { value: s = \"\" } = this.state, {\n        validate: r,\n        required: o,\n        optional: i,\n        requiredMessage: a,\n        validMessage: c\n      } = { ...Ri, ...this.props }, [, u] = Si(s);\n      if (this.setValidatingState(), r)\n        return u && i ? (this.debug(\"optional field is empty\"), t({ value: s, message: c })) : await this.validateValidator(\n          t,\n          n,\n          r,\n          c\n        );\n      if (u)\n        return await this.validateEmpty(\n          t,\n          n,\n          o,\n          c,\n          a\n        );\n      this.debug(\"no validation defined\"), t({ value: s, message: c });\n    };\n  }\n  async validateValidator(t, n, s, r) {\n    this.debug(\"calling validate function\");\n    const o = this.getContext();\n    try {\n      this.debug(`calling validate function with value [${o.value}]`);\n      const i = await s(o.value, o, t, n);\n      this.debug(\"validate function passed:\", i), t(\n        jn(i) ? { message: r, ...i } : { value: i, message: r }\n      );\n    } catch (i) {\n      this.debug(\"validate threw an error:\", i);\n      const a = kt(i) ? i : i.message;\n      this.debug(\"rejecting with message:\", a), n({ message: a });\n    }\n  }\n  validateEmpty(t, n, s, r, o) {\n    s ? (this.debug(\"failing validation - required field is empty\"), n({ message: o })) : (this.debug(\"passing validation - value is empty but not required\"), t({ message: r }));\n  }\n  setValid(t, n) {\n    n == null || n.preventDefault(), this.setValidState({ message: t }, this.on.valid);\n  }\n  setInvalid(t, n) {\n    n == null || n.preventDefault(), this.setInvalidState({ message: t }, this.on.invalid);\n  }\n  unvalidate() {\n    this.setUnvalidatedState(\n      { message: this.props.message }\n    );\n  }\n  /*\n  setRef(r) {\n    // used to store a reference to an input component so that we can reset it\n    // if the server-side form validation fails (e.g. in the case of recaptcha)\n    // where the user must perform the \"I'm not a robot\" check again.\n    this.ref = r\n  }\n  OLDset(input) {\n    const value = this.props.prepareValue\n      ? this.props.prepareValue(input)\n      : input\n    // TODO: validate on change\n    this.setChangedState(\n      { value },\n      () => this.form.setValue(this.props.name, value)\n    )\n  }\n  */\n  getContext() {\n    const t = {\n      ...Ri,\n      ...this.props,\n      ...this.state,\n      ...this.actions,\n      name: this.name,\n      inputRef: this.inputRef,\n      resetRef: this.resetRef,\n      setRef: this.resetRef\n      // OLD name\n    };\n    return delete t.form, delete t.children, delete t.render, t;\n  }\n}\nEe(Ut, \"newStatus\", $v), Ee(Ut, \"debug\", !1), Ee(Ut, \"debugPrefix\", (e) => `Field [${e.name}] > `), Ee(Ut, \"debugColor\", \"teal\"), Ee(Ut, \"actions\", [\n  // 'set',\n  \"onFocus\",\n  \"onBlur\",\n  \"onChange\",\n  \"setFocus\",\n  \"setValue\",\n  \"setValid\",\n  \"setInvalid\",\n  \"reset\",\n  // 'setStatus',\n  \"setResetState\",\n  \"setChangedState\",\n  \"setValidatingState\",\n  \"setValidState\",\n  \"setInvalidState\",\n  \"setFocusState\",\n  \"setBlurState\"\n]);\nconst Fv = il(Ut), { Context: zC, Provider: Vv, Consumer: UC, Children: xl, Use: Q } = Fv, wl = ({ field: e = Q() }) => {\n  const { label: t, id: n, required: s, optional: r } = e, o = e.showRequired && s, i = e.showOptional && (r || !s), a = t || o || i, c = e.labelClass, u = {};\n  return o && e.requiredLabel !== dl && (u[\"--required-text\"] = `\"${e.requiredLabel}\"`), i && e.optionalLabel !== ul && (u[\"--optional-text\"] = `\"${e.optionalLabel}\"`), a && /* @__PURE__ */ l(\"label\", { htmlFor: n, className: c, style: u, children: t || /* @__PURE__ */ l(\"span\", { children: \" \" }) });\n}, Bv = ({\n  field: e = Q()\n}) => /* @__PURE__ */ l(\"div\", { className: Be(\"prefix\", e.prefixClass), children: e.prefix }), jv = ({\n  field: e = Q()\n}) => /* @__PURE__ */ l(\"div\", { className: Be(\"suffix\", e.suffixClass), children: e.suffix }), Wv = (e) => (t) => e.onChange(t.target.value), Hv = (e) => (t) => e.onChange(t.target.checked), ht = {\n  default: Wv,\n  checkbox: Hv\n}, Sl = ({\n  field: e = Q()\n}) => {\n  const {\n    id: t,\n    text: n,\n    inline: s,\n    border: r,\n    labelClass: o,\n    type: i = \"checkbox\",\n    switch: a,\n    round: c,\n    square: u,\n    handler: d = ht[i] || ht.default\n  } = e, h = _s(e), g = Be(\"checkbox\", o, { inline: s, border: r });\n  return /* @__PURE__ */ w(\"label\", { htmlFor: t, className: g, children: [\n    /* @__PURE__ */ l(\n      \"input\",\n      {\n        type: i,\n        ref: e.inputRef,\n        \"aria-disabled\": e.disabled,\n        tabIndex: e.disabled ? -1 : e.tabIndex,\n        onChange: d(e),\n        className: Ys(e, { round: c, square: u }),\n        ...h,\n        checked: e.value,\n        role: a ? \"switch\" : \"\"\n      }\n    ),\n    n\n  ] });\n}, vo = ({ field: e = Q() }) => /* @__PURE__ */ l(\"input\", { type: \"hidden\", name: e.name, value: e.value }), Rl = ({\n  field: e = Q()\n}) => {\n  const {\n    inline: t,\n    border: n,\n    options: s = [],\n    inputClass: r,\n    optionClass: o,\n    optionsClass: i = \"options\",\n    type: a = \"radio\",\n    handler: c = ht[a] || ht.default\n  } = e, u = _s(e);\n  return /* @__PURE__ */ l(\"div\", { className: Be(i), children: s.map(\n    (d, h) => {\n      d = ml(d);\n      const g = `${e.id}-${d.value}`, f = e.value == d.value, m = (e.value ? f : h == 0) ? e.inputRef : null, p = Be(\n        \"radio\",\n        o,\n        d.className,\n        { inline: t, border: n }\n      );\n      return /* @__PURE__ */ w(\n        \"label\",\n        {\n          className: p,\n          disabled: d.disabled,\n          htmlFor: g,\n          children: [\n            /* @__PURE__ */ l(\n              \"input\",\n              {\n                type: a,\n                className: r,\n                ref: m,\n                \"aria-disabled\": e.disabled,\n                tabIndex: e.disabled ? -1 : e.tabIndex,\n                onChange: c(e),\n                ...u,\n                id: g,\n                checked: f,\n                value: d.value\n              }\n            ),\n            d.text\n          ]\n        },\n        d.value\n      );\n    }\n  ) });\n}, Ll = ({ field: e = Q() }) => {\n  const {\n    options: t = [],\n    placeholder: n,\n    type: s = \"select\",\n    optionClass: r = \"option\",\n    handler: o = ht[s] || ht.default\n  } = e, i = _s(e);\n  return /* @__PURE__ */ w(\n    \"select\",\n    {\n      ref: e.inputRef,\n      \"aria-disabled\": e.disabled,\n      tabIndex: e.disabled ? -1 : e.tabIndex,\n      className: Ys(e),\n      onChange: o(e),\n      ...i,\n      value: e.value,\n      required: e.required || !!n,\n      children: [\n        !!n && /* @__PURE__ */ l(\"option\", { value: \"\", hidden: !0, disabled: !0, children: n }),\n        t.map(\n          (a) => (a = ml(a), /* @__PURE__ */ l(\n            \"option\",\n            {\n              className: r,\n              value: a.value,\n              disabled: a.disabled,\n              children: a.text\n            },\n            a.value\n          ))\n        )\n      ]\n    }\n  );\n}, Dr = ({ field: e = Q() }) => {\n  const {\n    type: t = bo,\n    handler: n = ht[t] || ht.default\n  } = e, s = _s(e);\n  return /* @__PURE__ */ l(\n    \"input\",\n    {\n      type: t,\n      ref: e.inputRef,\n      className: Ys(e),\n      \"aria-disabled\": e.disabled,\n      tabIndex: e.disabled ? -1 : e.tabIndex,\n      onFocus: e.onFocus,\n      onBlur: e.onBlur,\n      onChange: n(e),\n      ...s\n    }\n  );\n}, Nl = ({ field: e = Q() }) => {\n  const { rows: t = 5, cols: n = 20 } = e;\n  return /* @__PURE__ */ l(\n    \"textarea\",\n    {\n      id: e.id,\n      ref: e.inputRef,\n      className: Ys(e),\n      name: e.name,\n      value: e.value,\n      disabled: e.disabled,\n      \"aria-disabled\": e.disabled,\n      tabIndex: e.disabled ? -1 : e.tabIndex,\n      placeholder: e.placeholder,\n      autoComplete: e.autocomplete,\n      onChange: (s) => e.onChange(s.target.value),\n      onFocus: e.onFocus,\n      onBlur: e.onBlur,\n      onSelect: e.onSelect,\n      rows: t,\n      cols: n\n    }\n  );\n}, $r = {\n  default: Dr,\n  checkbox: Sl,\n  hidden: vo,\n  radio: Rl,\n  select: Ll,\n  text: Dr,\n  textarea: Nl\n}, It = (e, t) => $r[bl(e)] = t, Ml = (e = \"text\") => $r[bl(e)] || $r.default, zv = ({ field: e = Q() }) => {\n  const {\n    classes: t,\n    prefix: n,\n    suffix: s,\n    inputsClass: r,\n    inline: o,\n    type: i = bo,\n    Prefix: a = Bv,\n    Suffix: c = jv\n  } = e, u = Ml(i);\n  let d = [\n    _t(t, \"inputs\")\n  ];\n  pe(n) && d.push(_t(t, \"prefixed\")), pe(s) && d.push(_t(t, \"suffixed\")), o && d.push(_t(t, \"inline\")), pe(r) && d.push(r);\n  const h = d.join(\" \");\n  return /* @__PURE__ */ w(\"div\", { className: h, children: [\n    pe(n) && /* @__PURE__ */ l(a, { field: e }),\n    /* @__PURE__ */ l(u, { field: e }),\n    pe(s) && /* @__PURE__ */ l(c, { field: e })\n  ] });\n}, Dl = ({\n  field: e = Q()\n}) => {\n  const {\n    prefix: t,\n    suffix: n,\n    type: s = bo\n  } = e, r = Ml(s);\n  return s == iv ? /* @__PURE__ */ l(r, { field: e }) : pe(t) || pe(n) ? /* @__PURE__ */ l(zv, {}) : /* @__PURE__ */ l(r, { field: e });\n}, $l = ({ field: e = Q() }) => {\n  const { help: t, message: n, classes: s } = e, r = n ?? t, o = _t(s, \"help\");\n  return r ? /* @__PURE__ */ l(\"div\", { className: o, children: r }) : null;\n}, Ol = ({\n  field: e = Q(),\n  children: t\n}) => {\n  const {\n    type: n,\n    Label: s = wl,\n    Message: r = $l,\n    Input: o = Dl\n  } = e, i = gv(e);\n  return n === \"hidden\" ? /* @__PURE__ */ l(vo, { field: e }) : /* @__PURE__ */ l(\"div\", { className: i, children: t || /* @__PURE__ */ w(be, { children: [\n    /* @__PURE__ */ l(s, { field: e }),\n    /* @__PURE__ */ l(o, { field: e }),\n    /* @__PURE__ */ l(r, { field: e })\n  ] }) });\n}, Tl = ({\n  name: e,\n  children: t,\n  ...n\n}) => {\n  const s = fn(), r = Av(s.fieldSpec(e, n)), o = r.Layout || Ol;\n  return /* @__PURE__ */ l(Vv, { form: s, ...r, children: t ? /* @__PURE__ */ l(xl, { children: t }) : /* @__PURE__ */ l(o, {}) });\n}, kl = ({\n  names: e,\n  className: t,\n  grid: n = !1,\n  gap: s = 4,\n  stack: r,\n  ...o\n}) => {\n  const i = ll(e);\n  return mo(n) && n && (n = i.length), /* @__PURE__ */ l(\"div\", { className: pv({ grid: n, gap: s, stack: r, props: o }, t), children: i.map(\n    (a) => /* @__PURE__ */ l(Tl, { name: a, ...o }, a)\n  ) });\n}, Uv = ({\n  className: e = \"\",\n  legend: t,\n  children: n,\n  fields: s,\n  ...r\n}) => /* @__PURE__ */ w(\"fieldset\", { className: e, children: [\n  !!t && /* @__PURE__ */ l(\"legend\", { children: t }),\n  !!s && /* @__PURE__ */ l(kl, { names: s, ...r }),\n  n\n] }), Kv = ({\n  children: e,\n  ...t\n}) => Ov(t) && e, Il = Iv(Kv), qv = ({\n  values: e = !0,\n  status: t = !1,\n  all: n = !1,\n  className: s = \"border bdr-2 shadow-2 mar-v-4 pad-4 form-debug\",\n  title: r = \"Form Debugging\",\n  valuesTitle: o = \"Values\",\n  statusTitle: i = \"Status\",\n  ...a\n}) => {\n  const c = fn();\n  return /* @__PURE__ */ w(\"div\", { className: s, children: [\n    r && /* @__PURE__ */ l(\"h3\", { className: \"mar-v-none\", children: r }),\n    /* @__PURE__ */ w(\"div\", { className: \"grid-1 gap-4\", children: [\n      e && /* @__PURE__ */ w(\"div\", { children: [\n        o && /* @__PURE__ */ l(\"h4\", { className: \"mar-v-none\", children: o }),\n        /* @__PURE__ */ l(\n          Li,\n          {\n            rows: Object.entries(c.values),\n            ...a\n          }\n        )\n      ] }),\n      (t || n) && c.status && /* @__PURE__ */ w(\"div\", { children: [\n        i && /* @__PURE__ */ l(\"h4\", { children: i }),\n        /* @__PURE__ */ l(\n          Li,\n          {\n            title: \"Status\",\n            rows: Object.entries(c.status),\n            ...a\n          }\n        )\n      ] })\n    ] })\n  ] });\n}, Li = ({\n  rows: e,\n  children: t,\n  color: n = \"brand\",\n  tableClass: s = `${n} shaded celled wide small pad-none mar-b-0`,\n  ...r\n}) => /* @__PURE__ */ l(\"table\", { className: s, children: /* @__PURE__ */ l(\"tbody\", { children: t || e.map(\n  ([o, i]) => /* @__PURE__ */ l(\n    Xv,\n    {\n      name: o,\n      value: i,\n      ...r\n    },\n    o\n  )\n) }) }), Xv = ({\n  name: e,\n  value: t,\n  keyClass: n = \"text-right split-3\",\n  valueClass: s = \"font-mono bgc-95 bgd-5\"\n}) => /* @__PURE__ */ w(\"tr\", { valign: \"top\", children: [\n  /* @__PURE__ */ l(\"th\", { className: n, children: e }),\n  /* @__PURE__ */ l(\"td\", { className: s, children: /* @__PURE__ */ l(_v, { value: t }) })\n] }), _v = ({ value: e }) => pe(e) ? Yb(e) ? e.toString() : JSON.stringify(e) : \"\", KC = ({ children: e }) => /* @__PURE__ */ l(yl, { children: e }), Yv = ({ error: e }) => {\n  const t = e.label || e.name;\n  return /* @__PURE__ */ w(be, { children: [\n    !!t && /* @__PURE__ */ w(\"b\", { children: [\n      t,\n      \": \"\n    ] }),\n    e.message\n  ] });\n}, Gv = ({ error: e }) => kt(e) ? e : /* @__PURE__ */ l(Yv, { error: e }), Zv = ({\n  form: e = fn(),\n  title: t = e.errorsTitle,\n  prompt: n = e.errorsPrompt,\n  fieldErrors: s = !1,\n  className: r = \"error alert border\"\n}) => {\n  const {\n    error: o,\n    errors: i,\n    Error: a = Gv\n  } = e, c = !!o, u = (s ? i.length : 0) + (c ? 1 : 0);\n  return u !== 0 ? /* @__PURE__ */ w(\"div\", { className: r, children: [\n    !!t && /* @__PURE__ */ l(\"div\", { className: \"headline\", children: xi(t, u) }),\n    /* @__PURE__ */ w(\"div\", { children: [\n      c && /* @__PURE__ */ l(\"h4\", { children: /* @__PURE__ */ l(a, { error: o }) }),\n      s && i.length !== 0 && /* @__PURE__ */ w(be, { children: [\n        !!n && /* @__PURE__ */ l(\"p\", { className: \"wide\", children: xi(n, i.length) }),\n        /* @__PURE__ */ l(\"ul\", { children: i.map(\n          (d, h) => /* @__PURE__ */ l(\"li\", { children: /* @__PURE__ */ l(a, { error: d }) }, h)\n        ) })\n      ] })\n    ] })\n  ] }) : null;\n}, qC = ({ children: e }) => /* @__PURE__ */ l(xl, { children: e }), Jv = ({\n  field: e = Q(),\n  selectValue: t = e.selectValue || Ot\n}) => /* @__PURE__ */ l(\n  Ab,\n  {\n    ...e,\n    values: T(e.value) ? Fe(e.value) ? e.value : e.value.length ? [e.value] : [] : [],\n    onUpdate: e.onUpdate || E,\n    onChange: (n) => e.onChange(\n      n.map(t)\n    )\n  }\n), Qv = ({\n  field: e = Q(),\n  selectValue: t = e.selectValue || Ot\n}) => /* @__PURE__ */ l(\n  Bn,\n  {\n    ...e,\n    onUpdate: e.onUpdate || E,\n    onSelect: (n) => e.onChange(t(n))\n  }\n), ss = {\n  searching: !1,\n  search: void 0,\n  results: void 0,\n  result: void 0,\n  cursor: void 0\n};\nclass ot extends Rt {\n  constructor(t) {\n    super(t), this.state = {\n      ...this.state,\n      ...this.valueState(),\n      searching: !1\n    }, this.startSearch = t.debounceTime ? vu(this.search.bind(this), t.debounceTime) : this.search.bind(this);\n  }\n  componentDidMount() {\n    this.mounted = !0, this.props.onLoad(this);\n  }\n  componentWillUnmount() {\n    this.setState({ results: null }), this.mounted = !1, this.props.onUnload(this);\n  }\n  componentDidUpdate(t) {\n    this.props.value !== t.value && (this.debug(`value has changed from ${t.value} to ${this.props.value}`), this.setState(this.valueState()));\n  }\n  valueState(t = this.props.value) {\n    const n = this.inputValue(t);\n    return { value: t, input: n };\n  }\n  inputValue(t = this.props.value) {\n    return T(t) ? this.props.displayValue(t) ?? Yt : Yt;\n  }\n  onFocus() {\n    this.debug(\"onFocus()\"), this.setState(\n      { hasFocus: !0 },\n      this.props.onFocus\n    );\n  }\n  onBlur() {\n    this.debug(\"onBlur()\"), this.setState(\n      { hasFocus: !1 },\n      this.props.onBlur\n    ), Hr(500).then(() => this.clearResults());\n  }\n  onChange(t) {\n    const n = t.target.value;\n    this.debug(`input: ${n}`), n.length >= this.props.minLength ? this.setState(\n      { input: n },\n      this.startSearch\n    ) : this.setState({\n      input: n,\n      ...ss\n    });\n  }\n  onKeyDown(t) {\n    if (this.debug(`onKeyDown(${t.key})`), this.props.disabled)\n      return;\n    const n = this.state.cursor;\n    switch (t.key) {\n      case ks:\n        this.setCursor(n + 1);\n        break;\n      case Ts:\n        this.setCursor(n - 1);\n        break;\n      case Is:\n        this.selectCursor();\n        break;\n      case Es:\n        this.reset();\n        break;\n      default:\n        return;\n    }\n    t.preventDefault();\n  }\n  reset() {\n    this.debug(\"reset()\");\n    const t = this.props.initialValue, n = this.inputValue(t);\n    this.setState(\n      {\n        value: t,\n        input: n,\n        error: null,\n        ...ss\n      },\n      this.props.onReset\n    );\n  }\n  clear() {\n    this.debug(\"clear()\"), this.setState(\n      {\n        value: void 0,\n        error: null,\n        input: Yt,\n        ...ss\n      },\n      this.props.onClear\n    );\n  }\n  search() {\n    const { input: t } = this.state, { minLength: n, onSearch: s } = this.props;\n    if (t.length < n) {\n      this.debug(`search() cancelled - input is shorter than ${n}`);\n      return;\n    }\n    if (!s) {\n      this.debug(\"search() cancelled - no onSearch() handler defined\");\n      return;\n    }\n    this.debug(\"onSearch: \", s), this.setState(\n      {\n        search: t,\n        searching: !0,\n        error: null\n      },\n      async () => {\n        try {\n          this.searchResults(\n            await s(t, this)\n          );\n        } catch (r) {\n          this.setState({\n            searching: !1,\n            results: null,\n            error: r.message ?? r\n          });\n        }\n      }\n    );\n  }\n  searchResults(t) {\n    this.debug(\"searchResults()\", t), this.setState({\n      results: t,\n      searching: !1,\n      cursor: 0\n    });\n  }\n  selectResult(t) {\n    this.debug(\"selectResult()\", t);\n    const n = this.inputValue(t);\n    this.setState(\n      {\n        value: t,\n        input: n,\n        ...ss\n      },\n      () => this.props.onSelect(t)\n    );\n  }\n  setCursor(t) {\n    this.debug(`setCursor(${t})`);\n    const { results: n } = this.state;\n    this.setState({\n      // handle cases where cursor is less than 0 or greater than the length\n      cursor: n && n.length ? (t + n.length) % n.length : void 0\n    });\n  }\n  selectCursor() {\n    const { cursor: t, results: n } = this.state;\n    n && n.length && T(t) && this.selectResult(n[t]);\n  }\n  clearResults() {\n    this.mounted && this.setState({\n      results: null,\n      error: null\n    });\n  }\n  resultsRef(t) {\n    this._resultsRef = t;\n  }\n  activeRef(t) {\n    sa(this._resultsRef, t);\n  }\n}\nI(ot, \"debug\", !1), I(ot, \"debugPrefix\", \"Search > \"), I(ot, \"debugColor\", \"MediumVioletRed\"), I(ot, \"defaultProps\", {\n  minLength: 2,\n  debounceTime: 500,\n  // placeholder: 'Search',\n  // loadingIcon: 'cog',\n  // clearIcon: 'cross',\n  // searchIcon: 'search',\n  onLoad: E,\n  onUnload: E,\n  onFocus: E,\n  onBlur: E,\n  onReset: E,\n  onClear: E,\n  onSelect: E,\n  displayValue: Lt(\"displayValue\"),\n  displayResult: Lt(\"displayResult\")\n}), I(ot, \"initialState\", {\n  value: \"\",\n  searching: !1\n}), I(ot, \"initialProps\", {\n  value: \"initialValue\"\n}), I(ot, \"actions\", [\n  \"onFocus\",\n  \"onBlur\",\n  \"onChange\",\n  \"onKeyDown\",\n  \"reset\",\n  \"clear\",\n  \"selectResult\",\n  \"setCursor\",\n  \"selectCursor\",\n  \"resultsRef\",\n  \"activeRef\"\n]);\nconst Ct = Xe(ot), XC = Ct.Use, e2 = ({\n  input: e,\n  onFocus: t,\n  onBlur: n,\n  onChange: s,\n  clear: r,\n  autocomplete: o,\n  autoComplete: i = o,\n  placeholder: a = \"Search\",\n  clearIcon: c = \"cross\",\n  searchIcon: u = \"search\",\n  searchingIcon: d = \"cog.spin\",\n  inputsClass: h = \"inputs round\",\n  prefixClass: g = \"prefix\",\n  suffixClass: f = \"suffix\",\n  inputType: m = \"text\",\n  inputClass: p = \"\",\n  disabled: b,\n  searching: v\n}) => /* @__PURE__ */ w(\"div\", { className: h, children: [\n  /* @__PURE__ */ l(\"div\", { className: g, children: /* @__PURE__ */ l(X, { name: u }) }),\n  /* @__PURE__ */ l(\n    \"input\",\n    {\n      type: m,\n      placeholder: a,\n      value: e,\n      onFocus: t,\n      onBlur: n,\n      onChange: s,\n      disabled: b,\n      className: p,\n      autoComplete: i\n    }\n  ),\n  /* @__PURE__ */ l(\"div\", { className: f, onClick: b ? null : r, children: /* @__PURE__ */ l(X, { name: v ? d : c }) })\n] }), t2 = Ct.Consumer(e2), n2 = ({\n  result: e,\n  active: t,\n  activeRef: n,\n  onClick: s,\n  onMouseEnter: r,\n  displayResult: o,\n  resultClass: i = \"item\",\n  activeClass: a = \"active\"\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(i, { [a]: t }),\n    onClick: s,\n    onMouseEnter: r,\n    ref: t ? n : null,\n    children: o(e)\n  }\n), s2 = Ct.Consumer(n2), r2 = ({\n  noResultsClass: e = \"none\",\n  noResults: t = \"No results\"\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: t }), o2 = Ct.Consumer(r2), i2 = ({\n  results: e,\n  resultsRef: t,\n  cursor: n,\n  selectResult: s,\n  setCursor: r,\n  resultsClass: o = \"menu border bdr-1\",\n  Result: i = s2,\n  NoResults: a = o2\n}) => /* @__PURE__ */ l(\"div\", { className: o, ref: t, children: Fe(e) && e.length ? e.map(\n  (c, u) => /* @__PURE__ */ l(\n    i,\n    {\n      result: c,\n      active: T(n) && e[n] === c,\n      onClick: () => s(c),\n      onMouseEnter: () => r(u)\n    },\n    c.id ?? c.value ?? u\n  )\n) : /* @__PURE__ */ l(a, {}) }), a2 = Ct.Consumer(i2), l2 = ({\n  error: e,\n  resultsClass: t = \"menu border bdr-1\",\n  errorClass: n = \"error item no-hover\"\n}) => /* @__PURE__ */ l(\"div\", { className: t, children: /* @__PURE__ */ l(\"div\", { className: n, children: e }) }), c2 = Ct.Consumer(l2), u2 = ({\n  results: e,\n  error: t,\n  onKeyDown: n,\n  Input: s = t2,\n  Results: r = a2,\n  Error: o = c2\n}) => /* @__PURE__ */ w(\"div\", { className: \"search\", onKeyDown: n, children: [\n  /* @__PURE__ */ l(s, {}),\n  !!t && /* @__PURE__ */ l(o, {}),\n  !!e && /* @__PURE__ */ l(r, {})\n] }), d2 = Ct.Consumer(u2), h2 = ({\n  Content: e = d2,\n  ...t\n}) => /* @__PURE__ */ l(Ct.Provider, { ...t, children: /* @__PURE__ */ l(e, {}) }), f2 = L(h2, \"Search\"), g2 = ({\n  field: e = Q(),\n  selectValue: t = e.selectValue || Ot\n}) => /* @__PURE__ */ l(\n  f2,\n  {\n    ...e,\n    onSelect: (n) => e.onChange(t(n)),\n    onClear: () => e.setValue(null)\n  }\n), p2 = (e = {}) => {\n  let {\n    min: t = 0,\n    max: n = 100,\n    minNormal: s = 0.25,\n    maxNormal: r = 0.75,\n    value: o,\n    minValue: i,\n    maxValue: a,\n    minRange: c,\n    maxRange: u,\n    step: d,\n    tickStep: h,\n    quantize: g,\n    options: f,\n    displayValue: m\n  } = e;\n  if (T(f))\n    if (Fe(f))\n      t = 0, n = f.length - 1, d = 1, c ?? (c = 1), m || (m = v2);\n    else\n      throw \"range options should be an array\";\n  else\n    m || (m = Ot);\n  t = xt(t), n = xt(n);\n  const p = n - t;\n  T(o) && (Fe(o) ? [i, a] = o : ve(o) ? (i = o.min, a = o.max) : Tn(o) && (a = o)), i = T(i) ? G(xt(i), t, n) : t + p * s, a = T(a) ? G(xt(a), t, n) : t + p * r, c = T(c) ? G(xt(c), 0, p) : 0, u = T(u) ? G(xt(u), 0, p) : p, d === Xt || Vr(d) ? d = Xt : T(d) ? d = xt(d) : d = 1;\n  const b = d === Xt ? null : rs(p, d);\n  h ?? (h = d);\n  const v = h === Xt ? null : rs(p, h);\n  g = m2({ min: t, max: n, step: d, quantize: g }), i = g(i), a = g(a);\n  const y = (D) => g(\n    Xi(\n      t,\n      at(\n        p,\n        G(D, 0, 1)\n      )\n    )\n  ), C = (D, R = t, N = n) => rs(\n    cu(\n      G(D, R, N),\n      t\n    ),\n    p\n  );\n  s = C(i), r = C(a);\n  const x = at(s, 100), S = at(r, 100);\n  return {\n    min: t,\n    max: n,\n    range: p,\n    minValue: i,\n    maxValue: a,\n    minRange: c,\n    maxRange: u,\n    options: f,\n    minInput: i,\n    maxInput: a,\n    step: d,\n    steps: b,\n    tickStep: h,\n    tickSteps: v,\n    quantize: g,\n    minNormal: s,\n    maxNormal: r,\n    minPercent: x,\n    maxPercent: S,\n    normalToValue: y,\n    valueToNormal: C,\n    displayValue: m\n  };\n}, m2 = ({ min: e, max: t, step: n, quantize: s }) => $t(s) ? (r, o = e, i = t) => G(s(r), o, i) : n === Xt ? (r, o = e, i = t) => G(r, o, i) : (r, o = e, i = t) => {\n  r = G(r, o, i);\n  const a = Math.round((r - e) / n);\n  return Xi(\n    e,\n    at(a, n)\n  );\n}, b2 = (e, t, n, s, r) => {\n  if (e < t)\n    return s(e);\n  if (e > n)\n    return r(e);\n  const o = e - t, i = n - e;\n  return o < i ? s(e) : r(e);\n}, v2 = (e, t) => t[e], C2 = sn(\n  \"min max value options minValue maxValue minRange maxRange step tickStep quantize\"\n);\nclass Kt extends Rt {\n  constructor(t) {\n    super(t);\n    const n = this.initProps(t);\n    this.normalClick = t.normalClick, this.windowEventListeners = {}, this.state = {\n      ...this.state,\n      ...n,\n      minInput: n.minValue,\n      maxInput: n.maxValue\n    };\n  }\n  initProps(t) {\n    const { normalToValue: n, valueToNormal: s, quantize: r, ...o } = p2(t);\n    return this.quantize = r, this.normalToValue = n, this.valueToNormal = s, o;\n  }\n  componentDidUpdate(t) {\n    vr(C2, this.props, t) && (this.debug(\"props have changed\"), this.setState(\n      this.initProps(this.props)\n    ));\n  }\n  componentWillUnmount() {\n    this.debug(\"unmount\"), this.removeAllWindowEventListeners();\n  }\n  addWindowEventListener(t, n) {\n    var r;\n    const s = (r = this.windowEventListeners)[t] || (r[t] = []);\n    window.addEventListener(t, n), s.push(n);\n  }\n  removeWindowEventListener(t, n) {\n    var o;\n    const s = (o = this.windowEventListeners)[t] || (o[t] = []);\n    window.removeEventListener(t, n);\n    const r = s.indexOf(n);\n    r >= 0 ? (this.debug(`removing existing ${t} window listener`), this.debug(`had ${s.length} listeners`), s.splice(r, 1), this.debug(`now got ${s.length} listeners`)) : this.debug(`could not find cached ${t} listener to remove`);\n  }\n  removeAllWindowEventListeners() {\n    this.debug(\"Removing all window event listeners\"), Object.entries(this.windowEventListeners).forEach(\n      ([t, n]) => {\n        this.debug(`Removing ${n.length} ${t} listeners`), n.forEach(\n          (s) => window.removeEventListener(t, s)\n        );\n      }\n    ), this.windowEventListeners = {};\n  }\n  minValueLimits() {\n    const { maxValue: t, min: n, max: s, minRange: r, maxRange: o } = this.state;\n    return [\n      G(t - o, n, s),\n      G(t - r, n, s)\n    ];\n  }\n  maxValueLimits() {\n    const { minValue: t, min: n, max: s, minRange: r, maxRange: o } = this.state;\n    return [\n      G(t + r, n, s),\n      G(t + o, n, s)\n    ];\n  }\n  setMinInput(t) {\n    this.setState(\n      { minInput: t },\n      () => this.setMinValue(t)\n    );\n  }\n  setMaxInput(t) {\n    this.setState(\n      { maxInput: t },\n      () => this.setMaxValue(t)\n    );\n  }\n  setMinValue(t) {\n    t = this.quantize(t, ...this.minValueLimits());\n    const n = this.valueToNormal(t), s = at(n, 100);\n    return this.setState(\n      {\n        minNormal: n,\n        minValue: t,\n        minPercent: s\n      },\n      () => this.onChange()\n    ), t;\n  }\n  setMaxValue(t) {\n    t = this.quantize(t, ...this.maxValueLimits());\n    const n = this.valueToNormal(t), s = at(n, 100);\n    return this.setState(\n      {\n        maxNormal: n,\n        maxValue: t,\n        maxPercent: s\n      },\n      () => this.onChange()\n    ), t;\n  }\n  setValues(t, n) {\n    this.setMinValue(t), this.setMaxValue(n);\n  }\n  setNormalisedMinValue(t) {\n    const n = G(\n      this.normalToValue(t),\n      ...this.minValueLimits()\n    );\n    t = this.valueToNormal(n);\n    const s = at(100, t).toFixed(2);\n    return this.setState(\n      {\n        minNormal: t,\n        minValue: n,\n        minPercent: s,\n        minInput: n\n      },\n      () => this.onChange()\n    ), n;\n  }\n  setNormalisedMaxValue(t) {\n    const n = G(\n      this.normalToValue(t),\n      ...this.maxValueLimits()\n    );\n    t = this.valueToNormal(n);\n    const s = at(100, t).toFixed(2);\n    return this.setState(\n      {\n        maxNormal: t,\n        maxValue: n,\n        maxPercent: s,\n        maxInput: n\n      },\n      () => this.onChange()\n    ), n;\n  }\n  step() {\n    const t = this.state.step;\n    return t === Xt ? 1 : t;\n  }\n  stepMinUp() {\n    const t = this.state.minValue + this.step();\n    this.setMinInput(t);\n  }\n  stepMaxUp() {\n    const t = this.state.maxValue + this.step();\n    this.setMaxInput(t);\n  }\n  stepMinDown() {\n    const t = this.state.minValue - this.step();\n    this.setMinInput(t);\n  }\n  stepMaxDown() {\n    const t = this.state.maxValue - this.step();\n    this.setMaxInput(t);\n  }\n  thumbsRef(t) {\n    this._thumbsRef = t;\n  }\n  trackRef(t) {\n    this._trackRef = t;\n  }\n  onKeyDown(t, n, s) {\n    switch (this.debug(`onKeyDown(${t.key})`), t.key) {\n      case ch:\n      case ks:\n        n();\n        break;\n      case uh:\n      case Ts:\n        s();\n        break;\n      default:\n        this.debug(`ignored key ${t.key}`);\n        return;\n    }\n    t.preventDefault();\n  }\n  onKeyDownMin(t) {\n    this.onKeyDown(\n      t,\n      () => this.stepMinDown(),\n      () => this.stepMinUp()\n    );\n  }\n  onKeyDownMax(t) {\n    this.onKeyDown(\n      t,\n      () => this.stepMaxDown(),\n      () => this.stepMaxUp()\n    );\n  }\n  onDrag(t, n, s) {\n    const r = t.target;\n    if (!this._thumbsRef) {\n      console.error(\"No thumbsRef.  Did you forget to set it in Thumbs?\");\n      return;\n    }\n    const { clientX: o } = t, { left: i, width: a } = r.getBoundingClientRect(), c = i + a / 2, u = i - o, d = {\n      initialX: o,\n      thumbLeft: i,\n      thumbMid: c,\n      thumbOffset: u,\n      control: n\n    }, { left: h, width: g } = this._thumbsRef.getBoundingClientRect();\n    d.thumbsLeft = h, d.thumbsWidth = g, d.thumbPos = (c - h) * 100 / g, this.debug(\"drag start: \", d), this.setState({ dragging: d });\n    const f = (p) => {\n      p.preventDefault();\n      const b = p.clientX - d.initialX, v = G(d.thumbMid + b - d.thumbsLeft, 0, d.thumbsWidth);\n      this.debug(\"drag\"), s(\n        rs(v, d.thumbsWidth)\n      );\n    }, m = (p) => {\n      p.preventDefault(), p.stopPropagation(), this.debug(\"drag end\"), this.removeWindowEventListener(\"pointermove\", f), this.removeWindowEventListener(\"pointerup\", m), Hr(this.props.dragTimeout).then(\n        () => this.setState({ dragging: null })\n      );\n    };\n    this.addWindowEventListener(\n      \"pointermove\",\n      f\n    ), this.addWindowEventListener(\n      \"pointerup\",\n      m\n    );\n  }\n  onDragMin(t) {\n    this.onDrag(\n      t,\n      \"min\",\n      (n) => this.setNormalisedMinValue(n)\n    );\n  }\n  onDragMax(t) {\n    this.onDrag(\n      t,\n      \"max\",\n      (n) => this.setNormalisedMaxValue(n)\n    );\n  }\n  onClick(t) {\n    if (!this._trackRef) {\n      console.error(\"No trackRef.  Did you forget to set it in Track?\");\n      return;\n    }\n    if (this.state.dragging) {\n      this.debug(\"Just finished dragging... ignoring click\");\n      return;\n    }\n    const { clientX: s } = t, { left: r, width: o } = this._trackRef.getBoundingClientRect(), i = (s - r) / o, { minNormal: a, maxNormal: c } = this.state;\n    this.debug(`click at ${s} from ${r} with width ${o}: ${i}`), this.normalClick(\n      i,\n      a,\n      c,\n      (u) => this.setNormalisedMinValue(u),\n      (u) => this.setNormalisedMaxValue(u)\n    );\n  }\n  onChange() {\n    const { minValue: t, maxValue: n } = this.state;\n    this.props.onChange(t, n, this.state);\n    const [s, r] = this.lastChange || [];\n    (t !== s || n !== r) && (this.debug(\"min and/or max value have changed, firing onChangeValue\"), this.props.onChangeValue(t, n, this.state), this.lastChange = [t, n]);\n  }\n  getRenderProps() {\n    const t = this.getContext(), {\n      minNormal: n,\n      maxNormal: s,\n      minPercent: r,\n      maxPercent: o,\n      className: i,\n      rangeClass: a,\n      draggingClass: c,\n      hasScaleClass: u,\n      showScale: d,\n      dragging: h,\n      color: g,\n      size: f\n    } = t;\n    return t.quantize = this.quantize, t.normalToValue = this.normalToValue, t.rangeProps = {\n      className: M(\n        a,\n        i,\n        g,\n        f,\n        {\n          [u]: d,\n          [c]: h\n        }\n      ),\n      style: Fu(\n        {},\n        this.props,\n        {\n          \"--min-position\": n,\n          \"--max-position\": s,\n          \"--min-percent\": `${r}%`,\n          \"--max-percent\": `${o}%`\n        }\n      )\n    }, this.props.prepareRenderProps(t);\n  }\n}\nI(Kt, \"debug\", !1), I(Kt, \"debugPrefix\", \"Range > \"), I(Kt, \"debugColor\", \"rebeccapurple\"), I(Kt, \"defaultProps\", {\n  onChange: E,\n  onChangeValue: E,\n  // displayValue: identity,\n  normalClick: b2,\n  prepareRenderProps: Ot,\n  minNormal: 0,\n  maxNormal: 1,\n  dragTimeout: 300,\n  color: \"brand\",\n  rangeClass: \"range\",\n  draggingClass: \"range-dragging\",\n  hasScaleClass: \"range-has-scale\"\n}), I(Kt, \"actions\", [\n  \"trackRef\",\n  \"thumbsRef\",\n  \"setMinValue\",\n  \"setMaxValue\",\n  \"setValues\",\n  \"setMinInput\",\n  \"setMaxInput\",\n  \"stepMinUp\",\n  \"stepMaxUp\",\n  \"stepMinDown\",\n  \"stepMaxDown\",\n  \"onDragMin\",\n  \"onDragMax\",\n  \"onKeyDownMin\",\n  \"onKeyDownMax\",\n  \"onClick\"\n]);\nconst K = Xe(Kt), {\n  Provider: _C,\n  Consumer: YC,\n  Children: GC,\n  Use: ZC\n} = K, y2 = ({\n  selectionClass: e = \"range-selection\"\n}) => /* @__PURE__ */ l(\"div\", { className: e }), x2 = K.Consumer(y2), w2 = ({\n  thumbClass: e = \"range-thumb\",\n  minClass: t = \"min\",\n  dragging: n,\n  onDragMin: s,\n  onKeyDownMin: r\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\n      e,\n      t,\n      { dragging: (n == null ? void 0 : n.control) === \"min\" }\n    ),\n    onPointerDown: s,\n    onKeyDown: r,\n    tabIndex: \"0\"\n  }\n), El = K.Consumer(w2), S2 = ({\n  thumbClass: e = \"range-thumb\",\n  maxClass: t = \"max\",\n  dragging: n,\n  onDragMax: s,\n  onKeyDownMax: r\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\n      e,\n      t,\n      { dragging: (n == null ? void 0 : n.control) === \"max\" }\n    ),\n    onPointerDown: s,\n    onKeyDown: r,\n    tabIndex: \"0\"\n  }\n), Pl = K.Consumer(S2), R2 = ({\n  thumbsClass: e = \"range-thumbs\",\n  ThumbMin: t = El,\n  ThumbMax: n = Pl,\n  thumbsRef: s\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: e,\n    ref: s,\n    children: [\n      /* @__PURE__ */ l(t, {}),\n      /* @__PURE__ */ l(n, {})\n    ]\n  }\n), L2 = K.Consumer(R2), N2 = ({\n  trackClass: e = \"range-track\",\n  Selection: t = x2,\n  Thumbs: n = L2,\n  onClick: s,\n  trackRef: r\n}) => /* @__PURE__ */ w(\"div\", { className: e, ref: r, onClick: s, children: [\n  /* @__PURE__ */ l(t, {}),\n  /* @__PURE__ */ l(n, {})\n] }), M2 = K.Consumer(N2), D2 = ({\n  ticksClass: e = \"range-ticks\",\n  tickClass: t = \"range-tick\",\n  scaleValueClass: n = \"range-scale-value\",\n  scaleSize: s = \"smaller\",\n  tickSteps: r,\n  showScale: o,\n  displayValue: i,\n  normalToValue: a,\n  options: c\n}) => {\n  const u = M(n, s);\n  return /* @__PURE__ */ l(\n    \"div\",\n    {\n      className: e,\n      children: _i(0, r).map(\n        (d) => /* @__PURE__ */ l(\"div\", { className: t, children: !!o && /* @__PURE__ */ l(\"div\", { className: u, children: i(a(d / r), c) }) }, d)\n      )\n    }\n  );\n}, $2 = K.Consumer(D2), O2 = ({\n  sliderClass: e = \"range-slider\",\n  Track: t = M2,\n  Ticks: n = $2,\n  steps: s,\n  showTicks: r\n}) => /* @__PURE__ */ w(\"div\", { className: e, children: [\n  s && r && /* @__PURE__ */ l(n, {}),\n  /* @__PURE__ */ l(t, {})\n] }), T2 = K.Consumer(O2), k2 = ({\n  inputClass: e = \"range-input field mar-b-none\",\n  stepClass: t = \"step\",\n  inputInputsClass: n = \"inputs inline\",\n  inputPrefixClass: s = \"prefix shaded lined\",\n  inputSuffixClass: r = \"suffix shaded lined\",\n  disabledClass: o = \"disabled\",\n  stepDownIcon: i = \"minus\",\n  stepUpIcon: a = \"plus\",\n  min: c,\n  max: u,\n  step: d,\n  stepUp: h,\n  stepDown: g,\n  input: f,\n  setInput: m\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: /* @__PURE__ */ w(\"div\", { className: n, children: [\n  /* @__PURE__ */ l(\n    \"div\",\n    {\n      className: M(s, t, g ? null : o),\n      onClick: g,\n      children: /* @__PURE__ */ l(X, { name: i })\n    }\n  ),\n  /* @__PURE__ */ l(\n    \"input\",\n    {\n      type: \"number\",\n      min: c,\n      max: u,\n      step: d,\n      value: f,\n      className: \"inline\",\n      onChange: (p) => m(p.target.value)\n    }\n  ),\n  /* @__PURE__ */ l(\n    \"div\",\n    {\n      className: M(r, t, h ? null : o),\n      onClick: h,\n      children: /* @__PURE__ */ l(X, { name: a })\n    }\n  )\n] }) }), Al = K.Consumer(k2), I2 = ({\n  inputClass: e = \"range-input field mar-b-none\",\n  stepClass: t = \"step\",\n  inputInputsClass: n = \"inputs inline\",\n  inputPrefixClass: s = \"prefix shaded lined\",\n  inputSuffixClass: r = \"suffix shaded lined\",\n  disabledClass: o = \"disabled\",\n  stepDownIcon: i = \"minus\",\n  stepUpIcon: a = \"plus\",\n  selectOptions: c = {},\n  min: u,\n  max: d,\n  stepUp: h,\n  stepDown: g,\n  input: f,\n  setInput: m,\n  options: p,\n  displayValue: b\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: /* @__PURE__ */ w(\"div\", { className: n, children: [\n  /* @__PURE__ */ l(\n    \"div\",\n    {\n      className: M(s, t, g ? null : o),\n      onClick: g,\n      children: /* @__PURE__ */ l(X, { name: i })\n    }\n  ),\n  /* @__PURE__ */ l(\n    Bn,\n    {\n      ...c,\n      value: f,\n      options: _i(u, d).map(\n        (v) => ({\n          value: v,\n          text: b(v, p)\n        })\n      ),\n      onSelect: (v) => m((v == null ? void 0 : v.value) || 0),\n      onUpdate: E\n    }\n  ),\n  /* @__PURE__ */ l(\n    \"div\",\n    {\n      className: M(r, t, h ? null : o),\n      onClick: h,\n      children: /* @__PURE__ */ l(X, { name: a })\n    }\n  )\n] }) }), Fl = K.Consumer(I2), E2 = ({\n  min: e,\n  max: t,\n  minRange: n,\n  maxRange: s,\n  minInput: r,\n  setMinInput: o,\n  stepMinUp: i,\n  stepMinDown: a,\n  minValue: c,\n  maxValue: u,\n  options: d,\n  Input: h = d ? Fl : Al\n}) => {\n  const g = G(u - s, e, t), f = G(u - n, e, t), m = c > g, p = c < f;\n  return /* @__PURE__ */ l(\n    h,\n    {\n      stepDown: m ? a : null,\n      stepUp: p ? i : null,\n      min: g,\n      max: f,\n      input: r,\n      setInput: o\n    }\n  );\n}, Vl = K.Consumer(E2), P2 = ({\n  min: e,\n  max: t,\n  minRange: n,\n  maxRange: s,\n  maxInput: r,\n  setMaxInput: o,\n  stepMaxUp: i,\n  stepMaxDown: a,\n  minValue: c,\n  maxValue: u,\n  options: d,\n  Input: h = d ? Fl : Al\n}) => {\n  const g = G(c + n, e, t), f = G(c + s, e, t), m = u < f, p = u > g;\n  return /* @__PURE__ */ l(\n    h,\n    {\n      stepDown: p ? a : null,\n      stepUp: m ? i : null,\n      min: g,\n      max: f,\n      input: r,\n      setInput: o\n    }\n  );\n}, Bl = K.Consumer(P2), A2 = ({\n  inputsClass: e = \"range-inputs\",\n  alignInput: t = \"space\",\n  alignInputs: n = t,\n  inputSize: s,\n  inputsSize: r = s,\n  InputMin: o = Vl,\n  InputMax: i = Bl\n}) => /* @__PURE__ */ w(\"div\", { className: M(e, n, r), children: [\n  /* @__PURE__ */ l(o, {}),\n  /* @__PURE__ */ l(i, {})\n] }), F2 = K.Consumer(A2), V2 = {\n  space: \"left\"\n}, B2 = ({\n  valueClass: e = \"range-value\",\n  minClass: t = \"min\",\n  alignValue: n = \"thumb\",\n  alignValues: s = n,\n  alignMinValue: r = V2[s] || s,\n  minValue: o,\n  displayValue: i,\n  options: a\n}) => /* @__PURE__ */ l(\"div\", { className: M(e, t, r), children: i(o, a) }), jl = K.Consumer(B2), j2 = {\n  space: \"right\"\n}, W2 = ({\n  valueClass: e = \"range-value\",\n  maxClass: t = \"max\",\n  alignValue: n = \"thumb\",\n  alignValues: s = n,\n  alignMaxValue: r = j2[s] || s,\n  maxValue: o,\n  displayValue: i,\n  options: a\n}) => /* @__PURE__ */ l(\"div\", { className: M(e, t, r), children: i(o, a) }), Wl = K.Consumer(W2), H2 = ({\n  valuesClass: e = \"range-values\",\n  ValueMin: t = jl,\n  ValueMax: n = Wl,\n  valueSize: s = \"small\",\n  valuesSize: r = s\n}) => /* @__PURE__ */ w(\"div\", { className: M(e, r), children: [\n  /* @__PURE__ */ l(t, {}),\n  /* @__PURE__ */ l(n, {})\n] }), z2 = K.Consumer(H2), U2 = ({\n  outputClass: e = \"range-output\",\n  Values: t = z2\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: /* @__PURE__ */ l(t, {}) }), K2 = K.Consumer(U2), q2 = ({\n  limitsClass: e = \"range-limits\",\n  scaleValueClass: t = \"range-scale-value\",\n  scaleSize: n = \"smaller\",\n  displayValue: s,\n  min: r,\n  max: o,\n  options: i\n}) => {\n  const a = M(t, n);\n  return /* @__PURE__ */ w(\"div\", { className: e, children: [\n    /* @__PURE__ */ l(\"div\", { className: a, children: s(r, i) }),\n    /* @__PURE__ */ l(\"div\", { className: a, children: s(o, i) })\n  ] });\n}, X2 = K.Consumer(q2), _2 = ({\n  min: e,\n  max: t,\n  minValue: n,\n  maxValue: s,\n  minNormal: r,\n  maxNormal: o,\n  minPercent: i,\n  maxPercent: a,\n  step: c,\n  steps: u\n}) => /* @__PURE__ */ l(\"table\", { className: \"celled shaded grey smaller\", children: /* @__PURE__ */ w(\"tbody\", { children: [\n  ke(\"minValue\", n),\n  ke(\"maxValue\", s),\n  ke(\"minNormal\", r),\n  ke(\"maxNormal\", o),\n  ke(\"minPercent\", i),\n  ke(\"maxPercent\", a),\n  ke(\"min\", e),\n  ke(\"max\", t),\n  ke(\"step\", c),\n  ke(\"steps\", u)\n] }) }), ke = (e, t) => /* @__PURE__ */ w(\"tr\", { children: [\n  /* @__PURE__ */ l(\"th\", { className: \"font-mono split-3\", children: e }),\n  /* @__PURE__ */ l(\"td\", { children: t })\n] }), Y2 = K.Consumer(_2), G2 = ({\n  Slider: e = T2,\n  Inputs: t = F2,\n  Output: n = K2,\n  Limits: s = X2,\n  Debug: r = Y2,\n  debug: o,\n  showInput: i,\n  showInputs: a = i,\n  showValue: c,\n  showValues: u = c,\n  showScale: d,\n  showLimits: h\n}) => /* @__PURE__ */ w(be, { children: [\n  !!u && /* @__PURE__ */ l(n, {}),\n  /* @__PURE__ */ l(e, {}),\n  h && !d && /* @__PURE__ */ l(s, {}),\n  a && /* @__PURE__ */ l(t, {}),\n  !!o && /* @__PURE__ */ l(r, {})\n] }), Z2 = K.Consumer(G2), J2 = ({\n  rangeProps: e,\n  Layout: t = Z2,\n  children: n\n}) => /* @__PURE__ */ l(\"div\", { ...e, children: n ? /* @__PURE__ */ l(K.Children, { children: n }) : /* @__PURE__ */ l(t, {}) }), Q2 = K.Consumer(J2), e0 = ({\n  Content: e = Q2,\n  children: t,\n  ...n\n}) => /* @__PURE__ */ l(K.Provider, { ...n, children: /* @__PURE__ */ l(e, { children: t }) }), Co = L(e0, \"Range\"), t0 = (e, t) => [e, t], Hl = ({\n  field: e = Q(),\n  changeValue: t = e.changeValue || t0\n}) => /* @__PURE__ */ l(\n  Co,\n  {\n    ...e,\n    onChange: (...n) => e.onChange(t(...n))\n  }\n), n0 = ({\n  thumbsClass: e = \"range-thumbs\",\n  Thumb: t = El,\n  thumbsRef: n\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: e,\n    ref: n,\n    children: /* @__PURE__ */ l(t, {})\n  }\n), s0 = K.Consumer(n0), r0 = ({\n  valuesClass: e = \"range-values\",\n  ValueMin: t = jl\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: /* @__PURE__ */ l(t, {}) }), o0 = K.Consumer(r0), i0 = ({\n  inputsClass: e = \"range-inputs\",\n  alignInput: t = \"center\",\n  alignInputs: n = t,\n  inputSize: s,\n  inputsSize: r = s,\n  InputMin: o = Vl\n}) => /* @__PURE__ */ l(\"div\", { className: M(e, n, r), children: /* @__PURE__ */ l(o, {}) }), a0 = K.Consumer(i0), l0 = (e, t, n, s) => s(e), c0 = (e) => (e.value = e.maxValue, e.input = e.maxInput, e.normal = e.maxNormal, e.percent = e.maxPercent, e.setValue = e.setMaxValue, e.setInput = e.setMaxInput, e.stepUp = e.stepMaxUp, e.stepDown = e.stepMaxDown, e.onDrag = e.onDragMax, e.onKeyDown = e.onKeyDownMax, e), u0 = ({\n  children: e,\n  value: t,\n  minNormal: n = 0.5,\n  maxNormal: s = 1,\n  minRange: r = 0,\n  rangeClass: o = \"range range-min\",\n  Thumbs: i = s0,\n  Values: a = o0,\n  Inputs: c = a0,\n  normalClick: u = l0,\n  prepareRenderProps: d = c0,\n  onChange: h = E,\n  ...g\n}) => /* @__PURE__ */ l(\n  Co,\n  {\n    minValue: t,\n    minNormal: n,\n    maxNormal: s,\n    minRange: r,\n    rangeClass: o,\n    normalClick: u,\n    prepareRenderProps: d,\n    onChange: (f, m, ...p) => h(f, ...p),\n    Thumbs: i,\n    Values: a,\n    Inputs: c,\n    ...g,\n    children: e\n  }\n), d0 = L(u0, \"RangeMin\"), h0 = ({\n  field: e = Q(),\n  changeValue: t = e.changeValue || Ot\n}) => /* @__PURE__ */ l(\n  d0,\n  {\n    ...e,\n    onChange: (...n) => e.onChange(t(...n))\n  }\n), f0 = ({\n  thumbsClass: e = \"range-thumbs\",\n  Thumb: t = Pl,\n  thumbsRef: n\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: e,\n    ref: n,\n    children: /* @__PURE__ */ l(t, {})\n  }\n), g0 = K.Consumer(f0), p0 = ({\n  valuesClass: e = \"range-values\",\n  ValueMax: t = Wl\n}) => /* @__PURE__ */ l(\"div\", { className: e, children: /* @__PURE__ */ l(t, {}) }), m0 = K.Consumer(p0), b0 = ({\n  inputsClass: e = \"range-inputs\",\n  alignInput: t = \"center\",\n  alignInputs: n = t,\n  inputSize: s,\n  inputsSize: r = s,\n  InputMax: o = Bl\n}) => /* @__PURE__ */ l(\"div\", { className: M(e, n, r), children: /* @__PURE__ */ l(o, {}) }), v0 = K.Consumer(b0), C0 = (e, t, n, s, r) => r(e), y0 = (e) => (e.value = e.maxValue, e.input = e.maxInput, e.normal = e.maxNormal, e.percent = e.maxPercent, e.setValue = e.setMaxValue, e.setInput = e.setMaxInput, e.stepUp = e.stepMaxUp, e.stepDown = e.stepMaxDown, e.onDrag = e.onDragMax, e.onKeyDown = e.onKeyDownMax, e), x0 = ({\n  children: e,\n  value: t,\n  minNormal: n = 0,\n  maxNormal: s = 0.5,\n  minRange: r = 0,\n  rangeClass: o = \"range range-max\",\n  Thumbs: i = g0,\n  Values: a = m0,\n  Inputs: c = v0,\n  normalClick: u = C0,\n  prepareRenderProps: d = y0,\n  onChange: h = E,\n  ...g\n}) => /* @__PURE__ */ l(\n  Co,\n  {\n    maxValue: t,\n    minNormal: n,\n    maxNormal: s,\n    minRange: r,\n    rangeClass: o,\n    normalClick: u,\n    prepareRenderProps: d,\n    onChange: (f, m, ...p) => h(m, ...p),\n    Thumbs: i,\n    Values: a,\n    Inputs: c,\n    ...g,\n    children: e\n  }\n), w0 = L(x0, \"RangeMax\"), S0 = ({\n  field: e = Q(),\n  changeValue: t = e.changeValue || Ot\n}) => /* @__PURE__ */ l(\n  w0,\n  {\n    ...e,\n    onChange: (...n) => e.onChange(t(...n))\n  }\n), R0 = ({\n  color: e,\n  className: t,\n  style: n,\n  fixed: s,\n  light: r,\n  dark: o,\n  onClick: i,\n  children: a\n}) => /* @__PURE__ */ l(\n  \"div\",\n  {\n    className: M(\"overlay\", t, e, { fixed: s, light: r, dark: o }),\n    style: n,\n    onClick: i,\n    children: a\n  }\n), zl = L(R0, \"Overlay\"), Ni = (e, t) => [\n  e.length ? \"-\" + e.join(\"-\") : \"\",\n  t.length ? \".\" + t.join(\".\") : \"\"\n].join(\"\"), Mi = (e, t, n, s, r, o) => {\n  n ? (t.push(`stc-${r}`, `std-${o}`), Dt(n) ? s && e.push(`strokeWidth=${s}`) : e.push(n)) : e.push(\"stroke=none\");\n}, Di = (e, t, n, s, r) => {\n  n ? t.push(`flc-${s}`, `fld-${r}`) : e.push(\"fill=none\");\n}, L0 = ({\n  size: e,\n  className: t,\n  icon: n = \"cog\",\n  color: s = \"brand\",\n  stroke: r = !0,\n  strokeWidth: o,\n  strokeStop: i = 40,\n  strokeStopDark: a = 50,\n  fill: c = !1,\n  fillStop: u = 50,\n  fillStopDark: d = 20,\n  // bgIcon='circle',\n  bgIcon: h = !1,\n  bgColor: g = s,\n  bgStroke: f = !1,\n  bgStrokeWidth: m,\n  bgStrokeStop: p = 60,\n  bgStrokeStopDark: b = 70,\n  bgFill: v = !0,\n  bgFillStop: y = 70,\n  bgFillStopDark: C = 30,\n  shrink: x = h ? 5 : 0,\n  reverse: S = !1,\n  fast: D = !1,\n  slow: R = !1,\n  speed: N = D ? \"fast\" : R ? \"slow\" : null,\n  animation: k = S ? \"spin.reverse\" : \"spin\"\n}) => {\n  const O = M(\n    e,\n    t\n  ), $ = [], W = [g], A = [], z = [s, k, N];\n  Mi($, W, f, m, p, b), Mi(A, z, r, o, i, a), Di($, W, v, y, C), Di(A, z, c, u, d), x && A.push(`shrink=${x}`);\n  const Ce = h ? `${h}${Ni($, W)}` : \"\", te = `${n}${Ni(A, z)}`, Z = h ? `${Ce} ${te}` : te;\n  return /* @__PURE__ */ l(X, { name: Z, className: O });\n}, N0 = L(L0, \"Spinner\"), M0 = ({\n  text: e = \"Submitting...\",\n  size: t = \"largest\",\n  className: n = \"flex middle center pad-8\",\n  light: s,\n  dark: r,\n  fixed: o,\n  spinnerSize: i = \"x4\",\n  Spinner: a = N0,\n  ...c\n}) => /* @__PURE__ */ l(Il, { submitting: !0, children: /* @__PURE__ */ l(\n  zl,\n  {\n    className: M(n, t),\n    light: s,\n    dark: r,\n    fixed: o,\n    children: /* @__PURE__ */ w(\"div\", { className: \"text-center\", children: [\n      a && /* @__PURE__ */ l(a, { size: i, ...c }),\n      /* @__PURE__ */ l(\"div\", { className: \"mar-t-4\", children: e })\n    ] })\n  }\n) }), JC = L(M0, \"Submitting\"), D0 = ({\n  text: e = \"Cancel\",\n  className: t = \"cancel\",\n  Button: n = Se,\n  ...s\n}) => /* @__PURE__ */ l(\n  n,\n  {\n    text: e,\n    className: t,\n    ...s\n  }\n), $0 = L(D0, \"Cancel\"), O0 = ({\n  type: e = \"reset\",\n  text: t = \"Reset\",\n  className: n = \"reset\",\n  Button: s = Se,\n  ...r\n}) => {\n  const { reset: o } = fn();\n  return /* @__PURE__ */ l(\n    s,\n    {\n      type: e,\n      text: t,\n      className: n,\n      onClick: o,\n      ...r\n    }\n  );\n}, T0 = L(O0, \"Reset\"), k0 = ({\n  type: e = \"submit\",\n  text: t = \"Submit\",\n  className: n = \"submit\",\n  Button: s = Se,\n  ...r\n}) => {\n  const { submit: o, status: i } = fn();\n  return /* @__PURE__ */ l(\n    s,\n    {\n      type: e,\n      text: t,\n      className: n,\n      onClick: o,\n      disabled: i.submitting,\n      ...r\n    }\n  );\n}, Ul = L(k0, \"Submit\"), I0 = ({\n  className: e,\n  gap: t = 4,\n  space: n = !1,\n  size: s,\n  reset: r = {},\n  submit: o = {}\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: pl({ className: e, gap: t, space: n }, s, \"controls\"),\n    children: [\n      /* @__PURE__ */ l(T0, { ...r }),\n      /* @__PURE__ */ l(Ul, { ...o })\n    ]\n  }\n), QC = L(I0, \"ResetSubmit\"), E0 = ({\n  className: e,\n  gap: t = 4,\n  space: n = !1,\n  size: s,\n  cancel: r = {},\n  submit: o = {}\n}) => /* @__PURE__ */ w(\n  \"div\",\n  {\n    className: pl({ className: e, gap: t, space: n }, s, \"controls\"),\n    children: [\n      /* @__PURE__ */ l($0, { ...r }),\n      /* @__PURE__ */ l(Ul, { ...o })\n    ]\n  }\n), e1 = L(E0, \"CancelSubmit\");\nIt(\"multiselect\", Jv);\nIt(\"uiselect\", Qv);\nIt(\"search\", g2);\nIt(\"uirange\", Hl);\nIt(\"rangeminmax\", Hl);\nIt(\"rangemin\", h0);\nIt(\"rangemax\", S0);\nconst t1 = L(Pv, \"Form\"), n1 = L(Tl, \"Field\"), s1 = L(kl, \"Fields\"), r1 = L(Uv, \"Fieldset\"), o1 = L(Zv, \"Errors\"), i1 = L(Il, \"Status\"), a1 = L(qv, \"Debug\"), l1 = L(Ol, \"Layout\"), c1 = L(wl, \"Label\"), u1 = L(Dl, \"Input\"), d1 = L($l, \"Message\"), h1 = L(Sl, \"CheckboxField\"), f1 = L(vo, \"HiddenField\"), g1 = L(Rl, \"RadioField\"), p1 = L(Ll, \"SelectField\"), m1 = L(Dr, \"TextField\"), b1 = L(Nl, \"TextAreaField\"), v1 = ({\n  open: e = !1\n} = {}) => {\n  const { isVisible: t, show: n, hide: s } = Zr({ visible: e });\n  return {\n    show: n,\n    hide: s,\n    Modal: (r) => /* @__PURE__ */ l(\n      ia,\n      {\n        open: t,\n        ...r\n      }\n    )\n  };\n}, C1 = ({\n  open: e = !1\n} = {}) => {\n  const { isVisible: t, show: n, hide: s } = Zr({ visible: e });\n  return {\n    show: n,\n    hide: s,\n    Overlay: (r) => t && /* @__PURE__ */ l(\n      zl,\n      {\n        ...r\n      }\n    )\n  };\n}, P0 = ({\n  className: e,\n  disabled: t,\n  children: n\n}) => /* @__PURE__ */ l(\n  \"label\",\n  {\n    className: M(e, { disabled: t }),\n    children: n\n  }\n), A0 = L(P0, \"RadioLabel\"), F0 = ({\n  name: e,\n  option: t,\n  tabIndex: n = 0,\n  onChange: s = E,\n  checked: r\n}) => /* @__PURE__ */ l(\n  \"input\",\n  {\n    type: \"radio\",\n    name: e,\n    disabled: t.disabled,\n    \"aria-disabled\": t.disabled,\n    tabIndex: t.disabled ? -1 : n,\n    onChange: (o) => s(o.target.checked),\n    checked: r\n  }\n), V0 = L(F0, \"RadioInput\"), B0 = ({\n  name: e,\n  option: t,\n  checked: n,\n  inline: s,\n  border: r,\n  labelClass: o = \"radio\",\n  inputClass: i,\n  Label: a = A0,\n  Input: c = V0,\n  onChange: u\n}) => /* @__PURE__ */ w(\n  a,\n  {\n    className: M(o, t.labelClass, { inline: s, border: r }),\n    disabled: t.disabled,\n    option: t,\n    children: [\n      /* @__PURE__ */ l(\n        c,\n        {\n          name: e,\n          option: t,\n          checked: n,\n          className: M(i, t.inputClass),\n          onChange: () => u(t.value)\n        }\n      ),\n      t.text ?? t.label ?? t.name\n    ]\n  }\n), j0 = L(B0, \"RadioOption\"), W0 = ({\n  name: e = $i(),\n  value: t,\n  options: n,\n  className: s = \"radioset\",\n  disabled: r,\n  Option: o = j0,\n  ...i\n}) => /* @__PURE__ */ l(\"div\", { className: M(s, { disabled: r }), children: n.map(\n  (a) => {\n    const c = ve(a) ? a : { value: a, label: a };\n    return /* @__PURE__ */ l(\n      o,\n      {\n        name: e,\n        option: c,\n        checked: c.value === t,\n        value: t,\n        ...i\n      },\n      c.value\n    );\n  }\n) }), y1 = L(W0, \"Radio\"), x1 = ({ ...e }) => /* @__PURE__ */ l(\n  go,\n  {\n    ...e,\n    direction: \"horizontal\"\n  }\n), Kl = ({\n  th: e,\n  text: t,\n  ...n\n}) => e ? /* @__PURE__ */ l(\"th\", { ...n, children: re(t, n) }) : /* @__PURE__ */ l(\"td\", { ...n, children: re(t, n) }), yo = (e) => Fe(e) ? { cells: e } : e, xo = (e) => ve(e) ? e : { text: e }, H0 = ({\n  columns: e\n}) => /* @__PURE__ */ l(\"thead\", { children: /* @__PURE__ */ l(\"tr\", { children: Object.entries(e).map(\n  ([t, n]) => {\n    const s = n.head ? xo(n.head) : { text: t };\n    return /* @__PURE__ */ l(\n      Kl,\n      {\n        th: s.th ?? !0,\n        ...s\n      },\n      t\n    );\n  }\n) }) }), z0 = ({\n  th: e,\n  text: t,\n  row: n,\n  ...s\n}) => e ? /* @__PURE__ */ l(\"th\", { ...s, children: re(t, { row: n, text: t }) }) : /* @__PURE__ */ l(\"td\", { ...s, children: re(t, { row: n, text: t }) }), U0 = ({\n  row: e,\n  columns: t\n}) => /* @__PURE__ */ l(\"tr\", { children: Object.entries(t).map(\n  ([n, s]) => {\n    const r = s.body ? xo(s.body) : { text: e[n] };\n    return /* @__PURE__ */ l(\n      z0,\n      {\n        th: r.th ?? !1,\n        row: e,\n        ...r\n      },\n      n\n    );\n  }\n) }), K0 = ({\n  columns: e,\n  rows: t = [],\n  ...n\n}) => /* @__PURE__ */ l(\"tbody\", { children: t.map(\n  (s, r) => /* @__PURE__ */ l(\n    U0,\n    {\n      row: s,\n      columns: e,\n      ...n\n    },\n    s.id ?? r\n  )\n) }), q0 = ({\n  rows: e,\n  columns: t,\n  ...n\n}) => /* @__PURE__ */ w(be, { children: [\n  /* @__PURE__ */ l(H0, { columns: t, ...n }),\n  /* @__PURE__ */ l(K0, { columns: t, rows: e, ...n })\n] }), wo = ({\n  cells: e,\n  th: t = !1,\n  Cell: n = Kl,\n  ...s\n}) => /* @__PURE__ */ l(\"tr\", { ...s, children: e.map(\n  (r, o) => /* @__PURE__ */ l(\n    n,\n    {\n      th: r.th ?? t,\n      ...xo(r)\n    },\n    r.key ?? o\n  )\n) }), X0 = ({\n  headRows: e,\n  Row: t = wo,\n  HeadRow: n = t,\n  ...s\n}) => /* @__PURE__ */ l(\"thead\", { children: e.map(\n  (r, o) => /* @__PURE__ */ l(\n    n,\n    {\n      th: !0,\n      ...yo(r),\n      ...s\n    },\n    r.key ?? o\n  )\n) }), _0 = ({\n  bodyRows: e,\n  Row: t = wo,\n  BodyRow: n = t,\n  ...s\n}) => /* @__PURE__ */ l(\"tbody\", { children: e.map(\n  (r, o) => /* @__PURE__ */ l(\n    n,\n    {\n      ...yo(r),\n      ...s\n    },\n    r.key ?? o\n  )\n) }), Y0 = ({\n  footRows: e,\n  Row: t = wo,\n  FootRow: n = t,\n  ...s\n}) => /* @__PURE__ */ l(\"tfoot\", { children: e.map(\n  (r, o) => /* @__PURE__ */ l(\n    n,\n    {\n      ...yo(r),\n      ...s\n    },\n    r.key ?? o\n  )\n) }), G0 = ({\n  bodyRows: e,\n  headRows: t,\n  footRows: n,\n  Head: s = X0,\n  Body: r = _0,\n  Foot: o = Y0,\n  ...i\n}) => /* @__PURE__ */ w(be, { children: [\n  !!t && /* @__PURE__ */ l(s, { headRows: t, ...i }),\n  /* @__PURE__ */ l(r, { bodyRows: e, ...i }),\n  !!n && /* @__PURE__ */ l(o, { footRows: n, ...i })\n] }), Z0 = ({\n  className: e,\n  border: t,\n  color: n,\n  radius: s,\n  shadow: r,\n  size: o,\n  lined: i,\n  celled: a,\n  shaded: c,\n  striped: u,\n  wide: d,\n  compact: h,\n  compressed: g = h,\n  expanded: f,\n  headings: m,\n  rows: p,\n  footings: b,\n  columns: v,\n  bodyRows: y = p,\n  headRows: C = m && [m],\n  footRows: x = b && [b],\n  ...S\n}) => {\n  const D = M(\n    e,\n    o,\n    zr(n),\n    ft(t),\n    pt(s),\n    gt(r),\n    { celled: a, lined: i, shaded: c, striped: u, wide: d, compressed: g, expanded: f }\n  );\n  return /* @__PURE__ */ l(\"table\", { className: D, children: v ? /* @__PURE__ */ l(\n    q0,\n    {\n      columns: Nt(\n        v,\n        (R) => ({ head: ra(R) })\n      ),\n      rows: p,\n      ...S\n    }\n  ) : /* @__PURE__ */ l(\n    G0,\n    {\n      headRows: C,\n      bodyRows: y,\n      footRows: x,\n      ...S\n    }\n  ) });\n}, w1 = L(Z0, \"Table\"), J0 = ({\n  tab: e\n}) => {\n  if (!e)\n    return null;\n  const { content: t, Component: n } = e;\n  return t || (n ? /* @__PURE__ */ l(n, { tab: e }) : \"No content, element or Component defined for tab\");\n}, Q0 = ({\n  tabs: e,\n  storageKey: t,\n  storageItem: n = \"active-tab\",\n  tabsetClass: s = \"tabset\",\n  tabsClass: r = \"tabs\",\n  activeClass: o = \"active\",\n  disabledClass: i = \"disabled\",\n  className: a,\n  bodyClass: c,\n  color: u,\n  size: d,\n  solid: h,\n  lined: g,\n  center: f,\n  right: m,\n  activeTab: p = 0,\n  Body: b = J0\n}) => {\n  const v = t && Gr(t), [y, C] = F.useState(\n    v && v.get(n) || p\n  ), x = (R) => {\n    C(R), v && v.set(n, R);\n  }, S = M(\n    s,\n    a,\n    u,\n    d,\n    { solid: h, lined: g, center: f, right: m }\n  ), D = M(\n    r,\n    u,\n    d\n  );\n  return /* @__PURE__ */ w(\"div\", { className: S, children: [\n    /* @__PURE__ */ l(\"ul\", { className: D, children: e.map(\n      (R, N) => /* @__PURE__ */ l(\n        \"li\",\n        {\n          className: M({\n            [o]: y === N,\n            [i]: R.disabled\n          }),\n          onClick: () => R.disabled ? E : x(N),\n          children: /* @__PURE__ */ l(mt, { ...R })\n        },\n        R.id || N\n      )\n    ) }),\n    /* @__PURE__ */ l(\"div\", { className: c, children: /* @__PURE__ */ l(\n      b,\n      {\n        tabs: e,\n        active: y,\n        tab: e[y]\n      }\n    ) })\n  ] });\n}, S1 = L(Q0, \"Tabset\"), ql = [\n  { text: \"On\", value: !0 },\n  { text: \"Off\", value: !1 }\n], eC = (e, t) => e.value === (ve(t) ? t.value : t), Xl = (e, t) => Ls(t) ? t : e.findIndex((n) => eC(n, t)), tC = ({\n  selected: e = 0,\n  findSelectedIndex: t = Xl,\n  onSelect: n = E,\n  options: s = ql,\n  activeProps: r = {},\n  inactiveProps: o = { className: \"outline\" },\n  buttonsClass: i = \"buttons\",\n  size: a,\n  className: c,\n  ...u\n} = {}) => {\n  const d = t(s, e), h = s.map(\n    (g, f) => {\n      const m = f === d;\n      return {\n        ...g,\n        ...m ? r : o,\n        className: M(\n          g.className,\n          m ? r.className : o.className\n        ),\n        onClick: () => n(g, f)\n      };\n    }\n  );\n  return /* @__PURE__ */ l(\n    Cr,\n    {\n      buttons: h,\n      className: M(a, c, i),\n      ...u\n    }\n  );\n}, nC = L(tC, \"Toggle\"), sC = ({\n  selected: e = 0,\n  findSelectedIndex: t = Xl,\n  options: n = ql,\n  onSelect: s = E,\n  storageKey: r,\n  storageItem: o = \"selected\",\n  ...i\n} = {}) => {\n  const a = t(n, e), c = r && Gr(r), [u, d] = j(\n    c ? c.get(o) ?? a : a\n  ), [h, g] = j(\n    n[u]\n  ), f = (p) => {\n    const b = t(n, p);\n    if (b >= 0 && b < n.length)\n      c && c.set(o, b), d(b), g(n[b]), s(n[b], b);\n    else\n      throw \"Invalid toggle option selected: \" + JSON.stringify(p);\n  };\n  return [\n    h,\n    ({ ...p }) => /* @__PURE__ */ l(\n      nC,\n      {\n        options: n,\n        selected: u,\n        onSelect: (b, v) => f(v),\n        ...i,\n        ...p\n      }\n    ),\n    f,\n    () => f((u + 1) % n.length)\n  ];\n}, R1 = (e) => {\n  const [, t] = sC(e);\n  return /* @__PURE__ */ l(t, {});\n}, rC = ({\n  style: e,\n  content: t,\n  children: n,\n  ...s\n}) => /* @__PURE__ */ l(\"div\", { className: Ur(s), style: e, children: t || n });\nL(rC, \"Div\");\nconst oC = ({\n  children: e,\n  ...t\n}) => /* @__PURE__ */ l(\"div\", { className: Ur(t, \"flex\"), children: e });\nL(oC, \"Flex\");\nconst iC = ({\n  gap: e,\n  children: t,\n  ...n\n}) => {\n  const { ref: s, breakpoint: r } = _l(), [o, i] = vd(n, r);\n  return /* @__PURE__ */ l(\n    \"div\",\n    {\n      ref: s,\n      className: M(\n        o,\n        Kr(e),\n        Ur(i)\n      ),\n      children: t\n    }\n  );\n};\nL(iC, \"Grid\");\nconst _l = (e = {}) => {\n  const [t, n] = j(!1), [s, r] = j(!1), [o, i] = j(!1), [a, c] = j(!1), [u, d] = j(!1), h = U();\n  return B(\n    () => {\n      if (!h.current || typeof ResizeObserver > \"u\")\n        return;\n      const g = new ResizeObserver(\n        (f) => {\n          const m = f[0], p = m.contentRect, b = m.borderBoxSize[0];\n          if (p) {\n            const v = Math.round(p.width), y = Math.round(p.height);\n            n(v), r(y), d(_r(v, e));\n          }\n          if (b) {\n            const v = Math.round(b.inlineSize), y = Math.round(b.blockSize);\n            i(v), c(y);\n          }\n        }\n      );\n      return g.observe(h.current), () => g.disconnect();\n    },\n    []\n  ), { ref: h, width: t, height: s, boxWidth: o, boxHeight: a, breakpoint: u };\n};\nfunction L1() {\n  const e = U(0);\n  return e.current++, e.current;\n}\nconst aC = (e, t = {}) => {\n  const {\n    onChange: n,\n    convertCase: s = ra,\n    setterNamer: r = (c) => `set${s(c)}`\n  } = t, [o, i] = j(\n    n ? n(e) : e\n  ), a = Object.keys(e).reduce(\n    (c, u) => {\n      const d = r(u);\n      return c[d] = (h) => i(\n        (g) => {\n          const f = {\n            ...g,\n            [u]: re(h, g[u])\n          };\n          return n ? n(f) : f;\n        }\n      ), c;\n    },\n    {}\n  );\n  return [o, a];\n}, N1 = (e = {}) => {\n  const t = e.element || window, [n, s] = j(!1), [r, o] = j(!1), [i, a] = j(!1), c = () => {\n    if (!t)\n      return;\n    s(t.innerWidth), o(t.innerHeight);\n    const u = _r(t.innerWidth, e);\n    a(u);\n  };\n  return B(\n    () => {\n      if (typeof t < \"u\" && t.addEventListener)\n        return c(), t.addEventListener(\"resize\", c), () => {\n          t.removeEventListener(\"resize\", c);\n        };\n    },\n    []\n  ), { width: n, height: r, breakpoint: i };\n};\nexport {\n  Xt as ANY,\n  ks as ARROW_DOWN,\n  ch as ARROW_LEFT,\n  uh as ARROW_RIGHT,\n  Ts as ARROW_UP,\n  pC as Accordion,\n  xC as Alert,\n  hh as BACKSPACE,\n  Yt as BLANK,\n  wC as Badge,\n  Se as Button,\n  Cr as Buttons,\n  $0 as Cancel,\n  e1 as CancelSubmit,\n  oa as Checkbox,\n  h1 as CheckboxField,\n  SC as CheckboxState,\n  Fd as CheckedState,\n  RC as Confirm,\n  DC as DASH,\n  OC as DEFAULT_ICON_HEIGHT,\n  $C as DEFAULT_ICON_WIDTH,\n  od as DESKTOP,\n  nl as DataTable,\n  Sm as DataTableBody,\n  sm as DataTableCell,\n  MC as DataTableConsumer,\n  Um as DataTableContent,\n  _ as DataTableContext,\n  Gp as DataTableControls,\n  bm as DataTableFilter,\n  _p as DataTableFiltering,\n  Cm as DataTableFilters,\n  Hm as DataTableFooter,\n  Jp as DataTableHeader,\n  dm as DataTableHeading,\n  fm as DataTableHeadings,\n  am as DataTableNoRows,\n  Lf as DataTablePageSize,\n  om as DataTableRow,\n  cm as DataTableRows,\n  lh as DataTableSummary,\n  EC as DataTables,\n  nl as Datatable,\n  a1 as Debug,\n  qu as Details,\n  Wu as DetailsContainer,\n  Ji as DetailsContent,\n  Tr as DetailsContext,\n  Bu as DetailsSummary,\n  rC as Div,\n  If as Dropdown,\n  $f as DropdownBody,\n  Tf as DropdownContent,\n  an as DropdownContext,\n  Sf as DropdownMenu,\n  xf as DropdownMenuContent,\n  rn as DropdownMenuContext,\n  Ch as DropdownMenuHeading,\n  bh as DropdownMenuOption,\n  xh as DropdownMenuOptions,\n  vh as DropdownMenuSeparator,\n  ph as DropdownMenuTrigger,\n  Mf as DropdownTrigger,\n  Is as ENTER,\n  Es as ESCAPE,\n  Nd as Error,\n  o1 as Errors,\n  la as FALSE,\n  n1 as Field,\n  s1 as Fields,\n  r1 as Fieldset,\n  oC as Flex,\n  t1 as Form,\n  iC as Grid,\n  f1 as HiddenField,\n  x1 as HorizontalSort,\n  X as Icon,\n  Pr as IconLibrary,\n  mC as Icons,\n  Sd as Info,\n  u1 as Input,\n  rd as LAPTOP,\n  c1 as Label,\n  l1 as Layout,\n  wd as LocalStorage,\n  nd as MOBILE,\n  Fp as MakeSortable,\n  d1 as Message,\n  ia as Modal,\n  Bd as ModalClose,\n  Kd as ModalContent,\n  zd as ModalFooter,\n  Wd as ModalHeader,\n  v1 as ModalState,\n  Ab as MultiSelect,\n  FC as MultiSelectConsumer,\n  Eb as MultiSelectContent,\n  Tt as MultiSelectContext,\n  ab as MultiSelectOption,\n  AC as MultiSelectProvider,\n  rl as MultiSelectSelection,\n  Ob as MultiSelectSelections,\n  kb as MultiSelectSortSelections,\n  zl as Overlay,\n  C1 as OverlayState,\n  jm as Pager,\n  Vm as PagerContent,\n  bt as PagerContext,\n  $m as PagerNext,\n  Tm as PagerPage,\n  Am as PagerPages,\n  Mm as PagerPrevious,\n  Em as PagerSeparator,\n  y1 as Radio,\n  g1 as RadioField,\n  V0 as RadioInput,\n  A0 as RadioLabel,\n  j0 as RadioOption,\n  Co as Range,\n  GC as RangeChildren,\n  YC as RangeConsumer,\n  Q2 as RangeContent,\n  K as RangeContext,\n  Y2 as RangeDebug,\n  Al as RangeInput,\n  Bl as RangeInputMax,\n  Vl as RangeInputMin,\n  F2 as RangeInputs,\n  Z2 as RangeLayout,\n  X2 as RangeLimits,\n  w0 as RangeMax,\n  v0 as RangeMaxInputs,\n  g0 as RangeMaxThumbs,\n  m0 as RangeMaxValues,\n  d0 as RangeMin,\n  a0 as RangeMinInputs,\n  s0 as RangeMinThumbs,\n  o0 as RangeMinValues,\n  K2 as RangeOutput,\n  _C as RangeProvider,\n  Fl as RangeSelect,\n  x2 as RangeSelection,\n  T2 as RangeSlider,\n  Pl as RangeThumbMax,\n  El as RangeThumbMin,\n  L2 as RangeThumbs,\n  $2 as RangeTicks,\n  M2 as RangeTrack,\n  Wl as RangeValueMax,\n  jl as RangeValueMin,\n  z2 as RangeValues,\n  T0 as Reset,\n  QC as ResetSubmit,\n  Jr as SPACE,\n  f2 as Search,\n  d2 as SearchContent,\n  Ct as SearchContext,\n  c2 as SearchError,\n  t2 as SearchInput,\n  o2 as SearchNoResults,\n  s2 as SearchResult,\n  a2 as SearchResults,\n  Bn as Select,\n  jC as SelectConsumer,\n  Nb as SelectContent,\n  De as SelectContext,\n  p1 as SelectField,\n  hb as SelectHeading,\n  ub as SelectInput,\n  vb as SelectItem,\n  wb as SelectMenu,\n  yb as SelectNoOptions,\n  gb as SelectOption,\n  BC as SelectProvider,\n  Rb as SelectSearch,\n  mb as SelectSeparator,\n  go as Sortable,\n  Ep as SortableItem,\n  N0 as Spinner,\n  i1 as Status,\n  Gr as Storage,\n  Jn as Store,\n  Ul as Submit,\n  JC as Submitting,\n  Rd as Success,\n  dh as TAB,\n  sd as TABLET,\n  aa as TRUE,\n  w1 as Table,\n  _0 as TableBody,\n  Kl as TableCell,\n  q0 as TableColumns,\n  Y0 as TableFoot,\n  X0 as TableHead,\n  wo as TableRow,\n  G0 as TableRows,\n  S1 as Tabset,\n  J0 as TabsetBody,\n  b1 as TextAreaField,\n  m1 as TextField,\n  Eu as Theme,\n  L as Themed,\n  Iu as Themer,\n  eb as Tiles,\n  nC as Toggle,\n  R1 as ToggleState,\n  ad as ULTRA,\n  td as UNKNOWN,\n  qC as UseField,\n  KC as UseForm,\n  Vp as VerticalSort,\n  Zr as VisibleState,\n  id as WIDESCREEN,\n  Ld as Warning,\n  mt as WithIcons,\n  $c as addIcon,\n  gC as addIcons,\n  It as addInputType,\n  vr as anyPropsChanged,\n  Mu as backgroundClass,\n  $u as backgroundDarkClass,\n  ft as borderClass,\n  Os as breakpoints,\n  ra as capitalFirstLetter,\n  xo as cellProps,\n  $s as classInt,\n  qr as classTrue,\n  Xr as classTrueInt,\n  Gi as classTrueVHTRBL,\n  Ou as classVHTRBL,\n  M as classes,\n  yr as coerceBoolean,\n  xt as coerceNumber,\n  zr as colorClass,\n  dd as cursorFirst,\n  hd as cursorLast,\n  fd as cursorNext,\n  gd as cursorPrev,\n  rr as dataTableColumnDefinition,\n  Yd as dataTableColumnDefinitions,\n  Zd as dataTableColumnOrder,\n  LC as dataTableColumnString,\n  sh as dataTableFilter,\n  qo as dataTableFilterTypes,\n  rh as dataTablePaginate,\n  oh as dataTableSort,\n  Jd as dataTableSortColumn,\n  Xo as dataTableSorters,\n  Gd as dataTableVisibleColumns,\n  Lt as defaultRenderer,\n  v2 as displayValueFromOptions,\n  vC as elementBreakpoint,\n  cd as elementWidth,\n  vd as extractGridProp,\n  bd as extractGridProps,\n  Fu as extractStyleProps,\n  gv as fieldClass,\n  nh as filterBoolean,\n  th as filterFloat,\n  eh as filterInteger,\n  Wt as filterStringContains,\n  Qd as filterStringExact,\n  na as findOption,\n  br as fixValues,\n  vf as floatingMiddleware,\n  Cf as floatingPlacement,\n  Nu as foregroundClass,\n  Du as foregroundDarkClass,\n  Kr as gapClass,\n  wu as gridClass,\n  Cd as gridPropBestMatch,\n  Uo as iconNameOrProps,\n  sr as iconProps,\n  p2 as initRange,\n  Ys as inputClasses,\n  Cu as joinClasses,\n  yC as lookupVariant,\n  Lu as marginClass,\n  Yr as mergeRefs,\n  ta as optionValue,\n  Ru as paddingClass,\n  tl as pagerNextPageLabel,\n  Lm as pagerPageLabel,\n  el as pagerPreviousPageLabel,\n  bC as parseAttrs,\n  xd as parseSize,\n  Qn as prefixKey,\n  pt as radiusClass,\n  C0 as rangeMaxNormalClick,\n  y0 as rangeMaxPrepareRenderProps,\n  l0 as rangeMinNormalClick,\n  c0 as rangeMinPrepareRenderProps,\n  b2 as rangeNormalClick,\n  m2 as rangeQuantizer,\n  Au as rotateStyle,\n  yo as rowProps,\n  sa as scrollParentChild,\n  ud as searchOptions,\n  md as selectGridProps,\n  yu as setKeys,\n  gt as shadowClass,\n  Yi as sizeColorProps,\n  Su as stackClass,\n  fv as statusClasses,\n  pd as stopPropagation,\n  xu as styleProps,\n  Ur as stylePropsClasses,\n  CC as themedProps,\n  aC as useComplexState,\n  _l as useContainer,\n  NC as useDataTable,\n  fC as useDetails,\n  kC as useDropdown,\n  TC as useDropdownMenu,\n  Q as useField,\n  xa as useFloating,\n  fn as useForm,\n  VC as useMultiSelect,\n  IC as usePager,\n  ZC as useRange,\n  L1 as useRenderCount,\n  XC as useSearch,\n  WC as useSelect,\n  sC as useToggle,\n  N1 as useWindow,\n  In as validOption,\n  _r as widthBreakpoint,\n  yd as withIconsRenderer\n};\n//# sourceMappingURL=badger-react-ui.js.map\n","function z(n) {\n  return typeof n == \"boolean\";\n}\nfunction s(n) {\n  return typeof n == \"string\";\n}\nfunction y(n) {\n  return typeof n == \"number\";\n}\nfunction E(n) {\n  return Number.isInteger(n);\n}\nfunction Z(n) {\n  return y(n) && !E(n);\n}\nfunction m(n) {\n  return Array.isArray(n);\n}\nfunction l(n) {\n  return typeof n == \"function\";\n}\nfunction D(n) {\n  return n instanceof RegExp;\n}\nfunction B(n) {\n  return typeof n == \"object\" && !m(n) && !C(n);\n}\nfunction k(n) {\n  return s(n) || y(n) || z(n);\n}\nfunction _(n) {\n  return typeof n > \"u\";\n}\nfunction C(n) {\n  return n === null;\n}\nfunction a(n) {\n  return !(_(n) || C(n));\n}\nfunction nn(...n) {\n  return P(n);\n}\nfunction P(n) {\n  return n.every((t) => a(t));\n}\nfunction w(n) {\n  return !a(n);\n}\nfunction tn(...n) {\n  return n.find((t) => a(t)) ?? void 0;\n}\nconst en = (n) => m(n) ? n.length === 0 : Object.keys(n).length === 0, R = (n, t) => n.replace(\n  /<(\\w+)>/g,\n  (e, r) => {\n    const o = t[r];\n    if (w(o))\n      throw new Error(`Invalid variable expansion <${r}> in message format: ${n}`);\n    return o;\n  }\n);\nfunction f(...n) {\n  throw new Error(n.join(\"\"));\n}\nfunction rn(n, t) {\n  throw new Error(\n    R(n, t)\n  );\n}\nfunction on(n) {\n  throw n;\n}\nconst cn = (n, ...t) => l(n) ? n(...t) : n;\nfunction sn(...n) {\n}\nconst un = (n) => n, j = (n) => {\n  const t = n.toString().split(\".\");\n  return t.length < 2 ? 1 : Math.pow(10, t[1].length);\n}, p = (...n) => n.reduce(\n  (t, e) => {\n    const r = j(t), o = j(e);\n    return r > o ? r : o;\n  },\n  -1 / 0\n), fn = (...n) => n.reduce(\n  (t, e) => {\n    const r = p(t, e);\n    return t * r * (e * r) / (r * r);\n  },\n  1\n), ln = (...n) => n.reduce(\n  (t, e) => {\n    const r = p(t, e);\n    return t * r / (e * r);\n  }\n), an = (...n) => {\n  const t = p(...n);\n  return n.reduce(\n    (e, r) => e + t * r,\n    0\n  ) / t;\n}, dn = (...n) => {\n  const t = p(...n), [e, ...r] = n;\n  return r.reduce(\n    (o, c) => o - t * c,\n    e * t\n  ) / t;\n}, mn = (n, t, e) => Math.min(Math.max(n, t), e);\nfunction U() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nlet d = {\n  locale: U(),\n  currency: \"GBP\",\n  currencySign: \"£\",\n  thousands: \",\"\n};\nfunction pn(n) {\n  d = { ...d, ...n };\n}\nconst hn = (n, t, e = 1) => {\n  const o = t < n ? -Math.abs(e) : e;\n  return Array(1 + Math.floor(Math.abs((t - n) / e))).fill(n).map((c, i) => c + i * o);\n};\nfunction G(n, t = {}) {\n  return new Intl.NumberFormat(\n    t.locale,\n    t\n  ).format(n);\n}\nfunction gn(n, t = {}) {\n  return G(\n    n,\n    {\n      style: \"currency\",\n      currency: d.currency,\n      ...t\n    }\n  );\n}\nfunction H(n, t = d.thousands) {\n  if (w(n))\n    return \"\";\n  const e = n.toString().split(\".\"), r = /(\\d+)(\\d{3})/;\n  for (; r.test(e[0]); )\n    e[0] = e[0].replace(r, `$1${t}$2`);\n  return e.join(\".\");\n}\nfunction V(n, t = /,\\s*|\\s+/) {\n  return w(n) ? [] : s(n) ? n.length ? n.split(t) : [] : m(n) ? n : [n];\n}\nfunction W(n, t = !0, e = {}) {\n  return B(n) ? n : V(n).reduce(\n    (o, c) => (o[c] = l(t) ? t(c) : t, o),\n    e\n  );\n}\nfunction bn(n) {\n  return !s(n) || n.length === 0 ? [] : n.split(/\\s*\\n+\\s*/).filter(\n    function(e) {\n      return e.length > 0;\n    }\n  );\n}\nfunction v(n, t = \" \", e = t) {\n  const r = [...n], o = r.pop() ?? \"\";\n  return r.length ? [r.join(t), o].join(e) : o;\n}\nfunction yn(n, t = \", \", e = \" and \") {\n  return v(n, t, e);\n}\nfunction wn(n, t = \", \", e = \" or \") {\n  return v(n, t, e);\n}\nfunction h(n) {\n  return n.charAt(0).toUpperCase() + n.slice(1).toLowerCase();\n}\nfunction q(n) {\n  return n.replace(\n    // /(?:^|\\s)\\S/g,\n    /(\\w+)/g,\n    h\n  );\n}\nfunction $n(n) {\n  return n.split(\"/\").map(\n    // each segment can be like foo_bar which we convert to FooBar\n    (t) => t.split(\"_\").map(h).join(\"\")\n  ).join(\"/\");\n}\nfunction jn(n) {\n  return n.split(\"/\").map(\n    // each segment can be like foo_bar which we convert to fooBar\n    (t) => t.split(\"_\").map((e, r) => r ? h(e) : e).join(\"\")\n  ).join(\"/\");\n}\nfunction $(n, t = {}) {\n  const e = t[n];\n  if (a(e))\n    return e;\n  let r;\n  return n.match(/(ss?|sh|ch|x)$/) ? n + \"es\" : (r = n.match(/(.*?[^aeiou])y$/)) ? r[1] + \"ies\" : n.match(/([^s\\d\\W])$/) ? n + \"s\" : n;\n}\nfunction In(n, t = {}) {\n  const e = t[n];\n  return a(e) ? e : n.match(/(ss|sh|ch|x)es$/) ? n.replace(/es$/, \"\") : n.match(/([^aeiou])ies$/) ? n.replace(/ies$/, \"y\") : n.match(/([^s\\d\\W])s$/) ? n.replace(/s$/, \"\") : n;\n}\nfunction J(n, t, e, r = \"no\") {\n  return (n ? H(n) : r) + \" \" + (n === 1 ? t : e || $(t));\n}\nfunction Sn(n, t, e, r = \"No\") {\n  return J(n, t, e, r);\n}\nconst Fn = h, On = q, xn = $, Ln = $;\nfunction b(n) {\n  if (l(n))\n    return n;\n  if (D(n))\n    return (t) => n.test(t);\n  if (B(n))\n    return (t) => !!n[t];\n  if (m(n) || s(n)) {\n    const t = W(n);\n    return (e) => !!t[e];\n  } else\n    f(\"Invalid selector() specification: \" + n);\n}\nfunction Mn(n, t = {}) {\n  const e = t.include && b(t.include), r = t.exclude && b(t.exclude);\n  return Q(W(n)).reduce(\n    (o, [c, i]) => e && !e(c, i, n, o) || r && r(c, i, n, o) ? o : (t.key && (c = t.key(c, i, n, o)), t.value && (i = t.value(i, c, n, o)), {\n      ...o,\n      [c]: i\n    }),\n    {}\n  );\n}\nfunction Nn(n, t) {\n  return Object.keys(n).reduce(\n    (e, r) => ({\n      ...e,\n      [r]: t(n[r], r)\n    }),\n    {}\n  );\n}\nconst K = (n, t, e = {}) => {\n  let r = {};\n  const o = { delete: !1, ...e }, c = b(t);\n  return Object.keys(n).map(\n    (i) => {\n      if (c(i)) {\n        let u = n[i];\n        o.delete && delete n[i], o.key && (i = o.key(i)), o.value && (u = o.value(u)), r = {\n          ...r,\n          [i]: u\n        };\n      }\n    }\n  ), r;\n}, Tn = K, An = (n, t) => {\n  const e = n[t];\n  return delete n[t], e;\n}, En = Object.keys, Bn = Object.values, Q = Object.entries, g = (n, t) => l(t) ? t(n) : n[t], I = (n, t) => !!g(n, t), S = (n, t) => {\n  const e = g(n, t);\n  return E(e) ? e : s(e) && parseInt(e) || 0;\n}, F = (n, t) => {\n  const e = g(n, t);\n  return y(e) ? e : s(e) && parseFloat(e) || 0;\n}, O = (n, t) => (g(n, t) || \"\").toString(), x = (n) => (t, e) => S(t, n) - S(e, n), L = (n) => (t, e) => F(t, n) - F(e, n), M = (n) => (t, e) => {\n  const r = O(t, n).toLowerCase(), o = O(e, n).toLowerCase();\n  return r > o ? 1 : o > r ? -1 : 0;\n}, N = (n) => (t, e) => {\n  const r = I(t, n), o = I(e, n);\n  return r === o ? 0 : r ? 1 : -1;\n}, X = {\n  num: L,\n  int: x,\n  str: M,\n  bool: N,\n  number: L,\n  integer: x,\n  string: M,\n  boolean: N\n}, T = (n) => n, A = (n) => (t, e) => n(e, t), Y = {\n  asc: T,\n  desc: A,\n  ascending: T,\n  descending: A\n}, Cn = (n) => {\n  const e = V(n).map(\n    (r) => {\n      if (l(r))\n        return r;\n      if (s(r)) {\n        const o = r.match(/^(\\w+)(?::(\\w+))?(?::(\\w+))?$/) || f(`Invalid sort field: ${r}`), c = X[o[2] || \"string\"] || f(`Invalid sort type \"${o[2]}\" in sort field: ${r}`);\n        return (Y[o[3] || \"asc\"] || f(`Invalid sort order \"${o[3]}\" in sort field: ${r}`))(c(o[1]));\n      } else\n        f(`Invalid sort field: ${r}`);\n    }\n  );\n  return (r, o) => {\n    for (let c = 0; c < e.length; c++) {\n      const i = e[c], u = i(r, o);\n      if (u !== 0)\n        return u;\n    }\n    return 0;\n  };\n};\nfunction Vn(n, t = 300) {\n  let e;\n  return (...r) => {\n    clearTimeout(e), e = setTimeout(\n      () => n(...r),\n      t\n    );\n  };\n}\nfunction Wn(n) {\n  return new Promise((t) => setTimeout(t, n));\n}\nexport {\n  Sn as Inflect,\n  an as add,\n  T as ascendingOrder,\n  I as booleanField,\n  N as booleanSort,\n  h as capitalise,\n  q as capitaliseWords,\n  Fn as capitalize,\n  On as capitalizeWords,\n  mn as clamp,\n  H as commas,\n  gn as currency,\n  Vn as debounce,\n  U as defaultLocale,\n  A as descendingOrder,\n  ln as divide,\n  sn as doNothing,\n  Q as entries,\n  K as extract,\n  f as fail,\n  rn as failMsg,\n  tn as firstValue,\n  R as format,\n  G as formatNumber,\n  g as getField,\n  a as hasValue,\n  P as hasValues,\n  Mn as hash,\n  nn as haveValue,\n  un as identity,\n  J as inflect,\n  S as integerField,\n  x as integerSort,\n  m as isArray,\n  z as isBoolean,\n  en as isEmpty,\n  Z as isFloat,\n  l as isFunction,\n  E as isInteger,\n  C as isNull,\n  y as isNumber,\n  B as isObject,\n  D as isRegExp,\n  k as isSimple,\n  s as isString,\n  _ as isUndefined,\n  v as joinList,\n  yn as joinListAnd,\n  wn as joinListOr,\n  En as keys,\n  cn as maybeFunction,\n  Cn as multiSort,\n  fn as multiply,\n  w as noValue,\n  F as numberField,\n  L as numberSort,\n  Nn as objMap,\n  Tn as objSubset,\n  $ as plural,\n  xn as pluralise,\n  Ln as pluralize,\n  hn as range,\n  An as remove,\n  on as rethrow,\n  b as selector,\n  pn as setNumberDefaults,\n  In as singular,\n  Wn as sleep,\n  jn as snakeToCamel,\n  $n as snakeToStudly,\n  Y as sortOrders,\n  X as sortTypes,\n  W as splitHash,\n  bn as splitLines,\n  V as splitList,\n  O as stringField,\n  M as stringSort,\n  dn as subtract,\n  Bn as values\n};\n//# sourceMappingURL=badger-utils.js.map\n","export const SNIPPET = 'snippet'\nexport const EXAMPLE = 'example'\nexport const MATCH_SNIPPETS_PREFIX = /^[./]*snippets\\//\nexport const MATCH_EXAMPLES_PREFIX = /^[./]*examples\\//\nexport const LANGUAGE_EXTENSIONS = {\n  bash: 'bash',\n  css:  'css',\n  html: 'html',\n  js:   'javascript',\n  ts:   'typescript',\n  json: 'json',\n  jsx:  'jsx',\n  tsx:  'tsx',\n  md:   'markdown',\n  mdx:  'mdx',\n  scss: 'scss',\n  sh:   'bash',\n  yaml: 'yaml',\n}\n","import React from 'react'\nimport { Error } from '@abw/badger-react-ui'\nimport { capitalize } from '@abw/badger-utils'\nimport { SNIPPET } from '@/constants/Code.jsx'\n\nexport const CodeError = ({\n  file,\n  message,\n  children,\n  title='Failed to load source code'\n}) =>\n  <Error border icon=\"exclamation\" title={title}>\n    <p className=\"mar-t-none\">\n      {message || children}\n    </p>\n    { file &&\n      <div className=\"small\">\n        <b>File path:</b> <code>{file}</code>\n      </div>\n    }\n  </Error>\n\nexport const InvalidNameError = ({\n  file,\n  type=SNIPPET\n}) =>\n  <CodeError\n    file={file}\n    message={`Invalid ${type} file specified.`}\n  />\n\nexport const UnknownExtensionError = ({\n  file,\n  ext,\n  type=SNIPPET,\n  component=capitalize(type)\n}) =>\n  <CodeError\n    file={file}\n  >\n    Cannot determine language from {type} file extension{' '}\n    <code>.{ext}</code>. Please specify the <code>language</code>{' '}\n    as a property on the <code>{component}</code> component.\n  </CodeError>\n\nexport const NoExtensionError = ({\n  file,\n  type=SNIPPET,\n  component=capitalize(type)\n}) =>\n  <CodeError\n    file={file}\n  >\n    No {type} file extension to determine language from.  Please add a file\n    extension or specify the <code>language</code> as a property on the{' '}\n    <code>{component}</code> component.\n  </CodeError>\n\nexport default CodeError","import React from 'react'\nimport { Spinner } from '@abw/badger-react-ui'\n\nconst Loading = ({\n  file,\n  type='code',\n  loading=`Loading ${type}...`\n}) =>\n  <div className=\"source text-center pad-v-8\">\n    <Spinner size=\"x4\" color=\"brand\"/>\n    <div className=\"text-center\">\n      <div className=\"larger\">\n        {loading}\n      </div>\n      <div className=\"smaller\">\n        {file}\n      </div>\n    </div>\n  </div>\n\nexport default Loading","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nexport { ShikiError };\n","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nfunction getHeapMax() {\n  return 2147483648;\n}\nfunction _emscripten_get_now() {\n  return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\nasync function main(init) {\n  let wasmMemory;\n  let buffer;\n  const binding = {};\n  function updateGlobalBufferAndViews(buf) {\n    buffer = buf;\n    binding.HEAPU8 = new Uint8Array(buf);\n    binding.HEAPU32 = new Uint32Array(buf);\n  }\n  function _emscripten_memcpy_big(dest, src, num) {\n    binding.HEAPU8.copyWithin(dest, src, src + num);\n  }\n  function emscripten_realloc_buffer(size) {\n    try {\n      wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n      updateGlobalBufferAndViews(wasmMemory.buffer);\n      return 1;\n    } catch {\n    }\n  }\n  function _emscripten_resize_heap(requestedSize) {\n    const oldSize = binding.HEAPU8.length;\n    requestedSize = requestedSize >>> 0;\n    const maxHeapSize = getHeapMax();\n    if (requestedSize > maxHeapSize)\n      return false;\n    for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n      let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n      overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n      const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n      const replacement = emscripten_realloc_buffer(newSize);\n      if (replacement)\n        return true;\n    }\n    return false;\n  }\n  const UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0;\n  function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n    const endIdx = idx + maxBytesToRead;\n    let endPtr = idx;\n    while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n      ++endPtr;\n    if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n      return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n    }\n    let str = \"\";\n    while (idx < endPtr) {\n      let u0 = heapOrArray[idx++];\n      if (!(u0 & 128)) {\n        str += String.fromCharCode(u0);\n        continue;\n      }\n      const u1 = heapOrArray[idx++] & 63;\n      if ((u0 & 224) === 192) {\n        str += String.fromCharCode((u0 & 31) << 6 | u1);\n        continue;\n      }\n      const u2 = heapOrArray[idx++] & 63;\n      if ((u0 & 240) === 224) {\n        u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n      } else {\n        u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;\n      }\n      if (u0 < 65536) {\n        str += String.fromCharCode(u0);\n      } else {\n        const ch = u0 - 65536;\n        str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n      }\n    }\n    return str;\n  }\n  function UTF8ToString(ptr, maxBytesToRead) {\n    return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : \"\";\n  }\n  const asmLibraryArg = {\n    emscripten_get_now: _emscripten_get_now,\n    emscripten_memcpy_big: _emscripten_memcpy_big,\n    emscripten_resize_heap: _emscripten_resize_heap,\n    fd_write: () => 0\n  };\n  async function createWasm() {\n    const info = {\n      env: asmLibraryArg,\n      wasi_snapshot_preview1: asmLibraryArg\n    };\n    const exports = await init(info);\n    wasmMemory = exports.memory;\n    updateGlobalBufferAndViews(wasmMemory.buffer);\n    Object.assign(binding, exports);\n    binding.UTF8ToString = UTF8ToString;\n  }\n  await createWasm();\n  return binding;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n  __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n  return value;\n};\nlet onigBinding = null;\nfunction throwLastOnigError(onigBinding2) {\n  throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));\n}\nclass UtfString {\n  constructor(str) {\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16Value\");\n    __publicField(this, \"utf8Value\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    const utf16Length = str.length;\n    const utf8Length = UtfString._utf8ByteLength(str);\n    const computeIndicesMapping = utf8Length !== utf16Length;\n    const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n    if (computeIndicesMapping)\n      utf16OffsetToUtf8[utf16Length] = utf8Length;\n    const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n    if (computeIndicesMapping)\n      utf8OffsetToUtf16[utf8Length] = utf16Length;\n    const utf8Value = new Uint8Array(utf8Length);\n    let i8 = 0;\n    for (let i16 = 0; i16 < utf16Length; i16++) {\n      const charCode = str.charCodeAt(i16);\n      let codePoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i16 + 1 < utf16Length) {\n          const nextCharCode = str.charCodeAt(i16 + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (computeIndicesMapping) {\n        utf16OffsetToUtf8[i16] = i8;\n        if (wasSurrogatePair)\n          utf16OffsetToUtf8[i16 + 1] = i8;\n        if (codePoint <= 127) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n        } else if (codePoint <= 2047) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n        } else if (codePoint <= 65535) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n        } else {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n          utf8OffsetToUtf16[i8 + 3] = i16;\n        }\n      }\n      if (codePoint <= 127) {\n        utf8Value[i8++] = codePoint;\n      } else if (codePoint <= 2047) {\n        utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else if (codePoint <= 65535) {\n        utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else {\n        utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;\n        utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      }\n      if (wasSurrogatePair)\n        i16++;\n    }\n    this.utf16Length = utf16Length;\n    this.utf8Length = utf8Length;\n    this.utf16Value = str;\n    this.utf8Value = utf8Value;\n    this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n  }\n  static _utf8ByteLength(str) {\n    let result = 0;\n    for (let i = 0, len = str.length; i < len; i++) {\n      const charCode = str.charCodeAt(i);\n      let codepoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i + 1 < len) {\n          const nextCharCode = str.charCodeAt(i + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (codepoint <= 127)\n        result += 1;\n      else if (codepoint <= 2047)\n        result += 2;\n      else if (codepoint <= 65535)\n        result += 3;\n      else\n        result += 4;\n      if (wasSurrogatePair)\n        i++;\n    }\n    return result;\n  }\n  createString(onigBinding2) {\n    const result = onigBinding2.omalloc(this.utf8Length);\n    onigBinding2.HEAPU8.set(this.utf8Value, result);\n    return result;\n  }\n}\nconst _OnigString = class {\n  constructor(str) {\n    __publicField(this, \"id\", ++_OnigString.LAST_ID);\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"content\");\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    __publicField(this, \"ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    this._onigBinding = onigBinding;\n    this.content = str;\n    const utfString = new UtfString(str);\n    this.utf16Length = utfString.utf16Length;\n    this.utf8Length = utfString.utf8Length;\n    this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n    if (this.utf8Length < 1e4 && !_OnigString._sharedPtrInUse) {\n      if (!_OnigString._sharedPtr)\n        _OnigString._sharedPtr = onigBinding.omalloc(1e4);\n      _OnigString._sharedPtrInUse = true;\n      onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString._sharedPtr);\n      this.ptr = _OnigString._sharedPtr;\n    } else {\n      this.ptr = utfString.createString(onigBinding);\n    }\n  }\n  convertUtf8OffsetToUtf16(utf8Offset) {\n    if (this.utf8OffsetToUtf16) {\n      if (utf8Offset < 0)\n        return 0;\n      if (utf8Offset > this.utf8Length)\n        return this.utf16Length;\n      return this.utf8OffsetToUtf16[utf8Offset];\n    }\n    return utf8Offset;\n  }\n  convertUtf16OffsetToUtf8(utf16Offset) {\n    if (this.utf16OffsetToUtf8) {\n      if (utf16Offset < 0)\n        return 0;\n      if (utf16Offset > this.utf16Length)\n        return this.utf8Length;\n      return this.utf16OffsetToUtf8[utf16Offset];\n    }\n    return utf16Offset;\n  }\n  dispose() {\n    if (this.ptr === _OnigString._sharedPtr)\n      _OnigString._sharedPtrInUse = false;\n    else\n      this._onigBinding.ofree(this.ptr);\n  }\n};\nlet OnigString = _OnigString;\n__publicField(OnigString, \"LAST_ID\", 0);\n__publicField(OnigString, \"_sharedPtr\", 0);\n// a pointer to a string of 10000 bytes\n__publicField(OnigString, \"_sharedPtrInUse\", false);\nclass OnigScanner {\n  constructor(patterns) {\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"_ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    const strPtrsArr = [];\n    const strLenArr = [];\n    for (let i = 0, len = patterns.length; i < len; i++) {\n      const utfString = new UtfString(patterns[i]);\n      strPtrsArr[i] = utfString.createString(onigBinding);\n      strLenArr[i] = utfString.utf8Length;\n    }\n    const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n    const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n    const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n    for (let i = 0, len = patterns.length; i < len; i++)\n      onigBinding.ofree(strPtrsArr[i]);\n    onigBinding.ofree(strLenPtr);\n    onigBinding.ofree(strPtrsPtr);\n    if (scannerPtr === 0)\n      throwLastOnigError(onigBinding);\n    this._onigBinding = onigBinding;\n    this._ptr = scannerPtr;\n  }\n  dispose() {\n    this._onigBinding.freeOnigScanner(this._ptr);\n  }\n  findNextMatchSync(string, startPosition, arg) {\n    let options = 0 /* None */;\n    if (typeof arg === \"number\") {\n      options = arg;\n    }\n    if (typeof string === \"string\") {\n      string = new OnigString(string);\n      const result = this._findNextMatchSync(string, startPosition, false, options);\n      string.dispose();\n      return result;\n    }\n    return this._findNextMatchSync(string, startPosition, false, options);\n  }\n  _findNextMatchSync(string, startPosition, debugCall, options) {\n    const onigBinding2 = this._onigBinding;\n    const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n    if (resultPtr === 0) {\n      return null;\n    }\n    const HEAPU32 = onigBinding2.HEAPU32;\n    let offset = resultPtr / 4;\n    const index = HEAPU32[offset++];\n    const count = HEAPU32[offset++];\n    const captureIndices = [];\n    for (let i = 0; i < count; i++) {\n      const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      captureIndices[i] = {\n        start: beg,\n        end,\n        length: end - beg\n      };\n    }\n    return {\n      index,\n      captureIndices\n    };\n  }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.instantiator === \"function\";\n}\nfunction isInstantiatorModule(dataOrOptions) {\n  return typeof dataOrOptions.default === \"function\";\n}\nfunction isDataOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.data !== \"undefined\";\n}\nfunction isResponse(dataOrOptions) {\n  return typeof Response !== \"undefined\" && dataOrOptions instanceof Response;\n}\nfunction isArrayBuffer(data) {\n  return typeof ArrayBuffer !== \"undefined\" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== \"undefined\" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== \"undefined\" && data instanceof SharedArrayBuffer || typeof Uint32Array !== \"undefined\" && data instanceof Uint32Array;\n}\nlet initPromise;\nfunction loadWasm(options) {\n  if (initPromise)\n    return initPromise;\n  async function _load() {\n    onigBinding = await main(async (info) => {\n      let instance = options;\n      instance = await instance;\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (isInstantiatorOptionsObject(instance)) {\n        instance = await instance.instantiator(info);\n      } else if (isInstantiatorModule(instance)) {\n        instance = await instance.default(info);\n      } else {\n        if (isDataOptionsObject(instance))\n          instance = instance.data;\n        if (isResponse(instance)) {\n          if (typeof WebAssembly.instantiateStreaming === \"function\")\n            instance = await _makeResponseStreamingLoader(instance)(info);\n          else\n            instance = await _makeResponseNonStreamingLoader(instance)(info);\n        } else if (isArrayBuffer(instance)) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (instance instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (\"default\" in instance && instance.default instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance.default)(info);\n        }\n      }\n      if (\"instance\" in instance)\n        instance = instance.instance;\n      if (\"exports\" in instance)\n        instance = instance.exports;\n      return instance;\n    });\n  }\n  initPromise = _load();\n  return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n  return (importObject) => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n  return (importObject) => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n  return async (importObject) => {\n    const arrayBuffer = await data.arrayBuffer();\n    return WebAssembly.instantiate(arrayBuffer, importObject);\n  };\n}\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n  _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n  return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n  if (options)\n    await loadWasm(options);\n  return {\n    createScanner(patterns) {\n      return new OnigScanner(patterns.map((p) => typeof p === \"string\" ? p : p.source));\n    },\n    createString(s) {\n      return new OnigString(s);\n    }\n  };\n}\nasync function createWasmOnigEngine(options) {\n  return createOnigurumaEngine(options);\n}\n\nexport { createOnigurumaEngine, createWasmOnigEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","// src/utils.ts\nfunction clone(something) {\n  return doClone(something);\n}\nfunction doClone(something) {\n  if (Array.isArray(something)) {\n    return cloneArray(something);\n  }\n  if (something instanceof RegExp) {\n    return something;\n  }\n  if (typeof something === \"object\") {\n    return cloneObj(something);\n  }\n  return something;\n}\nfunction cloneArray(arr) {\n  let r = [];\n  for (let i = 0, len = arr.length; i < len; i++) {\n    r[i] = doClone(arr[i]);\n  }\n  return r;\n}\nfunction cloneObj(obj) {\n  let r = {};\n  for (let key in obj) {\n    r[key] = doClone(obj[key]);\n  }\n  return r;\n}\nfunction mergeObjects(target, ...sources) {\n  sources.forEach((source) => {\n    for (let key in source) {\n      target[key] = source[key];\n    }\n  });\n  return target;\n}\nfunction basename(path) {\n  const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n  if (idx === 0) {\n    return path;\n  } else if (~idx === path.length - 1) {\n    return basename(path.substring(0, path.length - 1));\n  } else {\n    return path.substr(~idx + 1);\n  }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n  static hasCaptures(regexSource) {\n    if (regexSource === null) {\n      return false;\n    }\n    CAPTURING_REGEX_SOURCE.lastIndex = 0;\n    return CAPTURING_REGEX_SOURCE.test(regexSource);\n  }\n  static replaceCaptures(regexSource, captureSource, captureIndices) {\n    return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n      let capture = captureIndices[parseInt(index || commandIndex, 10)];\n      if (capture) {\n        let result = captureSource.substring(capture.start, capture.end);\n        while (result[0] === \".\") {\n          result = result.substring(1);\n        }\n        switch (command) {\n          case \"downcase\":\n            return result.toLowerCase();\n          case \"upcase\":\n            return result.toUpperCase();\n          default:\n            return result;\n        }\n      } else {\n        return match;\n      }\n    });\n  }\n};\nfunction strcmp(a, b) {\n  if (a < b) {\n    return -1;\n  }\n  if (a > b) {\n    return 1;\n  }\n  return 0;\n}\nfunction strArrCmp(a, b) {\n  if (a === null && b === null) {\n    return 0;\n  }\n  if (!a) {\n    return -1;\n  }\n  if (!b) {\n    return 1;\n  }\n  let len1 = a.length;\n  let len2 = b.length;\n  if (len1 === len2) {\n    for (let i = 0; i < len1; i++) {\n      let res = strcmp(a[i], b[i]);\n      if (res !== 0) {\n        return res;\n      }\n    }\n    return 0;\n  }\n  return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n  if (/^#[0-9a-f]{6}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{8}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{3}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{4}$/i.test(hex)) {\n    return true;\n  }\n  return false;\n}\nfunction escapeRegExpCharacters(value) {\n  return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n  constructor(fn) {\n    this.fn = fn;\n  }\n  cache = /* @__PURE__ */ new Map();\n  get(key) {\n    if (this.cache.has(key)) {\n      return this.cache.get(key);\n    }\n    const value = this.fn(key);\n    this.cache.set(key, value);\n    return value;\n  }\n};\n\n// src/theme.ts\nvar Theme = class {\n  constructor(_colorMap, _defaults, _root) {\n    this._colorMap = _colorMap;\n    this._defaults = _defaults;\n    this._root = _root;\n  }\n  static createFromRawTheme(source, colorMap) {\n    return this.createFromParsedTheme(parseTheme(source), colorMap);\n  }\n  static createFromParsedTheme(source, colorMap) {\n    return resolveParsedThemeRules(source, colorMap);\n  }\n  _cachedMatchRoot = new CachedFn(\n    (scopeName) => this._root.match(scopeName)\n  );\n  getColorMap() {\n    return this._colorMap.getColorMap();\n  }\n  getDefaults() {\n    return this._defaults;\n  }\n  match(scopePath) {\n    if (scopePath === null) {\n      return this._defaults;\n    }\n    const scopeName = scopePath.scopeName;\n    const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n    const effectiveRule = matchingTrieElements.find(\n      (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n    );\n    if (!effectiveRule) {\n      return null;\n    }\n    return new StyleAttributes(\n      effectiveRule.fontStyle,\n      effectiveRule.foreground,\n      effectiveRule.background\n    );\n  }\n};\nvar ScopeStack = class _ScopeStack {\n  constructor(parent, scopeName) {\n    this.parent = parent;\n    this.scopeName = scopeName;\n  }\n  static push(path, scopeNames) {\n    for (const name of scopeNames) {\n      path = new _ScopeStack(path, name);\n    }\n    return path;\n  }\n  static from(...segments) {\n    let result = null;\n    for (let i = 0; i < segments.length; i++) {\n      result = new _ScopeStack(result, segments[i]);\n    }\n    return result;\n  }\n  push(scopeName) {\n    return new _ScopeStack(this, scopeName);\n  }\n  getSegments() {\n    let item = this;\n    const result = [];\n    while (item) {\n      result.push(item.scopeName);\n      item = item.parent;\n    }\n    result.reverse();\n    return result;\n  }\n  toString() {\n    return this.getSegments().join(\" \");\n  }\n  extends(other) {\n    if (this === other) {\n      return true;\n    }\n    if (this.parent === null) {\n      return false;\n    }\n    return this.parent.extends(other);\n  }\n  getExtensionIfDefined(base) {\n    const result = [];\n    let item = this;\n    while (item && item !== base) {\n      result.push(item.scopeName);\n      item = item.parent;\n    }\n    return item === base ? result.reverse() : void 0;\n  }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n  if (parentScopes.length === 0) {\n    return true;\n  }\n  for (let index = 0; index < parentScopes.length; index++) {\n    let scopePattern = parentScopes[index];\n    let scopeMustMatch = false;\n    if (scopePattern === \">\") {\n      if (index === parentScopes.length - 1) {\n        return false;\n      }\n      scopePattern = parentScopes[++index];\n      scopeMustMatch = true;\n    }\n    while (scopePath) {\n      if (_matchesScope(scopePath.scopeName, scopePattern)) {\n        break;\n      }\n      if (scopeMustMatch) {\n        return false;\n      }\n      scopePath = scopePath.parent;\n    }\n    if (!scopePath) {\n      return false;\n    }\n    scopePath = scopePath.parent;\n  }\n  return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n  return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n  constructor(fontStyle, foregroundId, backgroundId) {\n    this.fontStyle = fontStyle;\n    this.foregroundId = foregroundId;\n    this.backgroundId = backgroundId;\n  }\n};\nfunction parseTheme(source) {\n  if (!source) {\n    return [];\n  }\n  if (!source.settings || !Array.isArray(source.settings)) {\n    return [];\n  }\n  let settings = source.settings;\n  let result = [], resultLen = 0;\n  for (let i = 0, len = settings.length; i < len; i++) {\n    let entry = settings[i];\n    if (!entry.settings) {\n      continue;\n    }\n    let scopes;\n    if (typeof entry.scope === \"string\") {\n      let _scope = entry.scope;\n      _scope = _scope.replace(/^[,]+/, \"\");\n      _scope = _scope.replace(/[,]+$/, \"\");\n      scopes = _scope.split(\",\");\n    } else if (Array.isArray(entry.scope)) {\n      scopes = entry.scope;\n    } else {\n      scopes = [\"\"];\n    }\n    let fontStyle = -1 /* NotSet */;\n    if (typeof entry.settings.fontStyle === \"string\") {\n      fontStyle = 0 /* None */;\n      let segments = entry.settings.fontStyle.split(\" \");\n      for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n        let segment = segments[j];\n        switch (segment) {\n          case \"italic\":\n            fontStyle = fontStyle | 1 /* Italic */;\n            break;\n          case \"bold\":\n            fontStyle = fontStyle | 2 /* Bold */;\n            break;\n          case \"underline\":\n            fontStyle = fontStyle | 4 /* Underline */;\n            break;\n          case \"strikethrough\":\n            fontStyle = fontStyle | 8 /* Strikethrough */;\n            break;\n        }\n      }\n    }\n    let foreground = null;\n    if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n      foreground = entry.settings.foreground;\n    }\n    let background = null;\n    if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n      background = entry.settings.background;\n    }\n    for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n      let _scope = scopes[j].trim();\n      let segments = _scope.split(\" \");\n      let scope = segments[segments.length - 1];\n      let parentScopes = null;\n      if (segments.length > 1) {\n        parentScopes = segments.slice(0, segments.length - 1);\n        parentScopes.reverse();\n      }\n      result[resultLen++] = new ParsedThemeRule(\n        scope,\n        parentScopes,\n        i,\n        fontStyle,\n        foreground,\n        background\n      );\n    }\n  }\n  return result;\n}\nvar ParsedThemeRule = class {\n  constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n    this.scope = scope;\n    this.parentScopes = parentScopes;\n    this.index = index;\n    this.fontStyle = fontStyle;\n    this.foreground = foreground;\n    this.background = background;\n  }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n  FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n  FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n  FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n  FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n  FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n  FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n  return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n  parsedThemeRules.sort((a, b) => {\n    let r = strcmp(a.scope, b.scope);\n    if (r !== 0) {\n      return r;\n    }\n    r = strArrCmp(a.parentScopes, b.parentScopes);\n    if (r !== 0) {\n      return r;\n    }\n    return a.index - b.index;\n  });\n  let defaultFontStyle = 0 /* None */;\n  let defaultForeground = \"#000000\";\n  let defaultBackground = \"#ffffff\";\n  while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n    let incomingDefaults = parsedThemeRules.shift();\n    if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n      defaultFontStyle = incomingDefaults.fontStyle;\n    }\n    if (incomingDefaults.foreground !== null) {\n      defaultForeground = incomingDefaults.foreground;\n    }\n    if (incomingDefaults.background !== null) {\n      defaultBackground = incomingDefaults.background;\n    }\n  }\n  let colorMap = new ColorMap(_colorMap);\n  let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n  let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n  for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n    let rule = parsedThemeRules[i];\n    root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n  }\n  return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n  _isFrozen;\n  _lastColorId;\n  _id2color;\n  _color2id;\n  constructor(_colorMap) {\n    this._lastColorId = 0;\n    this._id2color = [];\n    this._color2id = /* @__PURE__ */ Object.create(null);\n    if (Array.isArray(_colorMap)) {\n      this._isFrozen = true;\n      for (let i = 0, len = _colorMap.length; i < len; i++) {\n        this._color2id[_colorMap[i]] = i;\n        this._id2color[i] = _colorMap[i];\n      }\n    } else {\n      this._isFrozen = false;\n    }\n  }\n  getId(color) {\n    if (color === null) {\n      return 0;\n    }\n    color = color.toUpperCase();\n    let value = this._color2id[color];\n    if (value) {\n      return value;\n    }\n    if (this._isFrozen) {\n      throw new Error(`Missing color in color map - ${color}`);\n    }\n    value = ++this._lastColorId;\n    this._color2id[color] = value;\n    this._id2color[value] = color;\n    return value;\n  }\n  getColorMap() {\n    return this._id2color.slice(0);\n  }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n  scopeDepth;\n  parentScopes;\n  fontStyle;\n  foreground;\n  background;\n  constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n    this.scopeDepth = scopeDepth;\n    this.parentScopes = parentScopes || emptyParentScopes;\n    this.fontStyle = fontStyle;\n    this.foreground = foreground;\n    this.background = background;\n  }\n  clone() {\n    return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n  }\n  static cloneArr(arr) {\n    let r = [];\n    for (let i = 0, len = arr.length; i < len; i++) {\n      r[i] = arr[i].clone();\n    }\n    return r;\n  }\n  acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n    if (this.scopeDepth > scopeDepth) {\n      console.log(\"how did this happen?\");\n    } else {\n      this.scopeDepth = scopeDepth;\n    }\n    if (fontStyle !== -1 /* NotSet */) {\n      this.fontStyle = fontStyle;\n    }\n    if (foreground !== 0) {\n      this.foreground = foreground;\n    }\n    if (background !== 0) {\n      this.background = background;\n    }\n  }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n  constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n    this._mainRule = _mainRule;\n    this._children = _children;\n    this._rulesWithParentScopes = rulesWithParentScopes;\n  }\n  _rulesWithParentScopes;\n  static _cmpBySpecificity(a, b) {\n    if (a.scopeDepth !== b.scopeDepth) {\n      return b.scopeDepth - a.scopeDepth;\n    }\n    let aParentIndex = 0;\n    let bParentIndex = 0;\n    while (true) {\n      if (a.parentScopes[aParentIndex] === \">\") {\n        aParentIndex++;\n      }\n      if (b.parentScopes[bParentIndex] === \">\") {\n        bParentIndex++;\n      }\n      if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n        break;\n      }\n      const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n      if (parentScopeLengthDiff !== 0) {\n        return parentScopeLengthDiff;\n      }\n      aParentIndex++;\n      bParentIndex++;\n    }\n    return b.parentScopes.length - a.parentScopes.length;\n  }\n  match(scope) {\n    if (scope !== \"\") {\n      let dotIndex = scope.indexOf(\".\");\n      let head;\n      let tail;\n      if (dotIndex === -1) {\n        head = scope;\n        tail = \"\";\n      } else {\n        head = scope.substring(0, dotIndex);\n        tail = scope.substring(dotIndex + 1);\n      }\n      if (this._children.hasOwnProperty(head)) {\n        return this._children[head].match(tail);\n      }\n    }\n    const rules = this._rulesWithParentScopes.concat(this._mainRule);\n    rules.sort(_ThemeTrieElement._cmpBySpecificity);\n    return rules;\n  }\n  insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n    if (scope === \"\") {\n      this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n      return;\n    }\n    let dotIndex = scope.indexOf(\".\");\n    let head;\n    let tail;\n    if (dotIndex === -1) {\n      head = scope;\n      tail = \"\";\n    } else {\n      head = scope.substring(0, dotIndex);\n      tail = scope.substring(dotIndex + 1);\n    }\n    let child;\n    if (this._children.hasOwnProperty(head)) {\n      child = this._children[head];\n    } else {\n      child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n      this._children[head] = child;\n    }\n    child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n  }\n  _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n    if (parentScopes === null) {\n      this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n      return;\n    }\n    for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n      let rule = this._rulesWithParentScopes[i];\n      if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n        rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n        return;\n      }\n    }\n    if (fontStyle === -1 /* NotSet */) {\n      fontStyle = this._mainRule.fontStyle;\n    }\n    if (foreground === 0) {\n      foreground = this._mainRule.foreground;\n    }\n    if (background === 0) {\n      background = this._mainRule.background;\n    }\n    this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n  }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n  static toBinaryStr(encodedTokenAttributes) {\n    return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n  }\n  static print(encodedTokenAttributes) {\n    const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n    const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n    const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n    const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n    const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n    console.log({\n      languageId,\n      tokenType,\n      fontStyle,\n      foreground,\n      background\n    });\n  }\n  static getLanguageId(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n  }\n  static getTokenType(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n  }\n  static containsBalancedBrackets(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n  }\n  static getFontStyle(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n  }\n  static getForeground(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n  }\n  static getBackground(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n  }\n  /**\n   * Updates the fields in `metadata`.\n   * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n   */\n  static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n    let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n    let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n    let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n    let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n    let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n    let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n    if (languageId !== 0) {\n      _languageId = languageId;\n    }\n    if (tokenType !== 8 /* NotSet */) {\n      _tokenType = fromOptionalTokenType(tokenType);\n    }\n    if (containsBalancedBrackets !== null) {\n      _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n    }\n    if (fontStyle !== -1 /* NotSet */) {\n      _fontStyle = fontStyle;\n    }\n    if (foreground !== 0) {\n      _foreground = foreground;\n    }\n    if (background !== 0) {\n      _background = background;\n    }\n    return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n  }\n};\nfunction toOptionalTokenType(standardType) {\n  return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n  return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n  const results = [];\n  const tokenizer = newTokenizer(selector);\n  let token = tokenizer.next();\n  while (token !== null) {\n    let priority = 0;\n    if (token.length === 2 && token.charAt(1) === \":\") {\n      switch (token.charAt(0)) {\n        case \"R\":\n          priority = 1;\n          break;\n        case \"L\":\n          priority = -1;\n          break;\n        default:\n          console.log(`Unknown priority ${token} in scope selector`);\n      }\n      token = tokenizer.next();\n    }\n    let matcher = parseConjunction();\n    results.push({ matcher, priority });\n    if (token !== \",\") {\n      break;\n    }\n    token = tokenizer.next();\n  }\n  return results;\n  function parseOperand() {\n    if (token === \"-\") {\n      token = tokenizer.next();\n      const expressionToNegate = parseOperand();\n      return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n    }\n    if (token === \"(\") {\n      token = tokenizer.next();\n      const expressionInParents = parseInnerExpression();\n      if (token === \")\") {\n        token = tokenizer.next();\n      }\n      return expressionInParents;\n    }\n    if (isIdentifier(token)) {\n      const identifiers = [];\n      do {\n        identifiers.push(token);\n        token = tokenizer.next();\n      } while (isIdentifier(token));\n      return (matcherInput) => matchesName(identifiers, matcherInput);\n    }\n    return null;\n  }\n  function parseConjunction() {\n    const matchers = [];\n    let matcher = parseOperand();\n    while (matcher) {\n      matchers.push(matcher);\n      matcher = parseOperand();\n    }\n    return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n  }\n  function parseInnerExpression() {\n    const matchers = [];\n    let matcher = parseConjunction();\n    while (matcher) {\n      matchers.push(matcher);\n      if (token === \"|\" || token === \",\") {\n        do {\n          token = tokenizer.next();\n        } while (token === \"|\" || token === \",\");\n      } else {\n        break;\n      }\n      matcher = parseConjunction();\n    }\n    return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n  }\n}\nfunction isIdentifier(token) {\n  return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n  let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n  let match = regex.exec(input);\n  return {\n    next: () => {\n      if (!match) {\n        return null;\n      }\n      const res = match[0];\n      match = regex.exec(input);\n      return res;\n    }\n  };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n  FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n  FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n  FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n  FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n  FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n  return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n  if (typeof str.dispose === \"function\") {\n    str.dispose();\n  }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n  constructor(scopeName) {\n    this.scopeName = scopeName;\n  }\n  toKey() {\n    return this.scopeName;\n  }\n};\nvar TopLevelRepositoryRuleReference = class {\n  constructor(scopeName, ruleName) {\n    this.scopeName = scopeName;\n    this.ruleName = ruleName;\n  }\n  toKey() {\n    return `${this.scopeName}#${this.ruleName}`;\n  }\n};\nvar ExternalReferenceCollector = class {\n  _references = [];\n  _seenReferenceKeys = /* @__PURE__ */ new Set();\n  get references() {\n    return this._references;\n  }\n  visitedRule = /* @__PURE__ */ new Set();\n  add(reference) {\n    const key = reference.toKey();\n    if (this._seenReferenceKeys.has(key)) {\n      return;\n    }\n    this._seenReferenceKeys.add(key);\n    this._references.push(reference);\n  }\n};\nvar ScopeDependencyProcessor = class {\n  constructor(repo, initialScopeName) {\n    this.repo = repo;\n    this.initialScopeName = initialScopeName;\n    this.seenFullScopeRequests.add(this.initialScopeName);\n    this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n  }\n  seenFullScopeRequests = /* @__PURE__ */ new Set();\n  seenPartialScopeRequests = /* @__PURE__ */ new Set();\n  Q;\n  processQueue() {\n    const q = this.Q;\n    this.Q = [];\n    const deps = new ExternalReferenceCollector();\n    for (const dep of q) {\n      collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n    }\n    for (const dep of deps.references) {\n      if (dep instanceof TopLevelRuleReference) {\n        if (this.seenFullScopeRequests.has(dep.scopeName)) {\n          continue;\n        }\n        this.seenFullScopeRequests.add(dep.scopeName);\n        this.Q.push(dep);\n      } else {\n        if (this.seenFullScopeRequests.has(dep.scopeName)) {\n          continue;\n        }\n        if (this.seenPartialScopeRequests.has(dep.toKey())) {\n          continue;\n        }\n        this.seenPartialScopeRequests.add(dep.toKey());\n        this.Q.push(dep);\n      }\n    }\n  }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n  const selfGrammar = repo.lookup(reference.scopeName);\n  if (!selfGrammar) {\n    if (reference.scopeName === baseGrammarScopeName) {\n      throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n    }\n    return;\n  }\n  const baseGrammar = repo.lookup(baseGrammarScopeName);\n  if (reference instanceof TopLevelRuleReference) {\n    collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n  } else {\n    collectExternalReferencesInTopLevelRepositoryRule(\n      reference.ruleName,\n      { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n      result\n    );\n  }\n  const injections = repo.injections(reference.scopeName);\n  if (injections) {\n    for (const injection of injections) {\n      result.add(new TopLevelRuleReference(injection));\n    }\n  }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n  if (context.repository && context.repository[ruleName]) {\n    const rule = context.repository[ruleName];\n    collectExternalReferencesInRules([rule], context, result);\n  }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n  if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n    collectExternalReferencesInRules(\n      context.selfGrammar.patterns,\n      { ...context, repository: context.selfGrammar.repository },\n      result\n    );\n  }\n  if (context.selfGrammar.injections) {\n    collectExternalReferencesInRules(\n      Object.values(context.selfGrammar.injections),\n      { ...context, repository: context.selfGrammar.repository },\n      result\n    );\n  }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n  for (const rule of rules) {\n    if (result.visitedRule.has(rule)) {\n      continue;\n    }\n    result.visitedRule.add(rule);\n    const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n    if (Array.isArray(rule.patterns)) {\n      collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n    }\n    const include = rule.include;\n    if (!include) {\n      continue;\n    }\n    const reference = parseInclude(include);\n    switch (reference.kind) {\n      case 0 /* Base */:\n        collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n        break;\n      case 1 /* Self */:\n        collectExternalReferencesInTopLevelRule(context, result);\n        break;\n      case 2 /* RelativeReference */:\n        collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n        break;\n      case 3 /* TopLevelReference */:\n      case 4 /* TopLevelRepositoryReference */:\n        const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n        if (selfGrammar) {\n          const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n          if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n            collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n          } else {\n            collectExternalReferencesInTopLevelRule(newContext, result);\n          }\n        } else {\n          if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n            result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n          } else {\n            result.add(new TopLevelRuleReference(reference.scopeName));\n          }\n        }\n        break;\n    }\n  }\n}\nvar BaseReference = class {\n  kind = 0 /* Base */;\n};\nvar SelfReference = class {\n  kind = 1 /* Self */;\n};\nvar RelativeReference = class {\n  constructor(ruleName) {\n    this.ruleName = ruleName;\n  }\n  kind = 2 /* RelativeReference */;\n};\nvar TopLevelReference = class {\n  constructor(scopeName) {\n    this.scopeName = scopeName;\n  }\n  kind = 3 /* TopLevelReference */;\n};\nvar TopLevelRepositoryReference = class {\n  constructor(scopeName, ruleName) {\n    this.scopeName = scopeName;\n    this.ruleName = ruleName;\n  }\n  kind = 4 /* TopLevelRepositoryReference */;\n};\nfunction parseInclude(include) {\n  if (include === \"$base\") {\n    return new BaseReference();\n  } else if (include === \"$self\") {\n    return new SelfReference();\n  }\n  const indexOfSharp = include.indexOf(\"#\");\n  if (indexOfSharp === -1) {\n    return new TopLevelReference(include);\n  } else if (indexOfSharp === 0) {\n    return new RelativeReference(include.substring(1));\n  } else {\n    const scopeName = include.substring(0, indexOfSharp);\n    const ruleName = include.substring(indexOfSharp + 1);\n    return new TopLevelRepositoryReference(scopeName, ruleName);\n  }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n  return id;\n}\nfunction ruleIdToNumber(id) {\n  return id;\n}\nvar Rule = class {\n  $location;\n  id;\n  _nameIsCapturing;\n  _name;\n  _contentNameIsCapturing;\n  _contentName;\n  constructor($location, id, name, contentName) {\n    this.$location = $location;\n    this.id = id;\n    this._name = name || null;\n    this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n    this._contentName = contentName || null;\n    this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n  }\n  get debugName() {\n    const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n    return `${this.constructor.name}#${this.id} @ ${location}`;\n  }\n  getName(lineText, captureIndices) {\n    if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n      return this._name;\n    }\n    return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n  }\n  getContentName(lineText, captureIndices) {\n    if (!this._contentNameIsCapturing || this._contentName === null) {\n      return this._contentName;\n    }\n    return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n  }\n};\nvar CaptureRule = class extends Rule {\n  retokenizeCapturedWithRuleId;\n  constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n    super($location, id, name, contentName);\n    this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n  }\n  dispose() {\n  }\n  collectPatterns(grammar, out) {\n    throw new Error(\"Not supported!\");\n  }\n  compile(grammar, endRegexSource) {\n    throw new Error(\"Not supported!\");\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    throw new Error(\"Not supported!\");\n  }\n};\nvar MatchRule = class extends Rule {\n  _match;\n  captures;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, match, captures) {\n    super($location, id, name, null);\n    this._match = new RegExpSource(match, this.id);\n    this.captures = captures;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  get debugMatchRegExp() {\n    return `${this._match.source}`;\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._match);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      this.collectPatterns(grammar, this._cachedCompiledPatterns);\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar IncludeOnlyRule = class extends Rule {\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, contentName, patterns) {\n    super($location, id, name, contentName);\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  collectPatterns(grammar, out) {\n    for (const pattern of this.patterns) {\n      const rule = grammar.getRule(pattern);\n      rule.collectPatterns(grammar, out);\n    }\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      this.collectPatterns(grammar, this._cachedCompiledPatterns);\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar BeginEndRule = class extends Rule {\n  _begin;\n  beginCaptures;\n  _end;\n  endHasBackReferences;\n  endCaptures;\n  applyEndPatternLast;\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n    super($location, id, name, contentName);\n    this._begin = new RegExpSource(begin, this.id);\n    this.beginCaptures = beginCaptures;\n    this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n    this.endHasBackReferences = this._end.hasBackReferences;\n    this.endCaptures = endCaptures;\n    this.applyEndPatternLast = applyEndPatternLast || false;\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  get debugBeginRegExp() {\n    return `${this._begin.source}`;\n  }\n  get debugEndRegExp() {\n    return `${this._end.source}`;\n  }\n  getEndWithResolvedBackReferences(lineText, captureIndices) {\n    return this._end.resolveBackReferences(lineText, captureIndices);\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._begin);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar, endRegexSource) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      for (const pattern of this.patterns) {\n        const rule = grammar.getRule(pattern);\n        rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n      }\n      if (this.applyEndPatternLast) {\n        this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n      } else {\n        this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n      }\n    }\n    if (this._end.hasBackReferences) {\n      if (this.applyEndPatternLast) {\n        this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n      } else {\n        this._cachedCompiledPatterns.setSource(0, endRegexSource);\n      }\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar BeginWhileRule = class extends Rule {\n  _begin;\n  beginCaptures;\n  whileCaptures;\n  _while;\n  whileHasBackReferences;\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  _cachedCompiledWhilePatterns;\n  constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n    super($location, id, name, contentName);\n    this._begin = new RegExpSource(begin, this.id);\n    this.beginCaptures = beginCaptures;\n    this.whileCaptures = whileCaptures;\n    this._while = new RegExpSource(_while, whileRuleId);\n    this.whileHasBackReferences = this._while.hasBackReferences;\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n    this._cachedCompiledWhilePatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n    if (this._cachedCompiledWhilePatterns) {\n      this._cachedCompiledWhilePatterns.dispose();\n      this._cachedCompiledWhilePatterns = null;\n    }\n  }\n  get debugBeginRegExp() {\n    return `${this._begin.source}`;\n  }\n  get debugWhileRegExp() {\n    return `${this._while.source}`;\n  }\n  getWhileWithResolvedBackReferences(lineText, captureIndices) {\n    return this._while.resolveBackReferences(lineText, captureIndices);\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._begin);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      for (const pattern of this.patterns) {\n        const rule = grammar.getRule(pattern);\n        rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n      }\n    }\n    return this._cachedCompiledPatterns;\n  }\n  compileWhile(grammar, endRegexSource) {\n    return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n  }\n  compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n    if (!this._cachedCompiledWhilePatterns) {\n      this._cachedCompiledWhilePatterns = new RegExpSourceList();\n      this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n    }\n    if (this._while.hasBackReferences) {\n      this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n    }\n    return this._cachedCompiledWhilePatterns;\n  }\n};\nvar RuleFactory = class _RuleFactory {\n  static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n    return helper.registerRule((id) => {\n      return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n    });\n  }\n  static getCompiledRuleId(desc, helper, repository) {\n    if (!desc.id) {\n      helper.registerRule((id) => {\n        desc.id = id;\n        if (desc.match) {\n          return new MatchRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.match,\n            _RuleFactory._compileCaptures(desc.captures, helper, repository)\n          );\n        }\n        if (typeof desc.begin === \"undefined\") {\n          if (desc.repository) {\n            repository = mergeObjects({}, repository, desc.repository);\n          }\n          let patterns = desc.patterns;\n          if (typeof patterns === \"undefined\" && desc.include) {\n            patterns = [{ include: desc.include }];\n          }\n          return new IncludeOnlyRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.contentName,\n            _RuleFactory._compilePatterns(patterns, helper, repository)\n          );\n        }\n        if (desc.while) {\n          return new BeginWhileRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.contentName,\n            desc.begin,\n            _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n            desc.while,\n            _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n            _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n          );\n        }\n        return new BeginEndRule(\n          desc.$vscodeTextmateLocation,\n          desc.id,\n          desc.name,\n          desc.contentName,\n          desc.begin,\n          _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n          desc.end,\n          _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n          desc.applyEndPatternLast,\n          _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n        );\n      });\n    }\n    return desc.id;\n  }\n  static _compileCaptures(captures, helper, repository) {\n    let r = [];\n    if (captures) {\n      let maximumCaptureId = 0;\n      for (const captureId in captures) {\n        if (captureId === \"$vscodeTextmateLocation\") {\n          continue;\n        }\n        const numericCaptureId = parseInt(captureId, 10);\n        if (numericCaptureId > maximumCaptureId) {\n          maximumCaptureId = numericCaptureId;\n        }\n      }\n      for (let i = 0; i <= maximumCaptureId; i++) {\n        r[i] = null;\n      }\n      for (const captureId in captures) {\n        if (captureId === \"$vscodeTextmateLocation\") {\n          continue;\n        }\n        const numericCaptureId = parseInt(captureId, 10);\n        let retokenizeCapturedWithRuleId = 0;\n        if (captures[captureId].patterns) {\n          retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n        }\n        r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n      }\n    }\n    return r;\n  }\n  static _compilePatterns(patterns, helper, repository) {\n    let r = [];\n    if (patterns) {\n      for (let i = 0, len = patterns.length; i < len; i++) {\n        const pattern = patterns[i];\n        let ruleId = -1;\n        if (pattern.include) {\n          const reference = parseInclude(pattern.include);\n          switch (reference.kind) {\n            case 0 /* Base */:\n            case 1 /* Self */:\n              ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n              break;\n            case 2 /* RelativeReference */:\n              let localIncludedRule = repository[reference.ruleName];\n              if (localIncludedRule) {\n                ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n              } else {\n              }\n              break;\n            case 3 /* TopLevelReference */:\n            case 4 /* TopLevelRepositoryReference */:\n              const externalGrammarName = reference.scopeName;\n              const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n              const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n              if (externalGrammar) {\n                if (externalGrammarInclude) {\n                  let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n                  if (externalIncludedRule) {\n                    ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n                  } else {\n                  }\n                } else {\n                  ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n                }\n              } else {\n              }\n              break;\n          }\n        } else {\n          ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n        }\n        if (ruleId !== -1) {\n          const rule = helper.getRule(ruleId);\n          let skipRule = false;\n          if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n            if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n              skipRule = true;\n            }\n          }\n          if (skipRule) {\n            continue;\n          }\n          r.push(ruleId);\n        }\n      }\n    }\n    return {\n      patterns: r,\n      hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n    };\n  }\n};\nvar RegExpSource = class _RegExpSource {\n  source;\n  ruleId;\n  hasAnchor;\n  hasBackReferences;\n  _anchorCache;\n  constructor(regExpSource, ruleId) {\n    if (regExpSource && typeof regExpSource === \"string\") {\n      const len = regExpSource.length;\n      let lastPushedPos = 0;\n      let output = [];\n      let hasAnchor = false;\n      for (let pos = 0; pos < len; pos++) {\n        const ch = regExpSource.charAt(pos);\n        if (ch === \"\\\\\") {\n          if (pos + 1 < len) {\n            const nextCh = regExpSource.charAt(pos + 1);\n            if (nextCh === \"z\") {\n              output.push(regExpSource.substring(lastPushedPos, pos));\n              output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n              lastPushedPos = pos + 2;\n            } else if (nextCh === \"A\" || nextCh === \"G\") {\n              hasAnchor = true;\n            }\n            pos++;\n          }\n        }\n      }\n      this.hasAnchor = hasAnchor;\n      if (lastPushedPos === 0) {\n        this.source = regExpSource;\n      } else {\n        output.push(regExpSource.substring(lastPushedPos, len));\n        this.source = output.join(\"\");\n      }\n    } else {\n      this.hasAnchor = false;\n      this.source = regExpSource;\n    }\n    if (this.hasAnchor) {\n      this._anchorCache = this._buildAnchorCache();\n    } else {\n      this._anchorCache = null;\n    }\n    this.ruleId = ruleId;\n    if (typeof this.source === \"string\") {\n      this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n    } else {\n      this.hasBackReferences = false;\n    }\n  }\n  clone() {\n    return new _RegExpSource(this.source, this.ruleId);\n  }\n  setSource(newSource) {\n    if (this.source === newSource) {\n      return;\n    }\n    this.source = newSource;\n    if (this.hasAnchor) {\n      this._anchorCache = this._buildAnchorCache();\n    }\n  }\n  resolveBackReferences(lineText, captureIndices) {\n    if (typeof this.source !== \"string\") {\n      throw new Error(\"This method should only be called if the source is a string\");\n    }\n    let capturedValues = captureIndices.map((capture) => {\n      return lineText.substring(capture.start, capture.end);\n    });\n    BACK_REFERENCING_END.lastIndex = 0;\n    return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n      return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n    });\n  }\n  _buildAnchorCache() {\n    if (typeof this.source !== \"string\") {\n      throw new Error(\"This method should only be called if the source is a string\");\n    }\n    let A0_G0_result = [];\n    let A0_G1_result = [];\n    let A1_G0_result = [];\n    let A1_G1_result = [];\n    let pos, len, ch, nextCh;\n    for (pos = 0, len = this.source.length; pos < len; pos++) {\n      ch = this.source.charAt(pos);\n      A0_G0_result[pos] = ch;\n      A0_G1_result[pos] = ch;\n      A1_G0_result[pos] = ch;\n      A1_G1_result[pos] = ch;\n      if (ch === \"\\\\\") {\n        if (pos + 1 < len) {\n          nextCh = this.source.charAt(pos + 1);\n          if (nextCh === \"A\") {\n            A0_G0_result[pos + 1] = \"\\uFFFF\";\n            A0_G1_result[pos + 1] = \"\\uFFFF\";\n            A1_G0_result[pos + 1] = \"A\";\n            A1_G1_result[pos + 1] = \"A\";\n          } else if (nextCh === \"G\") {\n            A0_G0_result[pos + 1] = \"\\uFFFF\";\n            A0_G1_result[pos + 1] = \"G\";\n            A1_G0_result[pos + 1] = \"\\uFFFF\";\n            A1_G1_result[pos + 1] = \"G\";\n          } else {\n            A0_G0_result[pos + 1] = nextCh;\n            A0_G1_result[pos + 1] = nextCh;\n            A1_G0_result[pos + 1] = nextCh;\n            A1_G1_result[pos + 1] = nextCh;\n          }\n          pos++;\n        }\n      }\n    }\n    return {\n      A0_G0: A0_G0_result.join(\"\"),\n      A0_G1: A0_G1_result.join(\"\"),\n      A1_G0: A1_G0_result.join(\"\"),\n      A1_G1: A1_G1_result.join(\"\")\n    };\n  }\n  resolveAnchors(allowA, allowG) {\n    if (!this.hasAnchor || !this._anchorCache || typeof this.source !== \"string\") {\n      return this.source;\n    }\n    if (allowA) {\n      if (allowG) {\n        return this._anchorCache.A1_G1;\n      } else {\n        return this._anchorCache.A1_G0;\n      }\n    } else {\n      if (allowG) {\n        return this._anchorCache.A0_G1;\n      } else {\n        return this._anchorCache.A0_G0;\n      }\n    }\n  }\n};\nvar RegExpSourceList = class {\n  _items;\n  _hasAnchors;\n  _cached;\n  _anchorCache;\n  constructor() {\n    this._items = [];\n    this._hasAnchors = false;\n    this._cached = null;\n    this._anchorCache = {\n      A0_G0: null,\n      A0_G1: null,\n      A1_G0: null,\n      A1_G1: null\n    };\n  }\n  dispose() {\n    this._disposeCaches();\n  }\n  _disposeCaches() {\n    if (this._cached) {\n      this._cached.dispose();\n      this._cached = null;\n    }\n    if (this._anchorCache.A0_G0) {\n      this._anchorCache.A0_G0.dispose();\n      this._anchorCache.A0_G0 = null;\n    }\n    if (this._anchorCache.A0_G1) {\n      this._anchorCache.A0_G1.dispose();\n      this._anchorCache.A0_G1 = null;\n    }\n    if (this._anchorCache.A1_G0) {\n      this._anchorCache.A1_G0.dispose();\n      this._anchorCache.A1_G0 = null;\n    }\n    if (this._anchorCache.A1_G1) {\n      this._anchorCache.A1_G1.dispose();\n      this._anchorCache.A1_G1 = null;\n    }\n  }\n  push(item) {\n    this._items.push(item);\n    this._hasAnchors = this._hasAnchors || item.hasAnchor;\n  }\n  unshift(item) {\n    this._items.unshift(item);\n    this._hasAnchors = this._hasAnchors || item.hasAnchor;\n  }\n  length() {\n    return this._items.length;\n  }\n  setSource(index, newSource) {\n    if (this._items[index].source !== newSource) {\n      this._disposeCaches();\n      this._items[index].setSource(newSource);\n    }\n  }\n  compile(onigLib) {\n    if (!this._cached) {\n      let regExps = this._items.map((e) => e.source);\n      this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n    }\n    return this._cached;\n  }\n  compileAG(onigLib, allowA, allowG) {\n    if (!this._hasAnchors) {\n      return this.compile(onigLib);\n    } else {\n      if (allowA) {\n        if (allowG) {\n          if (!this._anchorCache.A1_G1) {\n            this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A1_G1;\n        } else {\n          if (!this._anchorCache.A1_G0) {\n            this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A1_G0;\n        }\n      } else {\n        if (allowG) {\n          if (!this._anchorCache.A0_G1) {\n            this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A0_G1;\n        } else {\n          if (!this._anchorCache.A0_G0) {\n            this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A0_G0;\n        }\n      }\n    }\n  }\n  _resolveAnchors(onigLib, allowA, allowG) {\n    let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n    return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n  }\n};\nvar CompiledRule = class {\n  constructor(onigLib, regExps, rules) {\n    this.regExps = regExps;\n    this.rules = rules;\n    this.scanner = onigLib.createOnigScanner(regExps);\n  }\n  scanner;\n  dispose() {\n    if (typeof this.scanner.dispose === \"function\") {\n      this.scanner.dispose();\n    }\n  }\n  toString() {\n    const r = [];\n    for (let i = 0, len = this.rules.length; i < len; i++) {\n      r.push(\"   - \" + this.rules[i] + \": \" + this.regExps[i]);\n    }\n    return r.join(\"\\n\");\n  }\n  findNextMatchSync(string, startPosition, options) {\n    const result = this.scanner.findNextMatchSync(string, startPosition, options);\n    if (!result) {\n      return null;\n    }\n    return {\n      ruleId: this.rules[result.index],\n      captureIndices: result.captureIndices\n    };\n  }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n  constructor(languageId, tokenType) {\n    this.languageId = languageId;\n    this.tokenType = tokenType;\n  }\n};\nvar BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n  _defaultAttributes;\n  _embeddedLanguagesMatcher;\n  constructor(initialLanguageId, embeddedLanguages) {\n    this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n    this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n  }\n  getDefaultAttributes() {\n    return this._defaultAttributes;\n  }\n  getBasicScopeAttributes(scopeName) {\n    if (scopeName === null) {\n      return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n    }\n    return this._getBasicScopeAttributes.get(scopeName);\n  }\n  static _NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n  _getBasicScopeAttributes = new CachedFn((scopeName) => {\n    const languageId = this._scopeToLanguage(scopeName);\n    const standardTokenType = this._toStandardTokenType(scopeName);\n    return new BasicScopeAttributes(languageId, standardTokenType);\n  });\n  /**\n   * Given a produced TM scope, return the language that token describes or null if unknown.\n   * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n   */\n  _scopeToLanguage(scope) {\n    return this._embeddedLanguagesMatcher.match(scope) || 0;\n  }\n  _toStandardTokenType(scopeName) {\n    const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n    if (!m) {\n      return 8 /* NotSet */;\n    }\n    switch (m[1]) {\n      case \"comment\":\n        return 1 /* Comment */;\n      case \"string\":\n        return 2 /* String */;\n      case \"regex\":\n        return 3 /* RegEx */;\n      case \"meta.embedded\":\n        return 0 /* Other */;\n    }\n    throw new Error(\"Unexpected match for standard token type!\");\n  }\n  static STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\n};\nvar ScopeMatcher = class {\n  values;\n  scopesRegExp;\n  constructor(values) {\n    if (values.length === 0) {\n      this.values = null;\n      this.scopesRegExp = null;\n    } else {\n      this.values = new Map(values);\n      const escapedScopes = values.map(\n        ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n      );\n      escapedScopes.sort();\n      escapedScopes.reverse();\n      this.scopesRegExp = new RegExp(\n        `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n        \"\"\n      );\n    }\n  }\n  match(scope) {\n    if (!this.scopesRegExp) {\n      return void 0;\n    }\n    const m = scope.match(this.scopesRegExp);\n    if (!m) {\n      return void 0;\n    }\n    return this.values.get(m[1]);\n  }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n  InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n  constructor(stack, stoppedEarly) {\n    this.stack = stack;\n    this.stoppedEarly = stoppedEarly;\n  }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n  const lineLength = lineText.content.length;\n  let STOP = false;\n  let anchorPosition = -1;\n  if (checkWhileConditions) {\n    const whileCheckResult = _checkWhileConditions(\n      grammar,\n      lineText,\n      isFirstLine,\n      linePos,\n      stack,\n      lineTokens\n    );\n    stack = whileCheckResult.stack;\n    linePos = whileCheckResult.linePos;\n    isFirstLine = whileCheckResult.isFirstLine;\n    anchorPosition = whileCheckResult.anchorPosition;\n  }\n  const startTime = Date.now();\n  while (!STOP) {\n    if (timeLimit !== 0) {\n      const elapsedTime = Date.now() - startTime;\n      if (elapsedTime > timeLimit) {\n        return new TokenizeStringResult(stack, true);\n      }\n    }\n    scanNext();\n  }\n  return new TokenizeStringResult(stack, false);\n  function scanNext() {\n    if (false) {\n      console.log(\"\");\n      console.log(\n        `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n      );\n    }\n    const r = matchRuleOrInjections(\n      grammar,\n      lineText,\n      isFirstLine,\n      linePos,\n      stack,\n      anchorPosition\n    );\n    if (!r) {\n      lineTokens.produce(stack, lineLength);\n      STOP = true;\n      return;\n    }\n    const captureIndices = r.captureIndices;\n    const matchedRuleId = r.matchedRuleId;\n    const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n    if (matchedRuleId === endRuleId) {\n      const poppedRule = stack.getRule(grammar);\n      if (false) {\n        console.log(\n          \"  popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n        );\n      }\n      lineTokens.produce(stack, captureIndices[0].start);\n      stack = stack.withContentNameScopesList(stack.nameScopesList);\n      handleCaptures(\n        grammar,\n        lineText,\n        isFirstLine,\n        stack,\n        lineTokens,\n        poppedRule.endCaptures,\n        captureIndices\n      );\n      lineTokens.produce(stack, captureIndices[0].end);\n      const popped = stack;\n      stack = stack.parent;\n      anchorPosition = popped.getAnchorPos();\n      if (!hasAdvanced && popped.getEnterPos() === linePos) {\n        if (false) {\n          console.error(\n            \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n          );\n        }\n        stack = popped;\n        lineTokens.produce(stack, lineLength);\n        STOP = true;\n        return;\n      }\n    } else {\n      const _rule = grammar.getRule(matchedRuleId);\n      lineTokens.produce(stack, captureIndices[0].start);\n      const beforePush = stack;\n      const scopeName = _rule.getName(lineText.content, captureIndices);\n      const nameScopesList = stack.contentNameScopesList.pushAttributed(\n        scopeName,\n        grammar\n      );\n      stack = stack.push(\n        matchedRuleId,\n        linePos,\n        anchorPosition,\n        captureIndices[0].end === lineLength,\n        null,\n        nameScopesList,\n        nameScopesList\n      );\n      if (_rule instanceof BeginEndRule) {\n        const pushedRule = _rule;\n        if (false) {\n          console.log(\n            \"  pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n          );\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          pushedRule.beginCaptures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        anchorPosition = captureIndices[0].end;\n        const contentName = pushedRule.getContentName(\n          lineText.content,\n          captureIndices\n        );\n        const contentNameScopesList = nameScopesList.pushAttributed(\n          contentName,\n          grammar\n        );\n        stack = stack.withContentNameScopesList(contentNameScopesList);\n        if (pushedRule.endHasBackReferences) {\n          stack = stack.withEndRule(\n            pushedRule.getEndWithResolvedBackReferences(\n              lineText.content,\n              captureIndices\n            )\n          );\n        }\n        if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n          if (false) {\n            console.error(\n              \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n            );\n          }\n          stack = stack.pop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      } else if (_rule instanceof BeginWhileRule) {\n        const pushedRule = _rule;\n        if (false) {\n          console.log(\"  pushing \" + pushedRule.debugName);\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          pushedRule.beginCaptures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        anchorPosition = captureIndices[0].end;\n        const contentName = pushedRule.getContentName(\n          lineText.content,\n          captureIndices\n        );\n        const contentNameScopesList = nameScopesList.pushAttributed(\n          contentName,\n          grammar\n        );\n        stack = stack.withContentNameScopesList(contentNameScopesList);\n        if (pushedRule.whileHasBackReferences) {\n          stack = stack.withEndRule(\n            pushedRule.getWhileWithResolvedBackReferences(\n              lineText.content,\n              captureIndices\n            )\n          );\n        }\n        if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n          if (false) {\n            console.error(\n              \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n            );\n          }\n          stack = stack.pop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      } else {\n        const matchingRule = _rule;\n        if (false) {\n          console.log(\n            \"  matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n          );\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          matchingRule.captures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        stack = stack.pop();\n        if (!hasAdvanced) {\n          if (false) {\n            console.error(\n              \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n            );\n          }\n          stack = stack.safePop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      }\n    }\n    if (captureIndices[0].end > linePos) {\n      linePos = captureIndices[0].end;\n      isFirstLine = false;\n    }\n  }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n  let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n  const whileRules = [];\n  for (let node = stack; node; node = node.pop()) {\n    const nodeRule = node.getRule(grammar);\n    if (nodeRule instanceof BeginWhileRule) {\n      whileRules.push({\n        rule: nodeRule,\n        stack: node\n      });\n    }\n  }\n  for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n    const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n    const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n    if (false) {\n      console.log(\"  scanning for while rule\");\n      console.log(ruleScanner.toString());\n    }\n    if (r) {\n      const matchedRuleId = r.ruleId;\n      if (matchedRuleId !== whileRuleId) {\n        stack = whileRule.stack.pop();\n        break;\n      }\n      if (r.captureIndices && r.captureIndices.length) {\n        lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n        handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n        lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n        anchorPosition = r.captureIndices[0].end;\n        if (r.captureIndices[0].end > linePos) {\n          linePos = r.captureIndices[0].end;\n          isFirstLine = false;\n        }\n      }\n    } else {\n      if (false) {\n        console.log(\"  popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n      }\n      stack = whileRule.stack.pop();\n      break;\n    }\n  }\n  return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n  const injections = grammar.getInjections();\n  if (injections.length === 0) {\n    return matchResult;\n  }\n  const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n  if (!injectionResult) {\n    return matchResult;\n  }\n  if (!matchResult) {\n    return injectionResult;\n  }\n  const matchResultScore = matchResult.captureIndices[0].start;\n  const injectionResultScore = injectionResult.captureIndices[0].start;\n  if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n    return injectionResult;\n  }\n  return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  const rule = stack.getRule(grammar);\n  const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n  const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n  if (r) {\n    return {\n      captureIndices: r.captureIndices,\n      matchedRuleId: r.ruleId\n    };\n  }\n  return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  let bestMatchRating = Number.MAX_VALUE;\n  let bestMatchCaptureIndices = null;\n  let bestMatchRuleId;\n  let bestMatchResultPriority = 0;\n  const scopes = stack.contentNameScopesList.getScopeNames();\n  for (let i = 0, len = injections.length; i < len; i++) {\n    const injection = injections[i];\n    if (!injection.matcher(scopes)) {\n      continue;\n    }\n    const rule = grammar.getRule(injection.ruleId);\n    const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n    const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n    if (!matchResult) {\n      continue;\n    }\n    if (false) {\n      console.log(`  matched injection: ${injection.debugSelector}`);\n      console.log(ruleScanner.toString());\n    }\n    const matchRating = matchResult.captureIndices[0].start;\n    if (matchRating >= bestMatchRating) {\n      continue;\n    }\n    bestMatchRating = matchRating;\n    bestMatchCaptureIndices = matchResult.captureIndices;\n    bestMatchRuleId = matchResult.ruleId;\n    bestMatchResultPriority = injection.priority;\n    if (bestMatchRating === linePos) {\n      break;\n    }\n  }\n  if (bestMatchCaptureIndices) {\n    return {\n      priorityMatch: bestMatchResultPriority === -1,\n      captureIndices: bestMatchCaptureIndices,\n      matchedRuleId: bestMatchRuleId\n    };\n  }\n  return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n  if (UseOnigurumaFindOptions) {\n    const ruleScanner2 = rule.compile(grammar, endRegexSource);\n    const findOptions = getFindOptions(allowA, allowG);\n    return { ruleScanner: ruleScanner2, findOptions };\n  }\n  const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n  return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n  if (UseOnigurumaFindOptions) {\n    const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n    const findOptions = getFindOptions(allowA, allowG);\n    return { ruleScanner: ruleScanner2, findOptions };\n  }\n  const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n  return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n  let options = 0 /* None */;\n  if (!allowA) {\n    options |= 1 /* NotBeginString */;\n  }\n  if (!allowG) {\n    options |= 4 /* NotBeginPosition */;\n  }\n  return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n  if (captures.length === 0) {\n    return;\n  }\n  const lineTextContent = lineText.content;\n  const len = Math.min(captures.length, captureIndices.length);\n  const localStack = [];\n  const maxEnd = captureIndices[0].end;\n  for (let i = 0; i < len; i++) {\n    const captureRule = captures[i];\n    if (captureRule === null) {\n      continue;\n    }\n    const captureIndex = captureIndices[i];\n    if (captureIndex.length === 0) {\n      continue;\n    }\n    if (captureIndex.start > maxEnd) {\n      break;\n    }\n    while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n      lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n      localStack.pop();\n    }\n    if (localStack.length > 0) {\n      lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n    } else {\n      lineTokens.produce(stack, captureIndex.start);\n    }\n    if (captureRule.retokenizeCapturedWithRuleId) {\n      const scopeName = captureRule.getName(lineTextContent, captureIndices);\n      const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n      const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n      const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n      const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n      const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n      _tokenizeString(\n        grammar,\n        onigSubStr,\n        isFirstLine && captureIndex.start === 0,\n        captureIndex.start,\n        stackClone,\n        lineTokens,\n        false,\n        /* no time limit */\n        0\n      );\n      disposeOnigString(onigSubStr);\n      continue;\n    }\n    const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n    if (captureRuleScopeName !== null) {\n      const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n      const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n      localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n    }\n  }\n  while (localStack.length > 0) {\n    lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n    localStack.pop();\n  }\n}\nvar LocalStackElement = class {\n  scopes;\n  endPos;\n  constructor(scopes, endPos) {\n    this.scopes = scopes;\n    this.endPos = endPos;\n  }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n  return new Grammar(\n    scopeName,\n    grammar,\n    initialLanguage,\n    embeddedLanguages,\n    tokenTypes,\n    balancedBracketSelectors,\n    grammarRepository,\n    onigLib\n  );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n  const matchers = createMatchers(selector, nameMatcher);\n  const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n  for (const matcher of matchers) {\n    result.push({\n      debugSelector: selector,\n      matcher: matcher.matcher,\n      ruleId,\n      grammar,\n      priority: matcher.priority\n    });\n  }\n}\nfunction nameMatcher(identifers, scopes) {\n  if (scopes.length < identifers.length) {\n    return false;\n  }\n  let lastIndex = 0;\n  return identifers.every((identifier) => {\n    for (let i = lastIndex; i < scopes.length; i++) {\n      if (scopesAreMatching(scopes[i], identifier)) {\n        lastIndex = i + 1;\n        return true;\n      }\n    }\n    return false;\n  });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n  if (!thisScopeName) {\n    return false;\n  }\n  if (thisScopeName === scopeName) {\n    return true;\n  }\n  const len = scopeName.length;\n  return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n  constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n    this._rootScopeName = _rootScopeName;\n    this.balancedBracketSelectors = balancedBracketSelectors;\n    this._onigLib = _onigLib;\n    this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n      initialLanguage,\n      embeddedLanguages\n    );\n    this._rootId = -1;\n    this._lastRuleId = 0;\n    this._ruleId2desc = [null];\n    this._includedGrammars = {};\n    this._grammarRepository = grammarRepository;\n    this._grammar = initGrammar(grammar, null);\n    this._injections = null;\n    this._tokenTypeMatchers = [];\n    if (tokenTypes) {\n      for (const selector of Object.keys(tokenTypes)) {\n        const matchers = createMatchers(selector, nameMatcher);\n        for (const matcher of matchers) {\n          this._tokenTypeMatchers.push({\n            matcher: matcher.matcher,\n            type: tokenTypes[selector]\n          });\n        }\n      }\n    }\n  }\n  _rootId;\n  _lastRuleId;\n  _ruleId2desc;\n  _includedGrammars;\n  _grammarRepository;\n  _grammar;\n  _injections;\n  _basicScopeAttributesProvider;\n  _tokenTypeMatchers;\n  get themeProvider() {\n    return this._grammarRepository;\n  }\n  dispose() {\n    for (const rule of this._ruleId2desc) {\n      if (rule) {\n        rule.dispose();\n      }\n    }\n  }\n  createOnigScanner(sources) {\n    return this._onigLib.createOnigScanner(sources);\n  }\n  createOnigString(sources) {\n    return this._onigLib.createOnigString(sources);\n  }\n  getMetadataForScope(scope) {\n    return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n  }\n  _collectInjections() {\n    const grammarRepository = {\n      lookup: (scopeName2) => {\n        if (scopeName2 === this._rootScopeName) {\n          return this._grammar;\n        }\n        return this.getExternalGrammar(scopeName2);\n      },\n      injections: (scopeName2) => {\n        return this._grammarRepository.injections(scopeName2);\n      }\n    };\n    const result = [];\n    const scopeName = this._rootScopeName;\n    const grammar = grammarRepository.lookup(scopeName);\n    if (grammar) {\n      const rawInjections = grammar.injections;\n      if (rawInjections) {\n        for (let expression in rawInjections) {\n          collectInjections(\n            result,\n            expression,\n            rawInjections[expression],\n            this,\n            grammar\n          );\n        }\n      }\n      const injectionScopeNames = this._grammarRepository.injections(scopeName);\n      if (injectionScopeNames) {\n        injectionScopeNames.forEach((injectionScopeName) => {\n          const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n          if (injectionGrammar) {\n            const selector = injectionGrammar.injectionSelector;\n            if (selector) {\n              collectInjections(\n                result,\n                selector,\n                injectionGrammar,\n                this,\n                injectionGrammar\n              );\n            }\n          }\n        });\n      }\n    }\n    result.sort((i1, i2) => i1.priority - i2.priority);\n    return result;\n  }\n  getInjections() {\n    if (this._injections === null) {\n      this._injections = this._collectInjections();\n    }\n    return this._injections;\n  }\n  registerRule(factory) {\n    const id = ++this._lastRuleId;\n    const result = factory(ruleIdFromNumber(id));\n    this._ruleId2desc[id] = result;\n    return result;\n  }\n  getRule(ruleId) {\n    return this._ruleId2desc[ruleIdToNumber(ruleId)];\n  }\n  getExternalGrammar(scopeName, repository) {\n    if (this._includedGrammars[scopeName]) {\n      return this._includedGrammars[scopeName];\n    } else if (this._grammarRepository) {\n      const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n      if (rawIncludedGrammar) {\n        this._includedGrammars[scopeName] = initGrammar(\n          rawIncludedGrammar,\n          repository && repository.$base\n        );\n        return this._includedGrammars[scopeName];\n      }\n    }\n    return void 0;\n  }\n  tokenizeLine(lineText, prevState, timeLimit = 0) {\n    const r = this._tokenize(lineText, prevState, false, timeLimit);\n    return {\n      tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n      ruleStack: r.ruleStack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n  tokenizeLine2(lineText, prevState, timeLimit = 0) {\n    const r = this._tokenize(lineText, prevState, true, timeLimit);\n    return {\n      tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n      ruleStack: r.ruleStack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n  _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n    if (this._rootId === -1) {\n      this._rootId = RuleFactory.getCompiledRuleId(\n        this._grammar.repository.$self,\n        this,\n        this._grammar.repository\n      );\n      this.getInjections();\n    }\n    let isFirstLine;\n    if (!prevState || prevState === StateStackImpl.NULL) {\n      isFirstLine = true;\n      const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n      const defaultStyle = this.themeProvider.getDefaults();\n      const defaultMetadata = EncodedTokenMetadata.set(\n        0,\n        rawDefaultMetadata.languageId,\n        rawDefaultMetadata.tokenType,\n        null,\n        defaultStyle.fontStyle,\n        defaultStyle.foregroundId,\n        defaultStyle.backgroundId\n      );\n      const rootScopeName = this.getRule(this._rootId).getName(\n        null,\n        null\n      );\n      let scopeList;\n      if (rootScopeName) {\n        scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n          rootScopeName,\n          defaultMetadata,\n          this\n        );\n      } else {\n        scopeList = AttributedScopeStack.createRoot(\n          \"unknown\",\n          defaultMetadata\n        );\n      }\n      prevState = new StateStackImpl(\n        null,\n        this._rootId,\n        -1,\n        -1,\n        false,\n        null,\n        scopeList,\n        scopeList\n      );\n    } else {\n      isFirstLine = false;\n      prevState.reset();\n    }\n    lineText = lineText + \"\\n\";\n    const onigLineText = this.createOnigString(lineText);\n    const lineLength = onigLineText.content.length;\n    const lineTokens = new LineTokens(\n      emitBinaryTokens,\n      lineText,\n      this._tokenTypeMatchers,\n      this.balancedBracketSelectors\n    );\n    const r = _tokenizeString(\n      this,\n      onigLineText,\n      isFirstLine,\n      0,\n      prevState,\n      lineTokens,\n      true,\n      timeLimit\n    );\n    disposeOnigString(onigLineText);\n    return {\n      lineLength,\n      lineTokens,\n      ruleStack: r.stack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n};\nfunction initGrammar(grammar, base) {\n  grammar = clone(grammar);\n  grammar.repository = grammar.repository || {};\n  grammar.repository.$self = {\n    $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n    patterns: grammar.patterns,\n    name: grammar.scopeName\n  };\n  grammar.repository.$base = base || grammar.repository.$self;\n  return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n  /**\n   * Invariant:\n   * ```\n   * if (parent && !scopePath.extends(parent.scopePath)) {\n   * \tthrow new Error();\n   * }\n   * ```\n   */\n  constructor(parent, scopePath, tokenAttributes) {\n    this.parent = parent;\n    this.scopePath = scopePath;\n    this.tokenAttributes = tokenAttributes;\n  }\n  static fromExtension(namesScopeList, contentNameScopesList) {\n    let current = namesScopeList;\n    let scopeNames = namesScopeList?.scopePath ?? null;\n    for (const frame of contentNameScopesList) {\n      scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n      current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n    }\n    return current;\n  }\n  static createRoot(scopeName, tokenAttributes) {\n    return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n  }\n  static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n    const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n    const scopePath = new ScopeStack(null, scopeName);\n    const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n    const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n      tokenAttributes,\n      rawRootMetadata,\n      rootStyle\n    );\n    return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n  }\n  get scopeName() {\n    return this.scopePath.scopeName;\n  }\n  toString() {\n    return this.getScopeNames().join(\" \");\n  }\n  equals(other) {\n    return _AttributedScopeStack.equals(this, other);\n  }\n  static equals(a, b) {\n    do {\n      if (a === b) {\n        return true;\n      }\n      if (!a && !b) {\n        return true;\n      }\n      if (!a || !b) {\n        return false;\n      }\n      if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n        return false;\n      }\n      a = a.parent;\n      b = b.parent;\n    } while (true);\n  }\n  static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n    let fontStyle = -1 /* NotSet */;\n    let foreground = 0;\n    let background = 0;\n    if (styleAttributes !== null) {\n      fontStyle = styleAttributes.fontStyle;\n      foreground = styleAttributes.foregroundId;\n      background = styleAttributes.backgroundId;\n    }\n    return EncodedTokenMetadata.set(\n      existingTokenAttributes,\n      basicScopeAttributes.languageId,\n      basicScopeAttributes.tokenType,\n      null,\n      fontStyle,\n      foreground,\n      background\n    );\n  }\n  pushAttributed(scopePath, grammar) {\n    if (scopePath === null) {\n      return this;\n    }\n    if (scopePath.indexOf(\" \") === -1) {\n      return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n    }\n    const scopes = scopePath.split(/ /g);\n    let result = this;\n    for (const scope of scopes) {\n      result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n    }\n    return result;\n  }\n  static _pushAttributed(target, scopeName, grammar) {\n    const rawMetadata = grammar.getMetadataForScope(scopeName);\n    const newPath = target.scopePath.push(scopeName);\n    const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n    const metadata = _AttributedScopeStack.mergeAttributes(\n      target.tokenAttributes,\n      rawMetadata,\n      scopeThemeMatchResult\n    );\n    return new _AttributedScopeStack(target, newPath, metadata);\n  }\n  getScopeNames() {\n    return this.scopePath.getSegments();\n  }\n  getExtensionIfDefined(base) {\n    const result = [];\n    let self = this;\n    while (self && self !== base) {\n      result.push({\n        encodedTokenAttributes: self.tokenAttributes,\n        scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n      });\n      self = self.parent;\n    }\n    return self === base ? result.reverse() : void 0;\n  }\n};\nvar StateStackImpl = class _StateStackImpl {\n  /**\n   * Invariant:\n   * ```\n   * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n   * \tthrow new Error();\n   * }\n   * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n   * \tthrow new Error();\n   * }\n   * ```\n   */\n  constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n    this.parent = parent;\n    this.ruleId = ruleId;\n    this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n    this.endRule = endRule;\n    this.nameScopesList = nameScopesList;\n    this.contentNameScopesList = contentNameScopesList;\n    this.depth = this.parent ? this.parent.depth + 1 : 1;\n    this._enterPos = enterPos;\n    this._anchorPos = anchorPos;\n  }\n  _stackElementBrand = void 0;\n  // TODO remove me\n  static NULL = new _StateStackImpl(\n    null,\n    0,\n    0,\n    0,\n    false,\n    null,\n    null,\n    null\n  );\n  /**\n   * The position on the current line where this state was pushed.\n   * This is relevant only while tokenizing a line, to detect endless loops.\n   * Its value is meaningless across lines.\n   */\n  _enterPos;\n  /**\n   * The captured anchor position when this stack element was pushed.\n   * This is relevant only while tokenizing a line, to restore the anchor position when popping.\n   * Its value is meaningless across lines.\n   */\n  _anchorPos;\n  /**\n   * The depth of the stack.\n   */\n  depth;\n  equals(other) {\n    if (other === null) {\n      return false;\n    }\n    return _StateStackImpl._equals(this, other);\n  }\n  static _equals(a, b) {\n    if (a === b) {\n      return true;\n    }\n    if (!this._structuralEquals(a, b)) {\n      return false;\n    }\n    return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n  }\n  /**\n   * A structural equals check. Does not take into account `scopes`.\n   */\n  static _structuralEquals(a, b) {\n    do {\n      if (a === b) {\n        return true;\n      }\n      if (!a && !b) {\n        return true;\n      }\n      if (!a || !b) {\n        return false;\n      }\n      if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n        return false;\n      }\n      a = a.parent;\n      b = b.parent;\n    } while (true);\n  }\n  clone() {\n    return this;\n  }\n  static _reset(el) {\n    while (el) {\n      el._enterPos = -1;\n      el._anchorPos = -1;\n      el = el.parent;\n    }\n  }\n  reset() {\n    _StateStackImpl._reset(this);\n  }\n  pop() {\n    return this.parent;\n  }\n  safePop() {\n    if (this.parent) {\n      return this.parent;\n    }\n    return this;\n  }\n  push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n    return new _StateStackImpl(\n      this,\n      ruleId,\n      enterPos,\n      anchorPos,\n      beginRuleCapturedEOL,\n      endRule,\n      nameScopesList,\n      contentNameScopesList\n    );\n  }\n  getEnterPos() {\n    return this._enterPos;\n  }\n  getAnchorPos() {\n    return this._anchorPos;\n  }\n  getRule(grammar) {\n    return grammar.getRule(this.ruleId);\n  }\n  toString() {\n    const r = [];\n    this._writeString(r, 0);\n    return \"[\" + r.join(\",\") + \"]\";\n  }\n  _writeString(res, outIndex) {\n    if (this.parent) {\n      outIndex = this.parent._writeString(res, outIndex);\n    }\n    res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n    return outIndex;\n  }\n  withContentNameScopesList(contentNameScopeStack) {\n    if (this.contentNameScopesList === contentNameScopeStack) {\n      return this;\n    }\n    return this.parent.push(\n      this.ruleId,\n      this._enterPos,\n      this._anchorPos,\n      this.beginRuleCapturedEOL,\n      this.endRule,\n      this.nameScopesList,\n      contentNameScopeStack\n    );\n  }\n  withEndRule(endRule) {\n    if (this.endRule === endRule) {\n      return this;\n    }\n    return new _StateStackImpl(\n      this.parent,\n      this.ruleId,\n      this._enterPos,\n      this._anchorPos,\n      this.beginRuleCapturedEOL,\n      endRule,\n      this.nameScopesList,\n      this.contentNameScopesList\n    );\n  }\n  // Used to warn of endless loops\n  hasSameRuleAs(other) {\n    let el = this;\n    while (el && el._enterPos === other._enterPos) {\n      if (el.ruleId === other.ruleId) {\n        return true;\n      }\n      el = el.parent;\n    }\n    return false;\n  }\n  toStateStackFrame() {\n    return {\n      ruleId: ruleIdToNumber(this.ruleId),\n      beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n      endRule: this.endRule,\n      nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n      contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n    };\n  }\n  static pushFrame(self, frame) {\n    const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n    return new _StateStackImpl(\n      self,\n      ruleIdFromNumber(frame.ruleId),\n      frame.enterPos ?? -1,\n      frame.anchorPos ?? -1,\n      frame.beginRuleCapturedEOL,\n      frame.endRule,\n      namesScopeList,\n      AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n    );\n  }\n};\nvar BalancedBracketSelectors = class {\n  balancedBracketScopes;\n  unbalancedBracketScopes;\n  allowAny = false;\n  constructor(balancedBracketScopes, unbalancedBracketScopes) {\n    this.balancedBracketScopes = balancedBracketScopes.flatMap(\n      (selector) => {\n        if (selector === \"*\") {\n          this.allowAny = true;\n          return [];\n        }\n        return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n      }\n    );\n    this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n      (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n    );\n  }\n  get matchesAlways() {\n    return this.allowAny && this.unbalancedBracketScopes.length === 0;\n  }\n  get matchesNever() {\n    return this.balancedBracketScopes.length === 0 && !this.allowAny;\n  }\n  match(scopes) {\n    for (const excluder of this.unbalancedBracketScopes) {\n      if (excluder(scopes)) {\n        return false;\n      }\n    }\n    for (const includer of this.balancedBracketScopes) {\n      if (includer(scopes)) {\n        return true;\n      }\n    }\n    return this.allowAny;\n  }\n};\nvar LineTokens = class {\n  constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n    this.balancedBracketSelectors = balancedBracketSelectors;\n    this._emitBinaryTokens = emitBinaryTokens;\n    this._tokenTypeOverrides = tokenTypeOverrides;\n    if (false) {\n      this._lineText = lineText;\n    } else {\n      this._lineText = null;\n    }\n    this._tokens = [];\n    this._binaryTokens = [];\n    this._lastTokenEndIndex = 0;\n  }\n  _emitBinaryTokens;\n  /**\n   * defined only if `false`.\n   */\n  _lineText;\n  /**\n   * used only if `_emitBinaryTokens` is false.\n   */\n  _tokens;\n  /**\n   * used only if `_emitBinaryTokens` is true.\n   */\n  _binaryTokens;\n  _lastTokenEndIndex;\n  _tokenTypeOverrides;\n  produce(stack, endIndex) {\n    this.produceFromScopes(stack.contentNameScopesList, endIndex);\n  }\n  produceFromScopes(scopesList, endIndex) {\n    if (this._lastTokenEndIndex >= endIndex) {\n      return;\n    }\n    if (this._emitBinaryTokens) {\n      let metadata = scopesList?.tokenAttributes ?? 0;\n      let containsBalancedBrackets = false;\n      if (this.balancedBracketSelectors?.matchesAlways) {\n        containsBalancedBrackets = true;\n      }\n      if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n        const scopes2 = scopesList?.getScopeNames() ?? [];\n        for (const tokenType of this._tokenTypeOverrides) {\n          if (tokenType.matcher(scopes2)) {\n            metadata = EncodedTokenMetadata.set(\n              metadata,\n              0,\n              toOptionalTokenType(tokenType.type),\n              null,\n              -1 /* NotSet */,\n              0,\n              0\n            );\n          }\n        }\n        if (this.balancedBracketSelectors) {\n          containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n        }\n      }\n      if (containsBalancedBrackets) {\n        metadata = EncodedTokenMetadata.set(\n          metadata,\n          0,\n          8 /* NotSet */,\n          containsBalancedBrackets,\n          -1 /* NotSet */,\n          0,\n          0\n        );\n      }\n      if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n        this._lastTokenEndIndex = endIndex;\n        return;\n      }\n      this._binaryTokens.push(this._lastTokenEndIndex);\n      this._binaryTokens.push(metadata);\n      this._lastTokenEndIndex = endIndex;\n      return;\n    }\n    const scopes = scopesList?.getScopeNames() ?? [];\n    this._tokens.push({\n      startIndex: this._lastTokenEndIndex,\n      endIndex,\n      // value: lineText.substring(lastTokenEndIndex, endIndex),\n      scopes\n    });\n    this._lastTokenEndIndex = endIndex;\n  }\n  getResult(stack, lineLength) {\n    if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n      this._tokens.pop();\n    }\n    if (this._tokens.length === 0) {\n      this._lastTokenEndIndex = -1;\n      this.produce(stack, lineLength);\n      this._tokens[this._tokens.length - 1].startIndex = 0;\n    }\n    return this._tokens;\n  }\n  getBinaryResult(stack, lineLength) {\n    if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n      this._binaryTokens.pop();\n      this._binaryTokens.pop();\n    }\n    if (this._binaryTokens.length === 0) {\n      this._lastTokenEndIndex = -1;\n      this.produce(stack, lineLength);\n      this._binaryTokens[this._binaryTokens.length - 2] = 0;\n    }\n    const result = new Uint32Array(this._binaryTokens.length);\n    for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n      result[i] = this._binaryTokens[i];\n    }\n    return result;\n  }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n  constructor(theme, _onigLib) {\n    this._onigLib = _onigLib;\n    this._theme = theme;\n  }\n  _grammars = /* @__PURE__ */ new Map();\n  _rawGrammars = /* @__PURE__ */ new Map();\n  _injectionGrammars = /* @__PURE__ */ new Map();\n  _theme;\n  dispose() {\n    for (const grammar of this._grammars.values()) {\n      grammar.dispose();\n    }\n  }\n  setTheme(theme) {\n    this._theme = theme;\n  }\n  getColorMap() {\n    return this._theme.getColorMap();\n  }\n  /**\n   * Add `grammar` to registry and return a list of referenced scope names\n   */\n  addGrammar(grammar, injectionScopeNames) {\n    this._rawGrammars.set(grammar.scopeName, grammar);\n    if (injectionScopeNames) {\n      this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n    }\n  }\n  /**\n   * Lookup a raw grammar.\n   */\n  lookup(scopeName) {\n    return this._rawGrammars.get(scopeName);\n  }\n  /**\n   * Returns the injections for the given grammar\n   */\n  injections(targetScope) {\n    return this._injectionGrammars.get(targetScope);\n  }\n  /**\n   * Get the default theme settings\n   */\n  getDefaults() {\n    return this._theme.getDefaults();\n  }\n  /**\n   * Match a scope in the theme.\n   */\n  themeMatch(scopePath) {\n    return this._theme.match(scopePath);\n  }\n  /**\n   * Lookup a grammar.\n   */\n  grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n    if (!this._grammars.has(scopeName)) {\n      let rawGrammar = this._rawGrammars.get(scopeName);\n      if (!rawGrammar) {\n        return null;\n      }\n      this._grammars.set(scopeName, createGrammar(\n        scopeName,\n        rawGrammar,\n        initialLanguage,\n        embeddedLanguages,\n        tokenTypes,\n        balancedBracketSelectors,\n        this,\n        this._onigLib\n      ));\n    }\n    return this._grammars.get(scopeName);\n  }\n};\n\n// src/index.ts\nvar Registry = class {\n  _options;\n  _syncRegistry;\n  _ensureGrammarCache;\n  constructor(options) {\n    this._options = options;\n    this._syncRegistry = new SyncRegistry(\n      Theme.createFromRawTheme(options.theme, options.colorMap),\n      options.onigLib\n    );\n    this._ensureGrammarCache = /* @__PURE__ */ new Map();\n  }\n  dispose() {\n    this._syncRegistry.dispose();\n  }\n  /**\n   * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n   */\n  setTheme(theme, colorMap) {\n    this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n  }\n  /**\n   * Returns a lookup array for color ids.\n   */\n  getColorMap() {\n    return this._syncRegistry.getColorMap();\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   * Please do not use language id 0.\n   */\n  loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n    return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   * Please do not use language id 0.\n   */\n  loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n    return this._loadGrammar(\n      initialScopeName,\n      initialLanguage,\n      configuration.embeddedLanguages,\n      configuration.tokenTypes,\n      new BalancedBracketSelectors(\n        configuration.balancedBracketSelectors || [],\n        configuration.unbalancedBracketSelectors || []\n      )\n    );\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   */\n  loadGrammar(initialScopeName) {\n    return this._loadGrammar(initialScopeName, 0, null, null, null);\n  }\n  _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n    const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n    while (dependencyProcessor.Q.length > 0) {\n      dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n      dependencyProcessor.processQueue();\n    }\n    return this._grammarForScopeName(\n      initialScopeName,\n      initialLanguage,\n      embeddedLanguages,\n      tokenTypes,\n      balancedBracketSelectors\n    );\n  }\n  _loadSingleGrammar(scopeName) {\n    if (!this._ensureGrammarCache.has(scopeName)) {\n      this._doLoadSingleGrammar(scopeName);\n      this._ensureGrammarCache.set(scopeName, true);\n    }\n  }\n  _doLoadSingleGrammar(scopeName) {\n    const grammar = this._options.loadGrammar(scopeName);\n    if (grammar) {\n      const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n      this._syncRegistry.addGrammar(grammar, injections);\n    }\n  }\n  /**\n   * Adds a rawGrammar.\n   */\n  addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n    this._syncRegistry.addGrammar(rawGrammar, injections);\n    return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n  }\n  /**\n   * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n   */\n  _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n    return this._syncRegistry.grammarForScopeName(\n      scopeName,\n      initialLanguage,\n      embeddedLanguages,\n      tokenTypes,\n      balancedBracketSelectors\n    );\n  }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n  EncodedTokenMetadata,\n  FindOption,\n  FontStyle,\n  INITIAL,\n  Registry,\n  Theme,\n  disposeOnigString\n};\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n  'area',\n  'base',\n  'basefont',\n  'bgsound',\n  'br',\n  'col',\n  'command',\n  'embed',\n  'frame',\n  'hr',\n  'image',\n  'img',\n  'input',\n  'keygen',\n  'link',\n  'meta',\n  'param',\n  'source',\n  'track',\n  'wbr'\n]\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n  /**\n   * @constructor\n   * @param {Properties} property\n   * @param {Normal} normal\n   * @param {string} [space]\n   */\n  constructor(property, normal, space) {\n    this.property = property\n    this.normal = normal\n    if (space) {\n      this.space = space\n    }\n  }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n  /** @type {Properties} */\n  const property = {}\n  /** @type {Normal} */\n  const normal = {}\n  let index = -1\n\n  while (++index < definitions.length) {\n    Object.assign(property, definitions[index].property)\n    Object.assign(normal, definitions[index].normal)\n  }\n\n  return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n  return value.toLowerCase()\n}\n","export class Info {\n  /**\n   * @constructor\n   * @param {string} property\n   * @param {string} attribute\n   */\n  constructor(property, attribute) {\n    /** @type {string} */\n    this.property = property\n    /** @type {string} */\n    this.attribute = attribute\n  }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n  return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n  /**\n   * @constructor\n   * @param {string} property\n   * @param {string} attribute\n   * @param {number|null} [mask]\n   * @param {string} [space]\n   */\n  constructor(property, attribute, mask, space) {\n    let index = -1\n\n    super(property, attribute)\n\n    mark(this, 'space', space)\n\n    if (typeof mask === 'number') {\n      while (++index < checks.length) {\n        const check = checks[index]\n        mark(this, checks[index], (mask & types[check]) === types[check])\n      }\n    }\n  }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n  if (value) {\n    // @ts-expect-error: assume `value` matches the expected value of `key`.\n    values[key] = value\n  }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n  /** @type {Properties} */\n  const property = {}\n  /** @type {Normal} */\n  const normal = {}\n  /** @type {string} */\n  let prop\n\n  for (prop in definition.properties) {\n    if (own.call(definition.properties, prop)) {\n      const value = definition.properties[prop]\n      const info = new DefinedInfo(\n        prop,\n        definition.transform(definition.attributes || {}, prop),\n        value,\n        definition.space\n      )\n\n      if (\n        definition.mustUseProperty &&\n        definition.mustUseProperty.includes(prop)\n      ) {\n        info.mustUseProperty = true\n      }\n\n      property[prop] = info\n\n      normal[normalize(prop)] = prop\n      normal[normalize(info.attribute)] = prop\n    }\n  }\n\n  return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n  space: 'xlink',\n  transform(_, prop) {\n    return 'xlink:' + prop.slice(5).toLowerCase()\n  },\n  properties: {\n    xLinkActuate: null,\n    xLinkArcRole: null,\n    xLinkHref: null,\n    xLinkRole: null,\n    xLinkShow: null,\n    xLinkTitle: null,\n    xLinkType: null\n  }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n  space: 'xml',\n  transform(_, prop) {\n    return 'xml:' + prop.slice(3).toLowerCase()\n  },\n  properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n  return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n  return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n  space: 'xmlns',\n  attributes: {xmlnsxlink: 'xmlns:xlink'},\n  transform: caseInsensitiveTransform,\n  properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n  transform(_, prop) {\n    return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n  },\n  properties: {\n    ariaActiveDescendant: null,\n    ariaAtomic: booleanish,\n    ariaAutoComplete: null,\n    ariaBusy: booleanish,\n    ariaChecked: booleanish,\n    ariaColCount: number,\n    ariaColIndex: number,\n    ariaColSpan: number,\n    ariaControls: spaceSeparated,\n    ariaCurrent: null,\n    ariaDescribedBy: spaceSeparated,\n    ariaDetails: null,\n    ariaDisabled: booleanish,\n    ariaDropEffect: spaceSeparated,\n    ariaErrorMessage: null,\n    ariaExpanded: booleanish,\n    ariaFlowTo: spaceSeparated,\n    ariaGrabbed: booleanish,\n    ariaHasPopup: null,\n    ariaHidden: booleanish,\n    ariaInvalid: null,\n    ariaKeyShortcuts: null,\n    ariaLabel: null,\n    ariaLabelledBy: spaceSeparated,\n    ariaLevel: number,\n    ariaLive: null,\n    ariaModal: booleanish,\n    ariaMultiLine: booleanish,\n    ariaMultiSelectable: booleanish,\n    ariaOrientation: null,\n    ariaOwns: spaceSeparated,\n    ariaPlaceholder: null,\n    ariaPosInSet: number,\n    ariaPressed: booleanish,\n    ariaReadOnly: booleanish,\n    ariaRelevant: null,\n    ariaRequired: booleanish,\n    ariaRoleDescription: spaceSeparated,\n    ariaRowCount: number,\n    ariaRowIndex: number,\n    ariaRowSpan: number,\n    ariaSelected: booleanish,\n    ariaSetSize: number,\n    ariaSort: null,\n    ariaValueMax: number,\n    ariaValueMin: number,\n    ariaValueNow: number,\n    ariaValueText: null,\n    role: null\n  }\n})\n","import {\n  boolean,\n  overloadedBoolean,\n  booleanish,\n  number,\n  spaceSeparated,\n  commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n  space: 'html',\n  attributes: {\n    acceptcharset: 'accept-charset',\n    classname: 'class',\n    htmlfor: 'for',\n    httpequiv: 'http-equiv'\n  },\n  transform: caseInsensitiveTransform,\n  mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n  properties: {\n    // Standard Properties.\n    abbr: null,\n    accept: commaSeparated,\n    acceptCharset: spaceSeparated,\n    accessKey: spaceSeparated,\n    action: null,\n    allow: null,\n    allowFullScreen: boolean,\n    allowPaymentRequest: boolean,\n    allowUserMedia: boolean,\n    alt: null,\n    as: null,\n    async: boolean,\n    autoCapitalize: null,\n    autoComplete: spaceSeparated,\n    autoFocus: boolean,\n    autoPlay: boolean,\n    blocking: spaceSeparated,\n    capture: null,\n    charSet: null,\n    checked: boolean,\n    cite: null,\n    className: spaceSeparated,\n    cols: number,\n    colSpan: null,\n    content: null,\n    contentEditable: booleanish,\n    controls: boolean,\n    controlsList: spaceSeparated,\n    coords: number | commaSeparated,\n    crossOrigin: null,\n    data: null,\n    dateTime: null,\n    decoding: null,\n    default: boolean,\n    defer: boolean,\n    dir: null,\n    dirName: null,\n    disabled: boolean,\n    download: overloadedBoolean,\n    draggable: booleanish,\n    encType: null,\n    enterKeyHint: null,\n    fetchPriority: null,\n    form: null,\n    formAction: null,\n    formEncType: null,\n    formMethod: null,\n    formNoValidate: boolean,\n    formTarget: null,\n    headers: spaceSeparated,\n    height: number,\n    hidden: boolean,\n    high: number,\n    href: null,\n    hrefLang: null,\n    htmlFor: spaceSeparated,\n    httpEquiv: spaceSeparated,\n    id: null,\n    imageSizes: null,\n    imageSrcSet: null,\n    inert: boolean,\n    inputMode: null,\n    integrity: null,\n    is: null,\n    isMap: boolean,\n    itemId: null,\n    itemProp: spaceSeparated,\n    itemRef: spaceSeparated,\n    itemScope: boolean,\n    itemType: spaceSeparated,\n    kind: null,\n    label: null,\n    lang: null,\n    language: null,\n    list: null,\n    loading: null,\n    loop: boolean,\n    low: number,\n    manifest: null,\n    max: null,\n    maxLength: number,\n    media: null,\n    method: null,\n    min: null,\n    minLength: number,\n    multiple: boolean,\n    muted: boolean,\n    name: null,\n    nonce: null,\n    noModule: boolean,\n    noValidate: boolean,\n    onAbort: null,\n    onAfterPrint: null,\n    onAuxClick: null,\n    onBeforeMatch: null,\n    onBeforePrint: null,\n    onBeforeToggle: null,\n    onBeforeUnload: null,\n    onBlur: null,\n    onCancel: null,\n    onCanPlay: null,\n    onCanPlayThrough: null,\n    onChange: null,\n    onClick: null,\n    onClose: null,\n    onContextLost: null,\n    onContextMenu: null,\n    onContextRestored: null,\n    onCopy: null,\n    onCueChange: null,\n    onCut: null,\n    onDblClick: null,\n    onDrag: null,\n    onDragEnd: null,\n    onDragEnter: null,\n    onDragExit: null,\n    onDragLeave: null,\n    onDragOver: null,\n    onDragStart: null,\n    onDrop: null,\n    onDurationChange: null,\n    onEmptied: null,\n    onEnded: null,\n    onError: null,\n    onFocus: null,\n    onFormData: null,\n    onHashChange: null,\n    onInput: null,\n    onInvalid: null,\n    onKeyDown: null,\n    onKeyPress: null,\n    onKeyUp: null,\n    onLanguageChange: null,\n    onLoad: null,\n    onLoadedData: null,\n    onLoadedMetadata: null,\n    onLoadEnd: null,\n    onLoadStart: null,\n    onMessage: null,\n    onMessageError: null,\n    onMouseDown: null,\n    onMouseEnter: null,\n    onMouseLeave: null,\n    onMouseMove: null,\n    onMouseOut: null,\n    onMouseOver: null,\n    onMouseUp: null,\n    onOffline: null,\n    onOnline: null,\n    onPageHide: null,\n    onPageShow: null,\n    onPaste: null,\n    onPause: null,\n    onPlay: null,\n    onPlaying: null,\n    onPopState: null,\n    onProgress: null,\n    onRateChange: null,\n    onRejectionHandled: null,\n    onReset: null,\n    onResize: null,\n    onScroll: null,\n    onScrollEnd: null,\n    onSecurityPolicyViolation: null,\n    onSeeked: null,\n    onSeeking: null,\n    onSelect: null,\n    onSlotChange: null,\n    onStalled: null,\n    onStorage: null,\n    onSubmit: null,\n    onSuspend: null,\n    onTimeUpdate: null,\n    onToggle: null,\n    onUnhandledRejection: null,\n    onUnload: null,\n    onVolumeChange: null,\n    onWaiting: null,\n    onWheel: null,\n    open: boolean,\n    optimum: number,\n    pattern: null,\n    ping: spaceSeparated,\n    placeholder: null,\n    playsInline: boolean,\n    popover: null,\n    popoverTarget: null,\n    popoverTargetAction: null,\n    poster: null,\n    preload: null,\n    readOnly: boolean,\n    referrerPolicy: null,\n    rel: spaceSeparated,\n    required: boolean,\n    reversed: boolean,\n    rows: number,\n    rowSpan: number,\n    sandbox: spaceSeparated,\n    scope: null,\n    scoped: boolean,\n    seamless: boolean,\n    selected: boolean,\n    shadowRootClonable: boolean,\n    shadowRootDelegatesFocus: boolean,\n    shadowRootMode: null,\n    shape: null,\n    size: number,\n    sizes: null,\n    slot: null,\n    span: number,\n    spellCheck: booleanish,\n    src: null,\n    srcDoc: null,\n    srcLang: null,\n    srcSet: null,\n    start: number,\n    step: null,\n    style: null,\n    tabIndex: number,\n    target: null,\n    title: null,\n    translate: null,\n    type: null,\n    typeMustMatch: boolean,\n    useMap: null,\n    value: booleanish,\n    width: number,\n    wrap: null,\n    writingSuggestions: null,\n\n    // Legacy.\n    // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n    align: null, // Several. Use CSS `text-align` instead,\n    aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n    archive: spaceSeparated, // `<object>`. List of URIs to archives\n    axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n    background: null, // `<body>`. Use CSS `background-image` instead\n    bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n    border: number, // `<table>`. Use CSS `border-width` instead,\n    borderColor: null, // `<table>`. Use CSS `border-color` instead,\n    bottomMargin: number, // `<body>`\n    cellPadding: null, // `<table>`\n    cellSpacing: null, // `<table>`\n    char: null, // Several table elements. When `align=char`, sets the character to align on\n    charOff: null, // Several table elements. When `char`, offsets the alignment\n    classId: null, // `<object>`\n    clear: null, // `<br>`. Use CSS `clear` instead\n    code: null, // `<object>`\n    codeBase: null, // `<object>`\n    codeType: null, // `<object>`\n    color: null, // `<font>` and `<hr>`. Use CSS instead\n    compact: boolean, // Lists. Use CSS to reduce space between items instead\n    declare: boolean, // `<object>`\n    event: null, // `<script>`\n    face: null, // `<font>`. Use CSS instead\n    frame: null, // `<table>`\n    frameBorder: null, // `<iframe>`. Use CSS `border` instead\n    hSpace: number, // `<img>` and `<object>`\n    leftMargin: number, // `<body>`\n    link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n    longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n    lowSrc: null, // `<img>`. Use a `<picture>`\n    marginHeight: number, // `<body>`\n    marginWidth: number, // `<body>`\n    noResize: boolean, // `<frame>`\n    noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n    noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n    noWrap: boolean, // `<td>` and `<th>`\n    object: null, // `<applet>`\n    profile: null, // `<head>`\n    prompt: null, // `<isindex>`\n    rev: null, // `<link>`\n    rightMargin: number, // `<body>`\n    rules: null, // `<table>`\n    scheme: null, // `<meta>`\n    scrolling: booleanish, // `<frame>`. Use overflow in the child context\n    standby: null, // `<object>`\n    summary: null, // `<table>`\n    text: null, // `<body>`. Use CSS `color` instead\n    topMargin: number, // `<body>`\n    valueType: null, // `<param>`\n    version: null, // `<html>`. Use a doctype.\n    vAlign: null, // Several. Use CSS `vertical-align` instead\n    vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n    vSpace: number, // `<img>` and `<object>`\n\n    // Non-standard Properties.\n    allowTransparency: null,\n    autoCorrect: null,\n    autoSave: null,\n    disablePictureInPicture: boolean,\n    disableRemotePlayback: boolean,\n    prefix: null,\n    property: null,\n    results: number,\n    security: null,\n    unselectable: null\n  }\n})\n","import {\n  boolean,\n  number,\n  spaceSeparated,\n  commaSeparated,\n  commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n  space: 'svg',\n  attributes: {\n    accentHeight: 'accent-height',\n    alignmentBaseline: 'alignment-baseline',\n    arabicForm: 'arabic-form',\n    baselineShift: 'baseline-shift',\n    capHeight: 'cap-height',\n    className: 'class',\n    clipPath: 'clip-path',\n    clipRule: 'clip-rule',\n    colorInterpolation: 'color-interpolation',\n    colorInterpolationFilters: 'color-interpolation-filters',\n    colorProfile: 'color-profile',\n    colorRendering: 'color-rendering',\n    crossOrigin: 'crossorigin',\n    dataType: 'datatype',\n    dominantBaseline: 'dominant-baseline',\n    enableBackground: 'enable-background',\n    fillOpacity: 'fill-opacity',\n    fillRule: 'fill-rule',\n    floodColor: 'flood-color',\n    floodOpacity: 'flood-opacity',\n    fontFamily: 'font-family',\n    fontSize: 'font-size',\n    fontSizeAdjust: 'font-size-adjust',\n    fontStretch: 'font-stretch',\n    fontStyle: 'font-style',\n    fontVariant: 'font-variant',\n    fontWeight: 'font-weight',\n    glyphName: 'glyph-name',\n    glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n    glyphOrientationVertical: 'glyph-orientation-vertical',\n    hrefLang: 'hreflang',\n    horizAdvX: 'horiz-adv-x',\n    horizOriginX: 'horiz-origin-x',\n    horizOriginY: 'horiz-origin-y',\n    imageRendering: 'image-rendering',\n    letterSpacing: 'letter-spacing',\n    lightingColor: 'lighting-color',\n    markerEnd: 'marker-end',\n    markerMid: 'marker-mid',\n    markerStart: 'marker-start',\n    navDown: 'nav-down',\n    navDownLeft: 'nav-down-left',\n    navDownRight: 'nav-down-right',\n    navLeft: 'nav-left',\n    navNext: 'nav-next',\n    navPrev: 'nav-prev',\n    navRight: 'nav-right',\n    navUp: 'nav-up',\n    navUpLeft: 'nav-up-left',\n    navUpRight: 'nav-up-right',\n    onAbort: 'onabort',\n    onActivate: 'onactivate',\n    onAfterPrint: 'onafterprint',\n    onBeforePrint: 'onbeforeprint',\n    onBegin: 'onbegin',\n    onCancel: 'oncancel',\n    onCanPlay: 'oncanplay',\n    onCanPlayThrough: 'oncanplaythrough',\n    onChange: 'onchange',\n    onClick: 'onclick',\n    onClose: 'onclose',\n    onCopy: 'oncopy',\n    onCueChange: 'oncuechange',\n    onCut: 'oncut',\n    onDblClick: 'ondblclick',\n    onDrag: 'ondrag',\n    onDragEnd: 'ondragend',\n    onDragEnter: 'ondragenter',\n    onDragExit: 'ondragexit',\n    onDragLeave: 'ondragleave',\n    onDragOver: 'ondragover',\n    onDragStart: 'ondragstart',\n    onDrop: 'ondrop',\n    onDurationChange: 'ondurationchange',\n    onEmptied: 'onemptied',\n    onEnd: 'onend',\n    onEnded: 'onended',\n    onError: 'onerror',\n    onFocus: 'onfocus',\n    onFocusIn: 'onfocusin',\n    onFocusOut: 'onfocusout',\n    onHashChange: 'onhashchange',\n    onInput: 'oninput',\n    onInvalid: 'oninvalid',\n    onKeyDown: 'onkeydown',\n    onKeyPress: 'onkeypress',\n    onKeyUp: 'onkeyup',\n    onLoad: 'onload',\n    onLoadedData: 'onloadeddata',\n    onLoadedMetadata: 'onloadedmetadata',\n    onLoadStart: 'onloadstart',\n    onMessage: 'onmessage',\n    onMouseDown: 'onmousedown',\n    onMouseEnter: 'onmouseenter',\n    onMouseLeave: 'onmouseleave',\n    onMouseMove: 'onmousemove',\n    onMouseOut: 'onmouseout',\n    onMouseOver: 'onmouseover',\n    onMouseUp: 'onmouseup',\n    onMouseWheel: 'onmousewheel',\n    onOffline: 'onoffline',\n    onOnline: 'ononline',\n    onPageHide: 'onpagehide',\n    onPageShow: 'onpageshow',\n    onPaste: 'onpaste',\n    onPause: 'onpause',\n    onPlay: 'onplay',\n    onPlaying: 'onplaying',\n    onPopState: 'onpopstate',\n    onProgress: 'onprogress',\n    onRateChange: 'onratechange',\n    onRepeat: 'onrepeat',\n    onReset: 'onreset',\n    onResize: 'onresize',\n    onScroll: 'onscroll',\n    onSeeked: 'onseeked',\n    onSeeking: 'onseeking',\n    onSelect: 'onselect',\n    onShow: 'onshow',\n    onStalled: 'onstalled',\n    onStorage: 'onstorage',\n    onSubmit: 'onsubmit',\n    onSuspend: 'onsuspend',\n    onTimeUpdate: 'ontimeupdate',\n    onToggle: 'ontoggle',\n    onUnload: 'onunload',\n    onVolumeChange: 'onvolumechange',\n    onWaiting: 'onwaiting',\n    onZoom: 'onzoom',\n    overlinePosition: 'overline-position',\n    overlineThickness: 'overline-thickness',\n    paintOrder: 'paint-order',\n    panose1: 'panose-1',\n    pointerEvents: 'pointer-events',\n    referrerPolicy: 'referrerpolicy',\n    renderingIntent: 'rendering-intent',\n    shapeRendering: 'shape-rendering',\n    stopColor: 'stop-color',\n    stopOpacity: 'stop-opacity',\n    strikethroughPosition: 'strikethrough-position',\n    strikethroughThickness: 'strikethrough-thickness',\n    strokeDashArray: 'stroke-dasharray',\n    strokeDashOffset: 'stroke-dashoffset',\n    strokeLineCap: 'stroke-linecap',\n    strokeLineJoin: 'stroke-linejoin',\n    strokeMiterLimit: 'stroke-miterlimit',\n    strokeOpacity: 'stroke-opacity',\n    strokeWidth: 'stroke-width',\n    tabIndex: 'tabindex',\n    textAnchor: 'text-anchor',\n    textDecoration: 'text-decoration',\n    textRendering: 'text-rendering',\n    transformOrigin: 'transform-origin',\n    typeOf: 'typeof',\n    underlinePosition: 'underline-position',\n    underlineThickness: 'underline-thickness',\n    unicodeBidi: 'unicode-bidi',\n    unicodeRange: 'unicode-range',\n    unitsPerEm: 'units-per-em',\n    vAlphabetic: 'v-alphabetic',\n    vHanging: 'v-hanging',\n    vIdeographic: 'v-ideographic',\n    vMathematical: 'v-mathematical',\n    vectorEffect: 'vector-effect',\n    vertAdvY: 'vert-adv-y',\n    vertOriginX: 'vert-origin-x',\n    vertOriginY: 'vert-origin-y',\n    wordSpacing: 'word-spacing',\n    writingMode: 'writing-mode',\n    xHeight: 'x-height',\n    // These were camelcased in Tiny. Now lowercased in SVG 2\n    playbackOrder: 'playbackorder',\n    timelineBegin: 'timelinebegin'\n  },\n  transform: caseSensitiveTransform,\n  properties: {\n    about: commaOrSpaceSeparated,\n    accentHeight: number,\n    accumulate: null,\n    additive: null,\n    alignmentBaseline: null,\n    alphabetic: number,\n    amplitude: number,\n    arabicForm: null,\n    ascent: number,\n    attributeName: null,\n    attributeType: null,\n    azimuth: number,\n    bandwidth: null,\n    baselineShift: null,\n    baseFrequency: null,\n    baseProfile: null,\n    bbox: null,\n    begin: null,\n    bias: number,\n    by: null,\n    calcMode: null,\n    capHeight: number,\n    className: spaceSeparated,\n    clip: null,\n    clipPath: null,\n    clipPathUnits: null,\n    clipRule: null,\n    color: null,\n    colorInterpolation: null,\n    colorInterpolationFilters: null,\n    colorProfile: null,\n    colorRendering: null,\n    content: null,\n    contentScriptType: null,\n    contentStyleType: null,\n    crossOrigin: null,\n    cursor: null,\n    cx: null,\n    cy: null,\n    d: null,\n    dataType: null,\n    defaultAction: null,\n    descent: number,\n    diffuseConstant: number,\n    direction: null,\n    display: null,\n    dur: null,\n    divisor: number,\n    dominantBaseline: null,\n    download: boolean,\n    dx: null,\n    dy: null,\n    edgeMode: null,\n    editable: null,\n    elevation: number,\n    enableBackground: null,\n    end: null,\n    event: null,\n    exponent: number,\n    externalResourcesRequired: null,\n    fill: null,\n    fillOpacity: number,\n    fillRule: null,\n    filter: null,\n    filterRes: null,\n    filterUnits: null,\n    floodColor: null,\n    floodOpacity: null,\n    focusable: null,\n    focusHighlight: null,\n    fontFamily: null,\n    fontSize: null,\n    fontSizeAdjust: null,\n    fontStretch: null,\n    fontStyle: null,\n    fontVariant: null,\n    fontWeight: null,\n    format: null,\n    fr: null,\n    from: null,\n    fx: null,\n    fy: null,\n    g1: commaSeparated,\n    g2: commaSeparated,\n    glyphName: commaSeparated,\n    glyphOrientationHorizontal: null,\n    glyphOrientationVertical: null,\n    glyphRef: null,\n    gradientTransform: null,\n    gradientUnits: null,\n    handler: null,\n    hanging: number,\n    hatchContentUnits: null,\n    hatchUnits: null,\n    height: null,\n    href: null,\n    hrefLang: null,\n    horizAdvX: number,\n    horizOriginX: number,\n    horizOriginY: number,\n    id: null,\n    ideographic: number,\n    imageRendering: null,\n    initialVisibility: null,\n    in: null,\n    in2: null,\n    intercept: number,\n    k: number,\n    k1: number,\n    k2: number,\n    k3: number,\n    k4: number,\n    kernelMatrix: commaOrSpaceSeparated,\n    kernelUnitLength: null,\n    keyPoints: null, // SEMI_COLON_SEPARATED\n    keySplines: null, // SEMI_COLON_SEPARATED\n    keyTimes: null, // SEMI_COLON_SEPARATED\n    kerning: null,\n    lang: null,\n    lengthAdjust: null,\n    letterSpacing: null,\n    lightingColor: null,\n    limitingConeAngle: number,\n    local: null,\n    markerEnd: null,\n    markerMid: null,\n    markerStart: null,\n    markerHeight: null,\n    markerUnits: null,\n    markerWidth: null,\n    mask: null,\n    maskContentUnits: null,\n    maskUnits: null,\n    mathematical: null,\n    max: null,\n    media: null,\n    mediaCharacterEncoding: null,\n    mediaContentEncodings: null,\n    mediaSize: number,\n    mediaTime: null,\n    method: null,\n    min: null,\n    mode: null,\n    name: null,\n    navDown: null,\n    navDownLeft: null,\n    navDownRight: null,\n    navLeft: null,\n    navNext: null,\n    navPrev: null,\n    navRight: null,\n    navUp: null,\n    navUpLeft: null,\n    navUpRight: null,\n    numOctaves: null,\n    observer: null,\n    offset: null,\n    onAbort: null,\n    onActivate: null,\n    onAfterPrint: null,\n    onBeforePrint: null,\n    onBegin: null,\n    onCancel: null,\n    onCanPlay: null,\n    onCanPlayThrough: null,\n    onChange: null,\n    onClick: null,\n    onClose: null,\n    onCopy: null,\n    onCueChange: null,\n    onCut: null,\n    onDblClick: null,\n    onDrag: null,\n    onDragEnd: null,\n    onDragEnter: null,\n    onDragExit: null,\n    onDragLeave: null,\n    onDragOver: null,\n    onDragStart: null,\n    onDrop: null,\n    onDurationChange: null,\n    onEmptied: null,\n    onEnd: null,\n    onEnded: null,\n    onError: null,\n    onFocus: null,\n    onFocusIn: null,\n    onFocusOut: null,\n    onHashChange: null,\n    onInput: null,\n    onInvalid: null,\n    onKeyDown: null,\n    onKeyPress: null,\n    onKeyUp: null,\n    onLoad: null,\n    onLoadedData: null,\n    onLoadedMetadata: null,\n    onLoadStart: null,\n    onMessage: null,\n    onMouseDown: null,\n    onMouseEnter: null,\n    onMouseLeave: null,\n    onMouseMove: null,\n    onMouseOut: null,\n    onMouseOver: null,\n    onMouseUp: null,\n    onMouseWheel: null,\n    onOffline: null,\n    onOnline: null,\n    onPageHide: null,\n    onPageShow: null,\n    onPaste: null,\n    onPause: null,\n    onPlay: null,\n    onPlaying: null,\n    onPopState: null,\n    onProgress: null,\n    onRateChange: null,\n    onRepeat: null,\n    onReset: null,\n    onResize: null,\n    onScroll: null,\n    onSeeked: null,\n    onSeeking: null,\n    onSelect: null,\n    onShow: null,\n    onStalled: null,\n    onStorage: null,\n    onSubmit: null,\n    onSuspend: null,\n    onTimeUpdate: null,\n    onToggle: null,\n    onUnload: null,\n    onVolumeChange: null,\n    onWaiting: null,\n    onZoom: null,\n    opacity: null,\n    operator: null,\n    order: null,\n    orient: null,\n    orientation: null,\n    origin: null,\n    overflow: null,\n    overlay: null,\n    overlinePosition: number,\n    overlineThickness: number,\n    paintOrder: null,\n    panose1: null,\n    path: null,\n    pathLength: number,\n    patternContentUnits: null,\n    patternTransform: null,\n    patternUnits: null,\n    phase: null,\n    ping: spaceSeparated,\n    pitch: null,\n    playbackOrder: null,\n    pointerEvents: null,\n    points: null,\n    pointsAtX: number,\n    pointsAtY: number,\n    pointsAtZ: number,\n    preserveAlpha: null,\n    preserveAspectRatio: null,\n    primitiveUnits: null,\n    propagate: null,\n    property: commaOrSpaceSeparated,\n    r: null,\n    radius: null,\n    referrerPolicy: null,\n    refX: null,\n    refY: null,\n    rel: commaOrSpaceSeparated,\n    rev: commaOrSpaceSeparated,\n    renderingIntent: null,\n    repeatCount: null,\n    repeatDur: null,\n    requiredExtensions: commaOrSpaceSeparated,\n    requiredFeatures: commaOrSpaceSeparated,\n    requiredFonts: commaOrSpaceSeparated,\n    requiredFormats: commaOrSpaceSeparated,\n    resource: null,\n    restart: null,\n    result: null,\n    rotate: null,\n    rx: null,\n    ry: null,\n    scale: null,\n    seed: null,\n    shapeRendering: null,\n    side: null,\n    slope: null,\n    snapshotTime: null,\n    specularConstant: number,\n    specularExponent: number,\n    spreadMethod: null,\n    spacing: null,\n    startOffset: null,\n    stdDeviation: null,\n    stemh: null,\n    stemv: null,\n    stitchTiles: null,\n    stopColor: null,\n    stopOpacity: null,\n    strikethroughPosition: number,\n    strikethroughThickness: number,\n    string: null,\n    stroke: null,\n    strokeDashArray: commaOrSpaceSeparated,\n    strokeDashOffset: null,\n    strokeLineCap: null,\n    strokeLineJoin: null,\n    strokeMiterLimit: number,\n    strokeOpacity: number,\n    strokeWidth: null,\n    style: null,\n    surfaceScale: number,\n    syncBehavior: null,\n    syncBehaviorDefault: null,\n    syncMaster: null,\n    syncTolerance: null,\n    syncToleranceDefault: null,\n    systemLanguage: commaOrSpaceSeparated,\n    tabIndex: number,\n    tableValues: null,\n    target: null,\n    targetX: number,\n    targetY: number,\n    textAnchor: null,\n    textDecoration: null,\n    textRendering: null,\n    textLength: null,\n    timelineBegin: null,\n    title: null,\n    transformBehavior: null,\n    type: null,\n    typeOf: commaOrSpaceSeparated,\n    to: null,\n    transform: null,\n    transformOrigin: null,\n    u1: null,\n    u2: null,\n    underlinePosition: number,\n    underlineThickness: number,\n    unicode: null,\n    unicodeBidi: null,\n    unicodeRange: null,\n    unitsPerEm: number,\n    values: null,\n    vAlphabetic: number,\n    vMathematical: number,\n    vectorEffect: null,\n    vHanging: number,\n    vIdeographic: number,\n    version: null,\n    vertAdvY: number,\n    vertOriginX: number,\n    vertOriginY: number,\n    viewBox: null,\n    viewTarget: null,\n    visibility: null,\n    width: null,\n    widths: null,\n    wordSpacing: null,\n    writingMode: null,\n    x: null,\n    x1: null,\n    x2: null,\n    xChannelSelector: null,\n    xHeight: number,\n    y: null,\n    y1: null,\n    y2: null,\n    yChannelSelector: null,\n    z: null,\n    zoomAndPan: null\n  }\n})\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n  const normal = normalize(value)\n  let prop = value\n  let Type = Info\n\n  if (normal in schema.normal) {\n    return schema.property[schema.normal[normal]]\n  }\n\n  if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n    // Attribute or property.\n    if (value.charAt(4) === '-') {\n      // Turn it into a property.\n      const rest = value.slice(5).replace(dash, camelcase)\n      prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n    } else {\n      // Turn it into an attribute.\n      const rest = value.slice(4)\n\n      if (!dash.test(rest)) {\n        let dashes = rest.replace(cap, kebab)\n\n        if (dashes.charAt(0) !== '-') {\n          dashes = '-' + dashes\n        }\n\n        value = 'data' + dashes\n      }\n    }\n\n    Type = DefinedInfo\n  }\n\n  return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n  return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n  return $0.charAt(1).toUpperCase()\n}\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @callback Handler\n *   Handle a value, with a certain ID field set to a certain value.\n *   The ID field is passed to `zwitch`, and it’s value is this function’s\n *   place on the `handlers` record.\n * @param {...any} parameters\n *   Arbitrary parameters passed to the zwitch.\n *   The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n *   Anything!\n */\n\n/**\n * @callback UnknownHandler\n *   Handle values that do have a certain ID field, but it’s set to a value\n *   that is not listed in the `handlers` record.\n * @param {unknown} value\n *   An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n *   Arbitrary parameters passed to the zwitch.\n * @returns {any}\n *   Anything!\n */\n\n/**\n * @callback InvalidHandler\n *   Handle values that do not have a certain ID field.\n * @param {unknown} value\n *   Any unknown value.\n * @param {...any} rest\n *   Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n *   This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n *   Configuration (required).\n * @property {Invalid} [invalid]\n *   Handler to use for invalid values.\n * @property {Unknown} [unknown]\n *   Handler to use for unknown values.\n * @property {Handlers} [handlers]\n *   Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n *   Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n *   Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n  const settings = options || {}\n\n  /**\n   * Handle one value.\n   *\n   * Based on the bound `key`, a respective handler will be called.\n   * If `value` is not an object, or doesn’t have a `key` property, the special\n   * “invalid” handler will be called.\n   * If `value` has an unknown `key`, the special “unknown” handler will be\n   * called.\n   *\n   * All arguments, and the context object, are passed through to the handler,\n   * and it’s result is returned.\n   *\n   * @this {unknown}\n   *   Any context object.\n   * @param {unknown} [value]\n   *   Any value.\n   * @param {...unknown} parameters\n   *   Arbitrary parameters passed to the zwitch.\n   * @property {Handler} invalid\n   *   Handle for values that do not have a certain ID field.\n   * @property {Handler} unknown\n   *   Handle values that do have a certain ID field, but it’s set to a value\n   *   that is not listed in the `handlers` record.\n   * @property {Handlers} handlers\n   *   Record of handlers.\n   * @returns {unknown}\n   *   Anything.\n   */\n  function one(value, ...parameters) {\n    /** @type {Handler|undefined} */\n    let fn = one.invalid\n    const handlers = one.handlers\n\n    if (value && own.call(value, key)) {\n      // @ts-expect-error Indexable.\n      const id = String(value[key])\n      // @ts-expect-error Indexable.\n      fn = own.call(handlers, id) ? handlers[id] : one.unknown\n    }\n\n    if (fn) {\n      return fn.call(this, value, ...parameters)\n    }\n  }\n\n  one.handlers = settings.handlers || {}\n  one.invalid = settings.invalid\n  one.unknown = settings.unknown\n\n  // @ts-expect-error: matches!\n  return one\n}\n","/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n *   Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n *   Whether to only escape possibly dangerous characters.\n *   Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n *   Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n  // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n  /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n  value = value.replace(\n    options.subset\n      ? charactersToExpressionCached(options.subset)\n      : defaultSubsetRegex,\n    basic\n  )\n\n  if (options.subset || options.escapeOnly) {\n    return value\n  }\n\n  return (\n    value\n      // Surrogate pairs.\n      .replace(surrogatePairsRegex, surrogate)\n      // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n      // non-ASCII ones).\n      .replace(controlCharactersRegex, basic)\n  )\n\n  /**\n   * @param {string} pair\n   * @param {number} index\n   * @param {string} all\n   */\n  function surrogate(pair, index, all) {\n    return options.format(\n      (pair.charCodeAt(0) - 0xd800) * 0x400 +\n        pair.charCodeAt(1) -\n        0xdc00 +\n        0x10000,\n      all.charCodeAt(index + 2),\n      options\n    )\n  }\n\n  /**\n   * @param {string} character\n   * @param {number} index\n   * @param {string} all\n   */\n  function basic(character, index, all) {\n    return options.format(\n      character.charCodeAt(0),\n      all.charCodeAt(index + 1),\n      options\n    )\n  }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n  let cached = subsetToRegexCache.get(subset)\n\n  if (!cached) {\n    cached = charactersToExpression(subset)\n    subsetToRegexCache.set(subset, cached)\n  }\n\n  return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n  /** @type {Array<string>} */\n  const groups = []\n  let index = -1\n\n  while (++index < subset.length) {\n    groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n  }\n\n  return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n  const value = '&#x' + code.toString(16).toUpperCase()\n  return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n    ? value\n    : value + ';'\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n  const value = '&#' + String(code)\n  return omit && next && !decimalRegex.test(String.fromCharCode(next))\n    ? value\n    : value + ';'\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n  'AElig',\n  'AMP',\n  'Aacute',\n  'Acirc',\n  'Agrave',\n  'Aring',\n  'Atilde',\n  'Auml',\n  'COPY',\n  'Ccedil',\n  'ETH',\n  'Eacute',\n  'Ecirc',\n  'Egrave',\n  'Euml',\n  'GT',\n  'Iacute',\n  'Icirc',\n  'Igrave',\n  'Iuml',\n  'LT',\n  'Ntilde',\n  'Oacute',\n  'Ocirc',\n  'Ograve',\n  'Oslash',\n  'Otilde',\n  'Ouml',\n  'QUOT',\n  'REG',\n  'THORN',\n  'Uacute',\n  'Ucirc',\n  'Ugrave',\n  'Uuml',\n  'Yacute',\n  'aacute',\n  'acirc',\n  'acute',\n  'aelig',\n  'agrave',\n  'amp',\n  'aring',\n  'atilde',\n  'auml',\n  'brvbar',\n  'ccedil',\n  'cedil',\n  'cent',\n  'copy',\n  'curren',\n  'deg',\n  'divide',\n  'eacute',\n  'ecirc',\n  'egrave',\n  'eth',\n  'euml',\n  'frac12',\n  'frac14',\n  'frac34',\n  'gt',\n  'iacute',\n  'icirc',\n  'iexcl',\n  'igrave',\n  'iquest',\n  'iuml',\n  'laquo',\n  'lt',\n  'macr',\n  'micro',\n  'middot',\n  'nbsp',\n  'not',\n  'ntilde',\n  'oacute',\n  'ocirc',\n  'ograve',\n  'ordf',\n  'ordm',\n  'oslash',\n  'otilde',\n  'ouml',\n  'para',\n  'plusmn',\n  'pound',\n  'quot',\n  'raquo',\n  'reg',\n  'sect',\n  'shy',\n  'sup1',\n  'sup2',\n  'sup3',\n  'szlig',\n  'thorn',\n  'times',\n  'uacute',\n  'ucirc',\n  'ugrave',\n  'uml',\n  'uuml',\n  'yacute',\n  'yen',\n  'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n  nbsp: ' ',\n  iexcl: '¡',\n  cent: '¢',\n  pound: '£',\n  curren: '¤',\n  yen: '¥',\n  brvbar: '¦',\n  sect: '§',\n  uml: '¨',\n  copy: '©',\n  ordf: 'ª',\n  laquo: '«',\n  not: '¬',\n  shy: '­',\n  reg: '®',\n  macr: '¯',\n  deg: '°',\n  plusmn: '±',\n  sup2: '²',\n  sup3: '³',\n  acute: '´',\n  micro: 'µ',\n  para: '¶',\n  middot: '·',\n  cedil: '¸',\n  sup1: '¹',\n  ordm: 'º',\n  raquo: '»',\n  frac14: '¼',\n  frac12: '½',\n  frac34: '¾',\n  iquest: '¿',\n  Agrave: 'À',\n  Aacute: 'Á',\n  Acirc: 'Â',\n  Atilde: 'Ã',\n  Auml: 'Ä',\n  Aring: 'Å',\n  AElig: 'Æ',\n  Ccedil: 'Ç',\n  Egrave: 'È',\n  Eacute: 'É',\n  Ecirc: 'Ê',\n  Euml: 'Ë',\n  Igrave: 'Ì',\n  Iacute: 'Í',\n  Icirc: 'Î',\n  Iuml: 'Ï',\n  ETH: 'Ð',\n  Ntilde: 'Ñ',\n  Ograve: 'Ò',\n  Oacute: 'Ó',\n  Ocirc: 'Ô',\n  Otilde: 'Õ',\n  Ouml: 'Ö',\n  times: '×',\n  Oslash: 'Ø',\n  Ugrave: 'Ù',\n  Uacute: 'Ú',\n  Ucirc: 'Û',\n  Uuml: 'Ü',\n  Yacute: 'Ý',\n  THORN: 'Þ',\n  szlig: 'ß',\n  agrave: 'à',\n  aacute: 'á',\n  acirc: 'â',\n  atilde: 'ã',\n  auml: 'ä',\n  aring: 'å',\n  aelig: 'æ',\n  ccedil: 'ç',\n  egrave: 'è',\n  eacute: 'é',\n  ecirc: 'ê',\n  euml: 'ë',\n  igrave: 'ì',\n  iacute: 'í',\n  icirc: 'î',\n  iuml: 'ï',\n  eth: 'ð',\n  ntilde: 'ñ',\n  ograve: 'ò',\n  oacute: 'ó',\n  ocirc: 'ô',\n  otilde: 'õ',\n  ouml: 'ö',\n  divide: '÷',\n  oslash: 'ø',\n  ugrave: 'ù',\n  uacute: 'ú',\n  ucirc: 'û',\n  uuml: 'ü',\n  yacute: 'ý',\n  thorn: 'þ',\n  yuml: 'ÿ',\n  fnof: 'ƒ',\n  Alpha: 'Α',\n  Beta: 'Β',\n  Gamma: 'Γ',\n  Delta: 'Δ',\n  Epsilon: 'Ε',\n  Zeta: 'Ζ',\n  Eta: 'Η',\n  Theta: 'Θ',\n  Iota: 'Ι',\n  Kappa: 'Κ',\n  Lambda: 'Λ',\n  Mu: 'Μ',\n  Nu: 'Ν',\n  Xi: 'Ξ',\n  Omicron: 'Ο',\n  Pi: 'Π',\n  Rho: 'Ρ',\n  Sigma: 'Σ',\n  Tau: 'Τ',\n  Upsilon: 'Υ',\n  Phi: 'Φ',\n  Chi: 'Χ',\n  Psi: 'Ψ',\n  Omega: 'Ω',\n  alpha: 'α',\n  beta: 'β',\n  gamma: 'γ',\n  delta: 'δ',\n  epsilon: 'ε',\n  zeta: 'ζ',\n  eta: 'η',\n  theta: 'θ',\n  iota: 'ι',\n  kappa: 'κ',\n  lambda: 'λ',\n  mu: 'μ',\n  nu: 'ν',\n  xi: 'ξ',\n  omicron: 'ο',\n  pi: 'π',\n  rho: 'ρ',\n  sigmaf: 'ς',\n  sigma: 'σ',\n  tau: 'τ',\n  upsilon: 'υ',\n  phi: 'φ',\n  chi: 'χ',\n  psi: 'ψ',\n  omega: 'ω',\n  thetasym: 'ϑ',\n  upsih: 'ϒ',\n  piv: 'ϖ',\n  bull: '•',\n  hellip: '…',\n  prime: '′',\n  Prime: '″',\n  oline: '‾',\n  frasl: '⁄',\n  weierp: '℘',\n  image: 'ℑ',\n  real: 'ℜ',\n  trade: '™',\n  alefsym: 'ℵ',\n  larr: '←',\n  uarr: '↑',\n  rarr: '→',\n  darr: '↓',\n  harr: '↔',\n  crarr: '↵',\n  lArr: '⇐',\n  uArr: '⇑',\n  rArr: '⇒',\n  dArr: '⇓',\n  hArr: '⇔',\n  forall: '∀',\n  part: '∂',\n  exist: '∃',\n  empty: '∅',\n  nabla: '∇',\n  isin: '∈',\n  notin: '∉',\n  ni: '∋',\n  prod: '∏',\n  sum: '∑',\n  minus: '−',\n  lowast: '∗',\n  radic: '√',\n  prop: '∝',\n  infin: '∞',\n  ang: '∠',\n  and: '∧',\n  or: '∨',\n  cap: '∩',\n  cup: '∪',\n  int: '∫',\n  there4: '∴',\n  sim: '∼',\n  cong: '≅',\n  asymp: '≈',\n  ne: '≠',\n  equiv: '≡',\n  le: '≤',\n  ge: '≥',\n  sub: '⊂',\n  sup: '⊃',\n  nsub: '⊄',\n  sube: '⊆',\n  supe: '⊇',\n  oplus: '⊕',\n  otimes: '⊗',\n  perp: '⊥',\n  sdot: '⋅',\n  lceil: '⌈',\n  rceil: '⌉',\n  lfloor: '⌊',\n  rfloor: '⌋',\n  lang: '〈',\n  rang: '〉',\n  loz: '◊',\n  spades: '♠',\n  clubs: '♣',\n  hearts: '♥',\n  diams: '♦',\n  quot: '\"',\n  amp: '&',\n  lt: '<',\n  gt: '>',\n  OElig: 'Œ',\n  oelig: 'œ',\n  Scaron: 'Š',\n  scaron: 'š',\n  Yuml: 'Ÿ',\n  circ: 'ˆ',\n  tilde: '˜',\n  ensp: ' ',\n  emsp: ' ',\n  thinsp: ' ',\n  zwnj: '‌',\n  zwj: '‍',\n  lrm: '‎',\n  rlm: '‏',\n  ndash: '–',\n  mdash: '—',\n  lsquo: '‘',\n  rsquo: '’',\n  sbquo: '‚',\n  ldquo: '“',\n  rdquo: '”',\n  bdquo: '„',\n  dagger: '†',\n  Dagger: '‡',\n  permil: '‰',\n  lsaquo: '‹',\n  rsaquo: '›',\n  euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n  'cent',\n  'copy',\n  'divide',\n  'gt',\n  'lt',\n  'not',\n  'para',\n  'times'\n]\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n  if (own.call(characterEntitiesHtml4, key)) {\n    characters[characterEntitiesHtml4[key]] = key\n  }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n  const character = String.fromCharCode(code)\n\n  if (own.call(characters, character)) {\n    const name = characters[character]\n    const value = '&' + name\n\n    if (\n      omit &&\n      characterEntitiesLegacy.includes(name) &&\n      !dangerous.includes(name) &&\n      (!attribute ||\n        (next &&\n          next !== 61 /* `=` */ &&\n          notAlphanumericRegex.test(String.fromCharCode(next))))\n    ) {\n      return value\n    }\n\n    return value + ';'\n  }\n\n  return ''\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n *   Prefer named character references (`&amp;`) where possible.\n * @property {boolean} [useShortestReferences=false]\n *   Prefer the shortest possible reference, if that results in less bytes.\n *   **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n *   Whether to omit semicolons when possible.\n *   **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n *   Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n *   Create character references which don’t fail in attributes.\n *   **Note**: `attribute` only applies when operating dangerously with\n *   `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n  let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n  /** @type {string|undefined} */\n  let named\n\n  if (options.useNamedReferences || options.useShortestReferences) {\n    named = toNamed(\n      code,\n      next,\n      options.omitOptionalSemicolons,\n      options.attribute\n    )\n  }\n\n  // Use the shortest numeric reference when requested.\n  // A simple algorithm would use decimal for all code points under 100, as\n  // those are shorter than hexadecimal:\n  //\n  // * `&#99;` vs `&#x63;` (decimal shorter)\n  // * `&#100;` vs `&#x64;` (equal)\n  //\n  // However, because we take `next` into consideration when `omit` is used,\n  // And it would be possible that decimals are shorter on bigger values as\n  // well if `next` is hexadecimal but not decimal, we instead compare both.\n  if (\n    (options.useShortestReferences || !named) &&\n    options.useShortestReferences\n  ) {\n    const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n    if (decimal.length < numeric.length) {\n      numeric = decimal\n    }\n  }\n\n  return named &&\n    (!options.useShortestReferences || named.length < numeric.length)\n    ? named\n    : numeric\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n *   Value to encode.\n * @param {Options} [options]\n *   Configuration.\n * @returns {string}\n *   Encoded value.\n */\nexport function stringifyEntities(value, options) {\n  return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n *   Value to encode.\n * @param {LightOptions} [options]\n *   Configuration.\n * @returns {string}\n *   Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n  return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n *   Node to handle.\n * @param {number | undefined} _1\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _2\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n  // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n  return state.settings.bogusComments\n    ? '<?' +\n        stringifyEntities(\n          node.value,\n          Object.assign({}, state.settings.characterReferences, {\n            subset: bogusCommentEntitySubset\n          })\n        ) +\n        '>'\n    : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n  /**\n   * @param {string} $0\n   */\n  function encode($0) {\n    return stringifyEntities(\n      $0,\n      Object.assign({}, state.settings.characterReferences, {\n        subset: commentEntitySubset\n      })\n    )\n  }\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n *   Node to handle.\n * @param {number | undefined} _2\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _3\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n  return (\n    '<!' +\n    (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n    (state.settings.tightDoctype ? '' : ' ') +\n    'html>'\n  )\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n *   Value to search in.\n * @param {string} character\n *   Character (or substring) to look for.\n * @return {number}\n *   Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n  const source = String(value)\n\n  if (typeof character !== 'string') {\n    throw new TypeError('Expected character')\n  }\n\n  let count = 0\n  let index = source.indexOf(character)\n\n  while (index !== -1) {\n    count++\n    index = source.indexOf(character, index + character.length)\n  }\n\n  return count\n}\n","/**\n * @typedef Options\n *   Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n *   Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n *   Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n *   Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n *   Comma-separated tokens.\n * @returns {Array<string>}\n *   List of tokens.\n */\nexport function parse(value) {\n  /** @type {Array<string>} */\n  const tokens = []\n  const input = String(value || '')\n  let index = input.indexOf(',')\n  let start = 0\n  /** @type {boolean} */\n  let end = false\n\n  while (!end) {\n    if (index === -1) {\n      index = input.length\n      end = true\n    }\n\n    const token = input.slice(start, index).trim()\n\n    if (token || !end) {\n      tokens.push(token)\n    }\n\n    start = index + 1\n    index = input.indexOf(',', start)\n  }\n\n  return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n *   List of tokens.\n * @param {Options} [options]\n *   Configuration for `stringify` (optional).\n * @returns {string}\n *   Comma-separated tokens.\n */\nexport function stringify(values, options) {\n  const settings = options || {}\n\n  // Ensure the last empty entry is seen.\n  const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n  return input\n    .join(\n      (settings.padRight ? ' ' : '') +\n        ',' +\n        (settings.padLeft === false ? '' : ' ')\n    )\n    .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n *   Space-separated tokens.\n * @returns {Array<string>}\n *   List of tokens.\n */\nexport function parse(value) {\n  const input = String(value || '').trim()\n  return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n *   List of tokens.\n * @returns {string}\n *   Space-separated tokens.\n */\nexport function stringify(values) {\n  return values.join(' ').trim()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n *   Thing to check (`Node` or `string`).\n * @returns {boolean}\n *   Whether the `value` is inter-element whitespace (`boolean`): consisting of\n *   zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n *   (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n *   whose `value` field is checked.\n */\nexport function whitespace(thing) {\n  return typeof thing === 'object'\n    ? thing.type === 'text'\n      ? empty(thing.value)\n      : false\n    : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n  return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n  return sibling\n\n  /**\n   * Find applicable siblings in a direction.\n   *\n   * @template {Parents} Parent\n   *   Parent type.\n   * @param {Parent | undefined} parent\n   *   Parent.\n   * @param {number | undefined} index\n   *   Index of child in `parent`.\n   * @param {boolean | undefined} [includeWhitespace=false]\n   *   Whether to include whitespace (default: `false`).\n   * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n   *   Child of parent.\n   */\n  function sibling(parent, index, includeWhitespace) {\n    const siblings = parent ? parent.children : emptyChildren\n    let offset = (index || 0) + increment\n    let next = siblings[offset]\n\n    if (!includeWhitespace) {\n      while (next && whitespace(next)) {\n        offset += increment\n        next = siblings[offset]\n      }\n    }\n\n    // @ts-expect-error: it’s a correct child.\n    return next\n  }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n *   Check if a tag can be omitted.\n * @param {Element} element\n *   Element to check.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n *   Omission handlers, where each key is a tag name, and each value is the\n *   corresponding handler.\n * @returns {OmitHandle}\n *   Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n  return omit\n\n  /**\n   * Check if a given node can have a tag omitted.\n   *\n   * @type {OmitHandle}\n   */\n  function omit(node, index, parent) {\n    return (\n      own.call(handlers, node.tagName) &&\n      handlers[node.tagName](node, index, parent)\n    )\n  }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n  body,\n  caption: headOrColgroupOrCaption,\n  colgroup: headOrColgroupOrCaption,\n  dd,\n  dt,\n  head: headOrColgroupOrCaption,\n  html,\n  li,\n  optgroup,\n  option,\n  p,\n  rp: rubyElement,\n  rt: rubyElement,\n  tbody,\n  td: cells,\n  tfoot,\n  th: cells,\n  thead,\n  tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n  const next = siblingAfter(parent, index, true)\n  return (\n    !next ||\n    (next.type !== 'comment' &&\n      !(next.type === 'text' && whitespace(next.value.charAt(0))))\n  )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return next\n    ? next.type === 'element' &&\n        (next.tagName === 'address' ||\n          next.tagName === 'article' ||\n          next.tagName === 'aside' ||\n          next.tagName === 'blockquote' ||\n          next.tagName === 'details' ||\n          next.tagName === 'div' ||\n          next.tagName === 'dl' ||\n          next.tagName === 'fieldset' ||\n          next.tagName === 'figcaption' ||\n          next.tagName === 'figure' ||\n          next.tagName === 'footer' ||\n          next.tagName === 'form' ||\n          next.tagName === 'h1' ||\n          next.tagName === 'h2' ||\n          next.tagName === 'h3' ||\n          next.tagName === 'h4' ||\n          next.tagName === 'h5' ||\n          next.tagName === 'h6' ||\n          next.tagName === 'header' ||\n          next.tagName === 'hgroup' ||\n          next.tagName === 'hr' ||\n          next.tagName === 'main' ||\n          next.tagName === 'menu' ||\n          next.tagName === 'nav' ||\n          next.tagName === 'ol' ||\n          next.tagName === 'p' ||\n          next.tagName === 'pre' ||\n          next.tagName === 'section' ||\n          next.tagName === 'table' ||\n          next.tagName === 'ul')\n    : !parent ||\n        // Confusing parent.\n        !(\n          parent.type === 'element' &&\n          (parent.tagName === 'a' ||\n            parent.tagName === 'audio' ||\n            parent.tagName === 'del' ||\n            parent.tagName === 'ins' ||\n            parent.tagName === 'map' ||\n            parent.tagName === 'noscript' ||\n            parent.tagName === 'video')\n        )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return Boolean(\n    next &&\n      next.type === 'element' &&\n      (next.tagName === 'dt' || next.tagName === 'dd')\n  )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'dt' || next.tagName === 'dd'))\n  )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'rp' || next.tagName === 'rt'))\n  )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'option' || next.tagName === 'optgroup'))\n  )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return Boolean(\n    next &&\n      next.type === 'element' &&\n      (next.tagName === 'tbody' || next.tagName === 'tfoot')\n  )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n  )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n  return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'td' || next.tagName === 'th'))\n  )\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n  body,\n  colgroup,\n  head,\n  html,\n  tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction html(node) {\n  const head = siblingAfter(node, -1)\n  return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction head(node) {\n  /** @type {Set<string>} */\n  const seen = new Set()\n\n  // Whether `srcdoc` or not,\n  // make sure the content model at least doesn’t have too many `base`s/`title`s.\n  for (const child of node.children) {\n    if (\n      child.type === 'element' &&\n      (child.tagName === 'base' || child.tagName === 'title')\n    ) {\n      if (seen.has(child.tagName)) return false\n      seen.add(child.tagName)\n    }\n  }\n\n  // “May be omitted if the element is empty,\n  // or if the first thing inside the head element is an element.”\n  const child = node.children[0]\n  return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction body(node) {\n  const head = siblingAfter(node, -1, true)\n\n  return (\n    !head ||\n    (head.type !== 'comment' &&\n      !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n      !(\n        head.type === 'element' &&\n        (head.tagName === 'meta' ||\n          head.tagName === 'link' ||\n          head.tagName === 'script' ||\n          head.tagName === 'style' ||\n          head.tagName === 'template')\n      ))\n  )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n  const previous = siblingBefore(parent, index)\n  const head = siblingAfter(node, -1, true)\n\n  // Previous colgroup was already omitted.\n  if (\n    parent &&\n    previous &&\n    previous.type === 'element' &&\n    previous.tagName === 'colgroup' &&\n    closing(previous, parent.children.indexOf(previous), parent)\n  ) {\n    return false\n  }\n\n  return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n  const previous = siblingBefore(parent, index)\n  const head = siblingAfter(node, -1)\n\n  // Previous table section was already omitted.\n  if (\n    parent &&\n    previous &&\n    previous.type === 'element' &&\n    (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n    closing(previous, parent.children.indexOf(previous), parent)\n  ) {\n    return false\n  }\n\n  return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n  // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n  name: [\n    ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n    ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n  unquoted: [\n    ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n    ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n  single: [\n    [\"&'\".split(''), '\"&\\'`'.split('')],\n    [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n  double: [\n    ['\"&'.split(''), '\"&\\'`'.split('')],\n    ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n  ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function element(node, index, parent, state) {\n  const schema = state.schema\n  const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n  let selfClosing =\n    schema.space === 'svg'\n      ? state.settings.closeEmptyElements\n      : state.settings.voids.includes(node.tagName.toLowerCase())\n  /** @type {Array<string>} */\n  const parts = []\n  /** @type {string} */\n  let last\n\n  if (schema.space === 'html' && node.tagName === 'svg') {\n    state.schema = svg\n  }\n\n  const attributes = serializeAttributes(state, node.properties)\n\n  const content = state.all(\n    schema.space === 'html' && node.tagName === 'template' ? node.content : node\n  )\n\n  state.schema = schema\n\n  // If the node is categorised as void, but it has children, remove the\n  // categorisation.\n  // This enables for example `menuitem`s, which are void in W3C HTML but not\n  // void in WHATWG HTML, to be stringified properly.\n  // Note: `menuitem` has since been removed from the HTML spec, and so is no\n  // longer void.\n  if (content) selfClosing = false\n\n  if (attributes || !omit || !opening(node, index, parent)) {\n    parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n    if (\n      selfClosing &&\n      (schema.space === 'svg' || state.settings.closeSelfClosing)\n    ) {\n      last = attributes.charAt(attributes.length - 1)\n      if (\n        !state.settings.tightSelfClosing ||\n        last === '/' ||\n        (last && last !== '\"' && last !== \"'\")\n      ) {\n        parts.push(' ')\n      }\n\n      parts.push('/')\n    }\n\n    parts.push('>')\n  }\n\n  parts.push(content)\n\n  if (!selfClosing && (!omit || !closing(node, index, parent))) {\n    parts.push('</' + node.tagName + '>')\n  }\n\n  return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n  /** @type {Array<string>} */\n  const values = []\n  let index = -1\n  /** @type {string} */\n  let key\n\n  if (properties) {\n    for (key in properties) {\n      if (properties[key] !== null && properties[key] !== undefined) {\n        const value = serializeAttribute(state, key, properties[key])\n        if (value) values.push(value)\n      }\n    }\n  }\n\n  while (++index < values.length) {\n    const last = state.settings.tightAttributes\n      ? values[index].charAt(values[index].length - 1)\n      : undefined\n\n    // In tight mode, don’t add a space after quoted attributes.\n    if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n      values[index] += ' '\n    }\n  }\n\n  return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n  const info = find(state.schema, key)\n  const x =\n    state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n  const y = state.settings.allowDangerousCharacters ? 0 : 1\n  let quote = state.quote\n  /** @type {string | undefined} */\n  let result\n\n  if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n    value = true\n  } else if (\n    (info.boolean || info.overloadedBoolean) &&\n    (typeof value !== 'string' || value === info.attribute || value === '')\n  ) {\n    value = Boolean(value)\n  }\n\n  if (\n    value === null ||\n    value === undefined ||\n    value === false ||\n    (typeof value === 'number' && Number.isNaN(value))\n  ) {\n    return ''\n  }\n\n  const name = stringifyEntities(\n    info.attribute,\n    Object.assign({}, state.settings.characterReferences, {\n      // Always encode without parse errors in non-HTML.\n      subset: constants.name[x][y]\n    })\n  )\n\n  // No value.\n  // There is currently only one boolean property in SVG: `[download]` on\n  // `<a>`.\n  // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n  // so I can’t test if dropping the value works.\n  // But I assume that it should:\n  //\n  // ```html\n  // <!doctype html>\n  // <svg viewBox=\"0 0 100 100\">\n  //   <a href=https://example.com download>\n  //     <circle cx=50 cy=40 r=35 />\n  //   </a>\n  // </svg>\n  // ```\n  //\n  // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n  if (value === true) return name\n\n  // `spaces` doesn’t accept a second argument, but it’s given here just to\n  // keep the code cleaner.\n  value = Array.isArray(value)\n    ? (info.commaSeparated ? commas : spaces)(value, {\n        padLeft: !state.settings.tightCommaSeparatedLists\n      })\n    : String(value)\n\n  if (state.settings.collapseEmptyAttributes && !value) return name\n\n  // Check unquoted value.\n  if (state.settings.preferUnquoted) {\n    result = stringifyEntities(\n      value,\n      Object.assign({}, state.settings.characterReferences, {\n        attribute: true,\n        subset: constants.unquoted[x][y]\n      })\n    )\n  }\n\n  // If we don’t want unquoted, or if `value` contains character references when\n  // unquoted…\n  if (result !== value) {\n    // If the alternative is less common than `quote`, switch.\n    if (\n      state.settings.quoteSmart &&\n      ccount(value, quote) > ccount(value, state.alternative)\n    ) {\n      quote = state.alternative\n    }\n\n    result =\n      quote +\n      stringifyEntities(\n        value,\n        Object.assign({}, state.settings.characterReferences, {\n          // Always encode without parse errors in non-HTML.\n          subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n          attribute: true\n        })\n      ) +\n      quote\n  }\n\n  // Don’t add a `=` for unquoted empties.\n  return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n *   Node to handle.\n * @param {number | undefined} _\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function text(node, _, parent, state) {\n  // Check if content of `node` should be escaped.\n  return parent &&\n    parent.type === 'element' &&\n    (parent.tagName === 'script' || parent.tagName === 'style')\n    ? node.value\n    : stringifyEntities(\n        node.value,\n        Object.assign({}, state.settings.characterReferences, {\n          subset: textEntitySubset\n        })\n      )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function raw(node, index, parent, state) {\n  return state.settings.allowDangerousHtml\n    ? node.value\n    : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n *   Node to handle.\n * @param {number | undefined} _1\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _2\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function root(node, _1, _2, state) {\n  return state.all(node)\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n  invalid,\n  unknown,\n  handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n *   Unknown value.\n * @returns {never}\n *   Never.\n */\nfunction invalid(node) {\n  throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n *  Unknown node.\n * @returns {never}\n *   Never.\n */\nfunction unknown(node_) {\n  // `type` is guaranteed by runtime JS.\n  const node = /** @type {Nodes} */ (node_)\n  throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n *   Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n *   Do not encode some characters which cause XSS vulnerabilities in older\n *   browsers (default: `false`).\n *\n *   > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n *   When `false`, `Raw` nodes are encoded.\n *\n *   > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n *   Do not encode characters which cause parse errors (even though they work),\n *   to save bytes (default: `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n *   Use “bogus comments” instead of comments to save byes: `<?charlie>`\n *   instead of `<!--charlie-->` (default: `false`).\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n *   Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n *   Close SVG elements without any content with slash (`/`) on the opening tag\n *   instead of an end tag: `<circle />` instead of `<circle></circle>`\n *   (default: `false`).\n *\n *   See `tightSelfClosing` to control whether a space is used before the\n *   slash.\n *\n *   Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n *   Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n *   `<img>` (default: `false`).\n *\n *   See `tightSelfClosing` to control whether a space is used before the\n *   slash.\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n *   Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n *   `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n *   Omit optional opening and closing tags (default: `false`).\n *\n *   For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n *   tags can be omitted.\n *   The first because it’s followed by another `li`, the last because it’s\n *   followed by nothing.\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n *   Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n *   Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n *   Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n *   When an `<svg>` element is found in the HTML space, this package already\n *   automatically switches to and from the SVG space when entering and exiting\n *   it (default: `'html'`).\n *\n *   > 👉 **Note**: hast is not XML.\n *   > It supports SVG as embedded in HTML.\n *   > It does not support the features available in XML.\n *   > Passing SVG might break but fragments of modern SVG should be fine.\n *   > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n *   Join attributes together, without whitespace, if possible: get\n *   `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n *   bytes (default: `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n *   Join known comma-separated attribute values with just a comma (`,`),\n *   instead of padding them on the right as well (`,␠`, where `␠` represents a\n *   space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n *   Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n *   `<!doctype html>` to save bytes (default: `false`).\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n *   Do not use an extra space when closing self-closing elements: `<img/>`\n *   instead of `<img />` (default: `false`).\n *\n *   > 👉 **Note**: only used if `closeSelfClosing: true` or\n *   > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n *   Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n *   Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n *   Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n *   > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n *   HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n *   Namespace.\n *\n * @typedef State\n *   Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n *   Serialize the children of a parent node.\n * @property {Quote} alternative\n *   Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n *   Serialize one node.\n * @property {Quote} quote\n *   Preferred quote.\n * @property {Schema} schema\n *   Current schema.\n * @property {Settings} settings\n *   User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n *   Tree to serialize.\n * @param {Options | null | undefined} [options]\n *   Configuration (optional).\n * @returns {string}\n *   Serialized HTML.\n */\nexport function toHtml(tree, options) {\n  const options_ = options || emptyOptions\n  const quote = options_.quote || '\"'\n  const alternative = quote === '\"' ? \"'\" : '\"'\n\n  if (quote !== '\"' && quote !== \"'\") {\n    throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n  }\n\n  /** @type {State} */\n  const state = {\n    one,\n    all,\n    settings: {\n      omitOptionalTags: options_.omitOptionalTags || false,\n      allowParseErrors: options_.allowParseErrors || false,\n      allowDangerousCharacters: options_.allowDangerousCharacters || false,\n      quoteSmart: options_.quoteSmart || false,\n      preferUnquoted: options_.preferUnquoted || false,\n      tightAttributes: options_.tightAttributes || false,\n      upperDoctype: options_.upperDoctype || false,\n      tightDoctype: options_.tightDoctype || false,\n      bogusComments: options_.bogusComments || false,\n      tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n      tightSelfClosing: options_.tightSelfClosing || false,\n      collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n      allowDangerousHtml: options_.allowDangerousHtml || false,\n      voids: options_.voids || htmlVoidElements,\n      characterReferences:\n        options_.characterReferences || emptyCharacterReferences,\n      closeSelfClosing: options_.closeSelfClosing || false,\n      closeEmptyElements: options_.closeEmptyElements || false\n    },\n    schema: options_.space === 'svg' ? svg : html,\n    quote,\n    alternative\n  }\n\n  return state.one(\n    Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n    undefined,\n    undefined\n  )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n *   Info passed around about the current state.\n * @param {Nodes} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {string}\n *   Serialized node.\n */\nfunction one(node, index, parent) {\n  return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n *   Info passed around about the current state.\n * @param {Parents | undefined} parent\n *   Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n  /** @type {Array<string>} */\n  const results = []\n  const children = (parent && parent.children) || emptyChildren\n  let index = -1\n\n  while (++index < children.length) {\n    results[index] = this.one(children[index], index, parent)\n  }\n\n  return results.join('')\n}\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { createOnigurumaEngine as createOnigurumaEngine$1, loadWasm as loadWasm$1, getDefaultWasmLoader } from '@shikijs/engine-oniguruma';\nimport { w as warnDeprecated } from './shared/core.DVV8c4RZ.mjs';\nexport { e as enableDeprecationWarnings } from './shared/core.DVV8c4RZ.mjs';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createJavaScriptRegexEngine as createJavaScriptRegexEngine$1, defaultJavaScriptRegexConstructor as defaultJavaScriptRegexConstructor$1 } from '@shikijs/engine-javascript';\n\nfunction createOnigurumaEngine(options) {\n  warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n  return createOnigurumaEngine$1(options);\n}\nfunction createWasmOnigEngine(options) {\n  warnDeprecated(\"import `createOnigurumaEngine` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n  return createOnigurumaEngine$1(options);\n}\nfunction loadWasm(options) {\n  warnDeprecated(\"import `loadWasm` from `@shikijs/engine-oniguruma` or `shiki/engine/oniguruma` instead\");\n  return loadWasm$1(options);\n}\n\nfunction toArray(x) {\n  return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n  const parts = code.split(/(\\r?\\n)/g);\n  let index = 0;\n  const lines = [];\n  for (let i = 0; i < parts.length; i += 2) {\n    const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n    lines.push([line, index]);\n    index += parts[i].length;\n    index += parts[i + 1]?.length || 0;\n  }\n  return lines;\n}\nfunction isPlainLang(lang) {\n  return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n  return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n  return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n  return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n  if (!className)\n    return node;\n  node.properties ||= {};\n  node.properties.class ||= [];\n  if (typeof node.properties.class === \"string\")\n    node.properties.class = node.properties.class.split(/\\s+/g);\n  if (!Array.isArray(node.properties.class))\n    node.properties.class = [];\n  const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n  for (const c of targets) {\n    if (c && !node.properties.class.includes(c))\n      node.properties.class.push(c);\n  }\n  return node;\n}\nfunction splitToken(token, offsets) {\n  let lastOffset = 0;\n  const tokens = [];\n  for (const offset of offsets) {\n    if (offset > lastOffset) {\n      tokens.push({\n        ...token,\n        content: token.content.slice(lastOffset, offset),\n        offset: token.offset + lastOffset\n      });\n    }\n    lastOffset = offset;\n  }\n  if (lastOffset < token.content.length) {\n    tokens.push({\n      ...token,\n      content: token.content.slice(lastOffset),\n      offset: token.offset + lastOffset\n    });\n  }\n  return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n  const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n  if (!sorted.length)\n    return tokens;\n  return tokens.map((line) => {\n    return line.flatMap((token) => {\n      const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n      if (!breakpointsInToken.length)\n        return token;\n      return splitToken(token, breakpointsInToken);\n    });\n  });\n}\nasync function normalizeGetter(p) {\n  return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n  const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n  const themeName = typeof theme === \"string\" ? theme : theme.name;\n  for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n    if (typeof value === \"string\")\n      replacements[key] = value;\n    else if (key === themeName)\n      Object.assign(replacements, value);\n  }\n  return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n  if (!color)\n    return color;\n  return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n  const styles = {};\n  if (token.color)\n    styles.color = token.color;\n  if (token.bgColor)\n    styles[\"background-color\"] = token.bgColor;\n  if (token.fontStyle) {\n    if (token.fontStyle & FontStyle.Italic)\n      styles[\"font-style\"] = \"italic\";\n    if (token.fontStyle & FontStyle.Bold)\n      styles[\"font-weight\"] = \"bold\";\n    if (token.fontStyle & FontStyle.Underline)\n      styles[\"text-decoration\"] = \"underline\";\n  }\n  return styles;\n}\nfunction stringifyTokenStyle(token) {\n  if (typeof token === \"string\")\n    return token;\n  return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n  const lines = splitLines(code, true).map(([line]) => line);\n  function indexToPos(index) {\n    if (index === code.length) {\n      return {\n        line: lines.length - 1,\n        character: lines[lines.length - 1].length\n      };\n    }\n    let character = index;\n    let line = 0;\n    for (const lineText of lines) {\n      if (character < lineText.length)\n        break;\n      character -= lineText.length;\n      line++;\n    }\n    return { line, character };\n  }\n  function posToIndex(line, character) {\n    let index = 0;\n    for (let i = 0; i < line; i++)\n      index += lines[i].length;\n    index += character;\n    return index;\n  }\n  return {\n    lines,\n    indexToPos,\n    posToIndex\n  };\n}\n\nclass ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n  _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n  return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n  /**\n   * Theme to Stack mapping\n   */\n  _stacks = {};\n  lang;\n  get themes() {\n    return Object.keys(this._stacks);\n  }\n  get theme() {\n    return this.themes[0];\n  }\n  get _stack() {\n    return this._stacks[this.theme];\n  }\n  /**\n   * Static method to create a initial grammar state.\n   */\n  static initial(lang, themes) {\n    return new GrammarState(\n      Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n      lang\n    );\n  }\n  constructor(...args) {\n    if (args.length === 2) {\n      const [stacksMap, lang] = args;\n      this.lang = lang;\n      this._stacks = stacksMap;\n    } else {\n      const [stack, lang, theme] = args;\n      this.lang = lang;\n      this._stacks = { [theme]: stack };\n    }\n  }\n  /**\n   * Get the internal stack object.\n   * @internal\n   */\n  getInternalStack(theme = this.theme) {\n    return this._stacks[theme];\n  }\n  /**\n   * @deprecated use `getScopes` instead\n   */\n  get scopes() {\n    return getScopes(this._stacks[this.theme]);\n  }\n  getScopes(theme = this.theme) {\n    return getScopes(this._stacks[theme]);\n  }\n  toJSON() {\n    return {\n      lang: this.lang,\n      theme: this.theme,\n      themes: this.themes,\n      scopes: this.scopes\n    };\n  }\n}\nfunction getScopes(stack) {\n  const scopes = [];\n  const visited = /* @__PURE__ */ new Set();\n  function pushScope(stack2) {\n    if (visited.has(stack2))\n      return;\n    visited.add(stack2);\n    const name = stack2?.nameScopesList?.scopeName;\n    if (name)\n      scopes.push(name);\n    if (stack2.parent)\n      pushScope(stack2.parent);\n  }\n  pushScope(stack);\n  return scopes;\n}\nfunction getGrammarStack(state, theme) {\n  if (!(state instanceof GrammarState))\n    throw new ShikiError(\"Invalid grammar state\");\n  return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n  const map = /* @__PURE__ */ new WeakMap();\n  function getContext(shiki) {\n    if (!map.has(shiki.meta)) {\n      let normalizePosition = function(p) {\n        if (typeof p === \"number\") {\n          if (p < 0 || p > shiki.source.length)\n            throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n          return {\n            ...converter.indexToPos(p),\n            offset: p\n          };\n        } else {\n          const line = converter.lines[p.line];\n          if (line === void 0)\n            throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n          if (p.character < 0 || p.character > line.length)\n            throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n          return {\n            ...p,\n            offset: converter.posToIndex(p.line, p.character)\n          };\n        }\n      };\n      const converter = createPositionConverter(shiki.source);\n      const decorations = (shiki.options.decorations || []).map((d) => ({\n        ...d,\n        start: normalizePosition(d.start),\n        end: normalizePosition(d.end)\n      }));\n      verifyIntersections(decorations);\n      map.set(shiki.meta, {\n        decorations,\n        converter,\n        source: shiki.source\n      });\n    }\n    return map.get(shiki.meta);\n  }\n  return {\n    name: \"shiki:decorations\",\n    tokens(tokens) {\n      if (!this.options.decorations?.length)\n        return;\n      const ctx = getContext(this);\n      const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n      const splitted = splitTokens(tokens, breakpoints);\n      return splitted;\n    },\n    code(codeEl) {\n      if (!this.options.decorations?.length)\n        return;\n      const ctx = getContext(this);\n      const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n      if (lines.length !== ctx.converter.lines.length)\n        throw new ShikiError(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n      function applyLineSection(line, start, end, decoration) {\n        const lineEl = lines[line];\n        let text = \"\";\n        let startIndex = -1;\n        let endIndex = -1;\n        if (start === 0)\n          startIndex = 0;\n        if (end === 0)\n          endIndex = 0;\n        if (end === Number.POSITIVE_INFINITY)\n          endIndex = lineEl.children.length;\n        if (startIndex === -1 || endIndex === -1) {\n          for (let i = 0; i < lineEl.children.length; i++) {\n            text += stringify(lineEl.children[i]);\n            if (startIndex === -1 && text.length === start)\n              startIndex = i + 1;\n            if (endIndex === -1 && text.length === end)\n              endIndex = i + 1;\n          }\n        }\n        if (startIndex === -1)\n          throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n        if (endIndex === -1)\n          throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n        const children = lineEl.children.slice(startIndex, endIndex);\n        if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n          applyDecoration(lineEl, decoration, \"line\");\n        } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n          applyDecoration(children[0], decoration, \"token\");\n        } else {\n          const wrapper = {\n            type: \"element\",\n            tagName: \"span\",\n            properties: {},\n            children\n          };\n          applyDecoration(wrapper, decoration, \"wrapper\");\n          lineEl.children.splice(startIndex, children.length, wrapper);\n        }\n      }\n      function applyLine(line, decoration) {\n        lines[line] = applyDecoration(lines[line], decoration, \"line\");\n      }\n      function applyDecoration(el, decoration, type) {\n        const properties = decoration.properties || {};\n        const transform = decoration.transform || ((i) => i);\n        el.tagName = decoration.tagName || \"span\";\n        el.properties = {\n          ...el.properties,\n          ...properties,\n          class: el.properties.class\n        };\n        if (decoration.properties?.class)\n          addClassToHast(el, decoration.properties.class);\n        el = transform(el, type) || el;\n        return el;\n      }\n      const lineApplies = [];\n      const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n      for (const decoration of sorted) {\n        const { start, end } = decoration;\n        if (start.line === end.line) {\n          applyLineSection(start.line, start.character, end.character, decoration);\n        } else if (start.line < end.line) {\n          applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n          for (let i = start.line + 1; i < end.line; i++)\n            lineApplies.unshift(() => applyLine(i, decoration));\n          applyLineSection(end.line, 0, end.character, decoration);\n        }\n      }\n      lineApplies.forEach((i) => i());\n    }\n  };\n}\nfunction verifyIntersections(items) {\n  for (let i = 0; i < items.length; i++) {\n    const foo = items[i];\n    if (foo.start.offset > foo.end.offset)\n      throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n    for (let j = i + 1; j < items.length; j++) {\n      const bar = items[j];\n      const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n      const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n      const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n      const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n      if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n        if (isFooHasBarEnd && isFooHasBarEnd)\n          continue;\n        if (isBarHasFooStart && isBarHasFooEnd)\n          continue;\n        throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n      }\n    }\n  }\n}\nfunction stringify(el) {\n  if (el.type === \"text\")\n    return el.value;\n  if (el.type === \"element\")\n    return el.children.map(stringify).join(\"\");\n  return \"\";\n}\n\nconst builtInTransformers = [\n  /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n  return [\n    ...options.transformers || [],\n    ...builtInTransformers\n  ];\n}\n\n// src/colors.ts\nvar namedColors = [\n  \"black\",\n  \"red\",\n  \"green\",\n  \"yellow\",\n  \"blue\",\n  \"magenta\",\n  \"cyan\",\n  \"white\",\n  \"brightBlack\",\n  \"brightRed\",\n  \"brightGreen\",\n  \"brightYellow\",\n  \"brightBlue\",\n  \"brightMagenta\",\n  \"brightCyan\",\n  \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n  1: \"bold\",\n  2: \"dim\",\n  3: \"italic\",\n  4: \"underline\",\n  7: \"reverse\",\n  9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n  const nextEscape = value.indexOf(\"\\x1B[\", position);\n  if (nextEscape !== -1) {\n    const nextClose = value.indexOf(\"m\", nextEscape);\n    return {\n      sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n      startPosition: nextEscape,\n      position: nextClose + 1\n    };\n  }\n  return {\n    position: value.length\n  };\n}\nfunction parseColor(sequence, index) {\n  let offset = 1;\n  const colorMode = sequence[index + offset++];\n  let color;\n  if (colorMode === \"2\") {\n    const rgb = [\n      sequence[index + offset++],\n      sequence[index + offset++],\n      sequence[index + offset]\n    ].map((x) => Number.parseInt(x));\n    if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n      color = {\n        type: \"rgb\",\n        rgb\n      };\n    }\n  } else if (colorMode === \"5\") {\n    const colorIndex = Number.parseInt(sequence[index + offset]);\n    if (!Number.isNaN(colorIndex)) {\n      color = { type: \"table\", index: Number(colorIndex) };\n    }\n  }\n  return [offset, color];\n}\nfunction parseSequence(sequence) {\n  const commands = [];\n  for (let i = 0; i < sequence.length; i++) {\n    const code = sequence[i];\n    const codeInt = Number.parseInt(code);\n    if (Number.isNaN(codeInt))\n      continue;\n    if (codeInt === 0) {\n      commands.push({ type: \"resetAll\" });\n    } else if (codeInt <= 9) {\n      const decoration = decorations[codeInt];\n      if (decoration) {\n        commands.push({\n          type: \"setDecoration\",\n          value: decorations[codeInt]\n        });\n      }\n    } else if (codeInt <= 29) {\n      const decoration = decorations[codeInt - 20];\n      if (decoration) {\n        commands.push({\n          type: \"resetDecoration\",\n          value: decoration\n        });\n      }\n    } else if (codeInt <= 37) {\n      commands.push({\n        type: \"setForegroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 30] }\n      });\n    } else if (codeInt === 38) {\n      const [offset, color] = parseColor(sequence, i);\n      if (color) {\n        commands.push({\n          type: \"setForegroundColor\",\n          value: color\n        });\n      }\n      i += offset;\n    } else if (codeInt === 39) {\n      commands.push({\n        type: \"resetForegroundColor\"\n      });\n    } else if (codeInt <= 47) {\n      commands.push({\n        type: \"setBackgroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 40] }\n      });\n    } else if (codeInt === 48) {\n      const [offset, color] = parseColor(sequence, i);\n      if (color) {\n        commands.push({\n          type: \"setBackgroundColor\",\n          value: color\n        });\n      }\n      i += offset;\n    } else if (codeInt === 49) {\n      commands.push({\n        type: \"resetBackgroundColor\"\n      });\n    } else if (codeInt >= 90 && codeInt <= 97) {\n      commands.push({\n        type: \"setForegroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n      });\n    } else if (codeInt >= 100 && codeInt <= 107) {\n      commands.push({\n        type: \"setBackgroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n      });\n    }\n  }\n  return commands;\n}\nfunction createAnsiSequenceParser() {\n  let foreground = null;\n  let background = null;\n  let decorations2 = /* @__PURE__ */ new Set();\n  return {\n    parse(value) {\n      const tokens = [];\n      let position = 0;\n      do {\n        const findResult = findSequence(value, position);\n        const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n        if (text.length > 0) {\n          tokens.push({\n            value: text,\n            foreground,\n            background,\n            decorations: new Set(decorations2)\n          });\n        }\n        if (findResult.sequence) {\n          const commands = parseSequence(findResult.sequence);\n          for (const styleToken of commands) {\n            if (styleToken.type === \"resetAll\") {\n              foreground = null;\n              background = null;\n              decorations2.clear();\n            } else if (styleToken.type === \"resetForegroundColor\") {\n              foreground = null;\n            } else if (styleToken.type === \"resetBackgroundColor\") {\n              background = null;\n            } else if (styleToken.type === \"resetDecoration\") {\n              decorations2.delete(styleToken.value);\n            }\n          }\n          for (const styleToken of commands) {\n            if (styleToken.type === \"setForegroundColor\") {\n              foreground = styleToken.value;\n            } else if (styleToken.type === \"setBackgroundColor\") {\n              background = styleToken.value;\n            } else if (styleToken.type === \"setDecoration\") {\n              decorations2.add(styleToken.value);\n            }\n          }\n        }\n        position = findResult.position;\n      } while (position < value.length);\n      return tokens;\n    }\n  };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n  black: \"#000000\",\n  red: \"#bb0000\",\n  green: \"#00bb00\",\n  yellow: \"#bbbb00\",\n  blue: \"#0000bb\",\n  magenta: \"#ff00ff\",\n  cyan: \"#00bbbb\",\n  white: \"#eeeeee\",\n  brightBlack: \"#555555\",\n  brightRed: \"#ff5555\",\n  brightGreen: \"#00ff00\",\n  brightYellow: \"#ffff55\",\n  brightBlue: \"#5555ff\",\n  brightMagenta: \"#ff55ff\",\n  brightCyan: \"#55ffff\",\n  brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n  function namedColor(name) {\n    return namedColorsMap[name];\n  }\n  function rgbColor(rgb) {\n    return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n  }\n  let colorTable;\n  function getColorTable() {\n    if (colorTable) {\n      return colorTable;\n    }\n    colorTable = [];\n    for (let i = 0; i < namedColors.length; i++) {\n      colorTable.push(namedColor(namedColors[i]));\n    }\n    let levels = [0, 95, 135, 175, 215, 255];\n    for (let r = 0; r < 6; r++) {\n      for (let g = 0; g < 6; g++) {\n        for (let b = 0; b < 6; b++) {\n          colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n        }\n      }\n    }\n    let level = 8;\n    for (let i = 0; i < 24; i++, level += 10) {\n      colorTable.push(rgbColor([level, level, level]));\n    }\n    return colorTable;\n  }\n  function tableColor(index) {\n    return getColorTable()[index];\n  }\n  function value(color) {\n    switch (color.type) {\n      case \"named\":\n        return namedColor(color.name);\n      case \"rgb\":\n        return rgbColor(color.rgb);\n      case \"table\":\n        return tableColor(color.index);\n    }\n  }\n  return {\n    value\n  };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n  const colorReplacements = resolveColorReplacements(theme, options);\n  const lines = splitLines(fileContents);\n  const colorPalette = createColorPalette(\n    Object.fromEntries(\n      namedColors.map((name) => [\n        name,\n        theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n      ])\n    )\n  );\n  const parser = createAnsiSequenceParser();\n  return lines.map(\n    (line) => parser.parse(line[0]).map((token) => {\n      let color;\n      let bgColor;\n      if (token.decorations.has(\"reverse\")) {\n        color = token.background ? colorPalette.value(token.background) : theme.bg;\n        bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n      } else {\n        color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n        bgColor = token.background ? colorPalette.value(token.background) : void 0;\n      }\n      color = applyColorReplacements(color, colorReplacements);\n      bgColor = applyColorReplacements(bgColor, colorReplacements);\n      if (token.decorations.has(\"dim\"))\n        color = dimColor(color);\n      let fontStyle = FontStyle.None;\n      if (token.decorations.has(\"bold\"))\n        fontStyle |= FontStyle.Bold;\n      if (token.decorations.has(\"italic\"))\n        fontStyle |= FontStyle.Italic;\n      if (token.decorations.has(\"underline\"))\n        fontStyle |= FontStyle.Underline;\n      return {\n        content: token.value,\n        offset: line[1],\n        // TODO: more accurate offset? might need to fork ansi-sequence-parser\n        color,\n        bgColor,\n        fontStyle\n      };\n    })\n  );\n}\nfunction dimColor(color) {\n  const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n  if (hexMatch) {\n    if (hexMatch[3]) {\n      const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n      return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n    } else if (hexMatch[2]) {\n      return `#${hexMatch[1]}${hexMatch[2]}80`;\n    } else {\n      return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n    }\n  }\n  const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n  if (cssVarMatch)\n    return `var(${cssVarMatch[1]}-dim)`;\n  return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n  const {\n    lang = \"text\",\n    theme: themeName = internal.getLoadedThemes()[0]\n  } = options;\n  if (isPlainLang(lang) || isNoneTheme(themeName))\n    return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n  const { theme, colorMap } = internal.setTheme(themeName);\n  if (lang === \"ansi\")\n    return tokenizeAnsiWithTheme(theme, code, options);\n  const _grammar = internal.getLanguage(lang);\n  if (options.grammarState) {\n    if (options.grammarState.lang !== _grammar.name) {\n      throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n    }\n    if (!options.grammarState.themes.includes(theme.name)) {\n      throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n    }\n  }\n  return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n  if (args.length === 2) {\n    return getLastGrammarStateFromMap(args[1]);\n  }\n  const [internal, code, options = {}] = args;\n  const {\n    lang = \"text\",\n    theme: themeName = internal.getLoadedThemes()[0]\n  } = options;\n  if (isPlainLang(lang) || isNoneTheme(themeName))\n    throw new ShikiError$1(\"Plain language does not have grammar state\");\n  if (lang === \"ansi\")\n    throw new ShikiError$1(\"ANSI language does not have grammar state\");\n  const { theme, colorMap } = internal.setTheme(themeName);\n  const _grammar = internal.getLanguage(lang);\n  return new GrammarState(\n    _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n    _grammar.name,\n    theme.name\n  );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n  const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n  const grammarState = new GrammarState(\n    _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n    grammar.name,\n    theme.name\n  );\n  setLastGrammarStateToMap(result.tokens, grammarState);\n  return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n  const colorReplacements = resolveColorReplacements(theme, options);\n  const {\n    tokenizeMaxLineLength = 0,\n    tokenizeTimeLimit = 500\n  } = options;\n  const lines = splitLines(code);\n  let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n    options.grammarContextCode,\n    grammar,\n    theme,\n    colorMap,\n    {\n      ...options,\n      grammarState: void 0,\n      grammarContextCode: void 0\n    }\n  ).stateStack : INITIAL;\n  let actual = [];\n  const final = [];\n  for (let i = 0, len = lines.length; i < len; i++) {\n    const [line, lineOffset] = lines[i];\n    if (line === \"\") {\n      actual = [];\n      final.push([]);\n      continue;\n    }\n    if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n      actual = [];\n      final.push([{\n        content: line,\n        offset: lineOffset,\n        color: \"\",\n        fontStyle: 0\n      }]);\n      continue;\n    }\n    let resultWithScopes;\n    let tokensWithScopes;\n    let tokensWithScopesIndex;\n    if (options.includeExplanation) {\n      resultWithScopes = grammar.tokenizeLine(line, stateStack);\n      tokensWithScopes = resultWithScopes.tokens;\n      tokensWithScopesIndex = 0;\n    }\n    const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n    const tokensLength = result.tokens.length / 2;\n    for (let j = 0; j < tokensLength; j++) {\n      const startIndex = result.tokens[2 * j];\n      const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n      if (startIndex === nextStartIndex)\n        continue;\n      const metadata = result.tokens[2 * j + 1];\n      const color = applyColorReplacements(\n        colorMap[EncodedTokenMetadata.getForeground(metadata)],\n        colorReplacements\n      );\n      const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n      const token = {\n        content: line.substring(startIndex, nextStartIndex),\n        offset: lineOffset + startIndex,\n        color,\n        fontStyle\n      };\n      if (options.includeExplanation) {\n        const themeSettingsSelectors = [];\n        if (options.includeExplanation !== \"scopeName\") {\n          for (const setting of theme.settings) {\n            let selectors;\n            switch (typeof setting.scope) {\n              case \"string\":\n                selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n                break;\n              case \"object\":\n                selectors = setting.scope;\n                break;\n              default:\n                continue;\n            }\n            themeSettingsSelectors.push({\n              settings: setting,\n              selectors: selectors.map((selector) => selector.split(/ /))\n            });\n          }\n        }\n        token.explanation = [];\n        let offset = 0;\n        while (startIndex + offset < nextStartIndex) {\n          const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n          const tokenWithScopesText = line.substring(\n            tokenWithScopes.startIndex,\n            tokenWithScopes.endIndex\n          );\n          offset += tokenWithScopesText.length;\n          token.explanation.push({\n            content: tokenWithScopesText,\n            scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n              tokenWithScopes.scopes\n            ) : explainThemeScopesFull(\n              themeSettingsSelectors,\n              tokenWithScopes.scopes\n            )\n          });\n          tokensWithScopesIndex += 1;\n        }\n      }\n      actual.push(token);\n    }\n    final.push(actual);\n    actual = [];\n    stateStack = result.ruleStack;\n  }\n  return {\n    tokens: final,\n    stateStack\n  };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n  return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n  const result = [];\n  for (let i = 0, len = scopes.length; i < len; i++) {\n    const scope = scopes[i];\n    result[i] = {\n      scopeName: scope,\n      themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n    };\n  }\n  return result;\n}\nfunction matchesOne(selector, scope) {\n  return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n  if (!matchesOne(selectors[selectors.length - 1], scope))\n    return false;\n  let selectorParentIndex = selectors.length - 2;\n  let parentIndex = parentScopes.length - 1;\n  while (selectorParentIndex >= 0 && parentIndex >= 0) {\n    if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n      selectorParentIndex -= 1;\n    parentIndex -= 1;\n  }\n  if (selectorParentIndex === -1)\n    return true;\n  return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n  const result = [];\n  for (const { selectors, settings } of themeSettingsSelectors) {\n    for (const selectorPieces of selectors) {\n      if (matches(selectorPieces, scope, parentScopes)) {\n        result.push(settings);\n        break;\n      }\n    }\n  }\n  return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n  const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n  const themedTokens = themes.map((t) => {\n    const tokens2 = codeToTokensBase(internal, code, {\n      ...options,\n      theme: t.theme\n    });\n    const state = getLastGrammarStateFromMap(tokens2);\n    const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n    return {\n      tokens: tokens2,\n      state,\n      theme\n    };\n  });\n  const tokens = syncThemesTokenization(\n    ...themedTokens.map((i) => i.tokens)\n  );\n  const mergedTokens = tokens[0].map(\n    (line, lineIdx) => line.map((_token, tokenIdx) => {\n      const mergedToken = {\n        content: _token.content,\n        variants: {},\n        offset: _token.offset\n      };\n      if (\"includeExplanation\" in options && options.includeExplanation) {\n        mergedToken.explanation = _token.explanation;\n      }\n      tokens.forEach((t, themeIdx) => {\n        const {\n          content: _,\n          explanation: __,\n          offset: ___,\n          ...styles\n        } = t[lineIdx][tokenIdx];\n        mergedToken.variants[themes[themeIdx].color] = styles;\n      });\n      return mergedToken;\n    })\n  );\n  const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n    Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n    themedTokens[0].state.lang\n  ) : void 0;\n  if (mergedGrammarState)\n    setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n  return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n  const outThemes = themes.map(() => []);\n  const count = themes.length;\n  for (let i = 0; i < themes[0].length; i++) {\n    const lines = themes.map((t) => t[i]);\n    const outLines = outThemes.map(() => []);\n    outThemes.forEach((t, i2) => t.push(outLines[i2]));\n    const indexes = lines.map(() => 0);\n    const current = lines.map((l) => l[0]);\n    while (current.every((t) => t)) {\n      const minLength = Math.min(...current.map((t) => t.content.length));\n      for (let n = 0; n < count; n++) {\n        const token = current[n];\n        if (token.content.length === minLength) {\n          outLines[n].push(token);\n          indexes[n] += 1;\n          current[n] = lines[n][indexes[n]];\n        } else {\n          outLines[n].push({\n            ...token,\n            content: token.content.slice(0, minLength)\n          });\n          current[n] = {\n            ...token,\n            content: token.content.slice(minLength),\n            offset: token.offset + minLength\n          };\n        }\n      }\n    }\n  }\n  return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n  let bg;\n  let fg;\n  let tokens;\n  let themeName;\n  let rootStyle;\n  let grammarState;\n  if (\"themes\" in options) {\n    const {\n      defaultColor = \"light\",\n      cssVariablePrefix = \"--shiki-\"\n    } = options;\n    const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n    if (themes.length === 0)\n      throw new ShikiError$1(\"`themes` option must not be empty\");\n    const themeTokens = codeToTokensWithThemes(\n      internal,\n      code,\n      options\n    );\n    grammarState = getLastGrammarStateFromMap(themeTokens);\n    if (defaultColor && !themes.find((t) => t.color === defaultColor))\n      throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n    const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n    const themesOrder = themes.map((t) => t.color);\n    tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n    if (grammarState)\n      setLastGrammarStateToMap(tokens, grammarState);\n    const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n    fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n    bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n    themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n    rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n  } else if (\"theme\" in options) {\n    const colorReplacements = resolveColorReplacements(options.theme, options);\n    tokens = codeToTokensBase(\n      internal,\n      code,\n      options\n    );\n    const _theme = internal.getTheme(options.theme);\n    bg = applyColorReplacements(_theme.bg, colorReplacements);\n    fg = applyColorReplacements(_theme.fg, colorReplacements);\n    themeName = _theme.name;\n    grammarState = getLastGrammarStateFromMap(tokens);\n  } else {\n    throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n  }\n  return {\n    tokens,\n    fg,\n    bg,\n    themeName,\n    rootStyle,\n    grammarState\n  };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n  const token = {\n    content: merged.content,\n    explanation: merged.explanation,\n    offset: merged.offset\n  };\n  const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n  const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n  const mergedStyles = {};\n  styles.forEach((cur, idx) => {\n    for (const key of styleKeys) {\n      const value = cur[key] || \"inherit\";\n      if (idx === 0 && defaultColor) {\n        mergedStyles[key] = value;\n      } else {\n        const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n        const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n        mergedStyles[varKey] = value;\n      }\n    }\n  });\n  token.htmlStyle = mergedStyles;\n  return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n  meta: {},\n  options,\n  codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n  codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n  let input = code;\n  for (const transformer of getTransformers(options))\n    input = transformer.preprocess?.call(transformerContext, input, options) || input;\n  let {\n    tokens,\n    fg,\n    bg,\n    themeName,\n    rootStyle,\n    grammarState\n  } = codeToTokens(internal, input, options);\n  const {\n    mergeWhitespaces = true\n  } = options;\n  if (mergeWhitespaces === true)\n    tokens = mergeWhitespaceTokens(tokens);\n  else if (mergeWhitespaces === \"never\")\n    tokens = splitWhitespaceTokens(tokens);\n  const contextSource = {\n    ...transformerContext,\n    get source() {\n      return input;\n    }\n  };\n  for (const transformer of getTransformers(options))\n    tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n  return tokensToHast(\n    tokens,\n    {\n      ...options,\n      fg,\n      bg,\n      themeName,\n      rootStyle\n    },\n    contextSource,\n    grammarState\n  );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n  const transformers = getTransformers(options);\n  const lines = [];\n  const root = {\n    type: \"root\",\n    children: []\n  };\n  const {\n    structure = \"classic\",\n    tabindex = \"0\"\n  } = options;\n  let preNode = {\n    type: \"element\",\n    tagName: \"pre\",\n    properties: {\n      class: `shiki ${options.themeName || \"\"}`,\n      style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n      ...tabindex !== false && tabindex != null ? {\n        tabindex: tabindex.toString()\n      } : {},\n      ...Object.fromEntries(\n        Array.from(\n          Object.entries(options.meta || {})\n        ).filter(([key]) => !key.startsWith(\"_\"))\n      )\n    },\n    children: []\n  };\n  let codeNode = {\n    type: \"element\",\n    tagName: \"code\",\n    properties: {},\n    children: lines\n  };\n  const lineNodes = [];\n  const context = {\n    ...transformerContext,\n    structure,\n    addClassToHast,\n    get source() {\n      return transformerContext.source;\n    },\n    get tokens() {\n      return tokens;\n    },\n    get options() {\n      return options;\n    },\n    get root() {\n      return root;\n    },\n    get pre() {\n      return preNode;\n    },\n    get code() {\n      return codeNode;\n    },\n    get lines() {\n      return lineNodes;\n    }\n  };\n  tokens.forEach((line, idx) => {\n    if (idx) {\n      if (structure === \"inline\")\n        root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n      else if (structure === \"classic\")\n        lines.push({ type: \"text\", value: \"\\n\" });\n    }\n    let lineNode = {\n      type: \"element\",\n      tagName: \"span\",\n      properties: { class: \"line\" },\n      children: []\n    };\n    let col = 0;\n    for (const token of line) {\n      let tokenNode = {\n        type: \"element\",\n        tagName: \"span\",\n        properties: {\n          ...token.htmlAttrs\n        },\n        children: [{ type: \"text\", value: token.content }]\n      };\n      if (typeof token.htmlStyle === \"string\")\n        warnDeprecated(\"`htmlStyle` as a string is deprecated. Use an object instead.\");\n      const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n      if (style)\n        tokenNode.properties.style = style;\n      for (const transformer of transformers)\n        tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n      if (structure === \"inline\")\n        root.children.push(tokenNode);\n      else if (structure === \"classic\")\n        lineNode.children.push(tokenNode);\n      col += token.content.length;\n    }\n    if (structure === \"classic\") {\n      for (const transformer of transformers)\n        lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n      lineNodes.push(lineNode);\n      lines.push(lineNode);\n    }\n  });\n  if (structure === \"classic\") {\n    for (const transformer of transformers)\n      codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n    preNode.children.push(codeNode);\n    for (const transformer of transformers)\n      preNode = transformer?.pre?.call(context, preNode) || preNode;\n    root.children.push(preNode);\n  }\n  let result = root;\n  for (const transformer of transformers)\n    result = transformer?.root?.call(context, result) || result;\n  if (grammarState)\n    setLastGrammarStateToMap(result, grammarState);\n  return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n  return tokens.map((line) => {\n    const newLine = [];\n    let carryOnContent = \"\";\n    let firstOffset = 0;\n    line.forEach((token, idx) => {\n      const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n      const couldMerge = !isUnderline;\n      if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n        if (!firstOffset)\n          firstOffset = token.offset;\n        carryOnContent += token.content;\n      } else {\n        if (carryOnContent) {\n          if (couldMerge) {\n            newLine.push({\n              ...token,\n              offset: firstOffset,\n              content: carryOnContent + token.content\n            });\n          } else {\n            newLine.push(\n              {\n                content: carryOnContent,\n                offset: firstOffset\n              },\n              token\n            );\n          }\n          firstOffset = 0;\n          carryOnContent = \"\";\n        } else {\n          newLine.push(token);\n        }\n      }\n    });\n    return newLine;\n  });\n}\nfunction splitWhitespaceTokens(tokens) {\n  return tokens.map((line) => {\n    return line.flatMap((token) => {\n      if (token.content.match(/^\\s+$/))\n        return token;\n      const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n      if (!match)\n        return token;\n      const [, leading, content, trailing] = match;\n      if (!leading && !trailing)\n        return token;\n      const expanded = [{\n        ...token,\n        offset: token.offset + leading.length,\n        content\n      }];\n      if (leading) {\n        expanded.unshift({\n          content: leading,\n          offset: token.offset\n        });\n      }\n      if (trailing) {\n        expanded.push({\n          content: trailing,\n          offset: token.offset + leading.length + content.length\n        });\n      }\n      return expanded;\n    });\n  });\n}\n\nfunction codeToHtml(internal, code, options) {\n  const context = {\n    meta: {},\n    options,\n    codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n    codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n  };\n  let result = toHtml(codeToHast(internal, code, options, context));\n  for (const transformer of getTransformers(options))\n    result = transformer.postprocess?.call(context, result, options) || result;\n  return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n  if (rawTheme?.[RESOLVED_KEY])\n    return rawTheme;\n  const theme = {\n    ...rawTheme\n  };\n  if (theme.tokenColors && !theme.settings) {\n    theme.settings = theme.tokenColors;\n    delete theme.tokenColors;\n  }\n  theme.type ||= \"dark\";\n  theme.colorReplacements = { ...theme.colorReplacements };\n  theme.settings ||= [];\n  let { bg, fg } = theme;\n  if (!bg || !fg) {\n    const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n    if (globalSetting?.settings?.foreground)\n      fg = globalSetting.settings.foreground;\n    if (globalSetting?.settings?.background)\n      bg = globalSetting.settings.background;\n    if (!fg && theme?.colors?.[\"editor.foreground\"])\n      fg = theme.colors[\"editor.foreground\"];\n    if (!bg && theme?.colors?.[\"editor.background\"])\n      bg = theme.colors[\"editor.background\"];\n    if (!fg)\n      fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n    if (!bg)\n      bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n    theme.fg = fg;\n    theme.bg = bg;\n  }\n  if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n    theme.settings.unshift({\n      settings: {\n        foreground: theme.fg,\n        background: theme.bg\n      }\n    });\n  }\n  let replacementCount = 0;\n  const replacementMap = /* @__PURE__ */ new Map();\n  function getReplacementColor(value) {\n    if (replacementMap.has(value))\n      return replacementMap.get(value);\n    replacementCount += 1;\n    const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n    if (theme.colorReplacements?.[`#${hex}`])\n      return getReplacementColor(value);\n    replacementMap.set(value, hex);\n    return hex;\n  }\n  theme.settings = theme.settings.map((setting) => {\n    const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n    const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n    if (!replaceFg && !replaceBg)\n      return setting;\n    const clone = {\n      ...setting,\n      settings: {\n        ...setting.settings\n      }\n    };\n    if (replaceFg) {\n      const replacement = getReplacementColor(setting.settings.foreground);\n      theme.colorReplacements[replacement] = setting.settings.foreground;\n      clone.settings.foreground = replacement;\n    }\n    if (replaceBg) {\n      const replacement = getReplacementColor(setting.settings.background);\n      theme.colorReplacements[replacement] = setting.settings.background;\n      clone.settings.background = replacement;\n    }\n    return clone;\n  });\n  for (const key of Object.keys(theme.colors || {})) {\n    if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n      if (!theme.colors[key]?.startsWith(\"#\")) {\n        const replacement = getReplacementColor(theme.colors[key]);\n        theme.colorReplacements[replacement] = theme.colors[key];\n        theme.colors[key] = replacement;\n      }\n    }\n  }\n  Object.defineProperty(theme, RESOLVED_KEY, {\n    enumerable: false,\n    writable: false,\n    value: true\n  });\n  return theme;\n}\n\nasync function resolveLangs(langs) {\n  return Array.from(new Set((await Promise.all(\n    langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n  )).flat()));\n}\nasync function resolveThemes(themes) {\n  const resolved = await Promise.all(\n    themes.map(\n      async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n    )\n  );\n  return resolved.filter((i) => !!i);\n}\n\nclass Registry extends Registry$1 {\n  constructor(_resolver, _themes, _langs, _alias = {}) {\n    super(_resolver);\n    this._resolver = _resolver;\n    this._themes = _themes;\n    this._langs = _langs;\n    this._alias = _alias;\n    this._themes.map((t) => this.loadTheme(t));\n    this.loadLanguages(this._langs);\n  }\n  _resolvedThemes = /* @__PURE__ */ new Map();\n  _resolvedGrammars = /* @__PURE__ */ new Map();\n  _langMap = /* @__PURE__ */ new Map();\n  _langGraph = /* @__PURE__ */ new Map();\n  _textmateThemeCache = /* @__PURE__ */ new WeakMap();\n  _loadedThemesCache = null;\n  _loadedLanguagesCache = null;\n  getTheme(theme) {\n    if (typeof theme === \"string\")\n      return this._resolvedThemes.get(theme);\n    else\n      return this.loadTheme(theme);\n  }\n  loadTheme(theme) {\n    const _theme = normalizeTheme(theme);\n    if (_theme.name) {\n      this._resolvedThemes.set(_theme.name, _theme);\n      this._loadedThemesCache = null;\n    }\n    return _theme;\n  }\n  getLoadedThemes() {\n    if (!this._loadedThemesCache)\n      this._loadedThemesCache = [...this._resolvedThemes.keys()];\n    return this._loadedThemesCache;\n  }\n  // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n  // is expensive. Themes can switch often especially for dual-theme support.\n  //\n  // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n  // we omit here so it's easier to cache the themes.\n  setTheme(theme) {\n    let textmateTheme = this._textmateThemeCache.get(theme);\n    if (!textmateTheme) {\n      textmateTheme = Theme.createFromRawTheme(theme);\n      this._textmateThemeCache.set(theme, textmateTheme);\n    }\n    this._syncRegistry.setTheme(textmateTheme);\n  }\n  getGrammar(name) {\n    if (this._alias[name]) {\n      const resolved = /* @__PURE__ */ new Set([name]);\n      while (this._alias[name]) {\n        name = this._alias[name];\n        if (resolved.has(name))\n          throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n        resolved.add(name);\n      }\n    }\n    return this._resolvedGrammars.get(name);\n  }\n  loadLanguage(lang) {\n    if (this.getGrammar(lang.name))\n      return;\n    const embeddedLazilyBy = new Set(\n      [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n    );\n    this._resolver.addLanguage(lang);\n    const grammarConfig = {\n      balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n      unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n    };\n    this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n    const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n    g.name = lang.name;\n    this._resolvedGrammars.set(lang.name, g);\n    if (lang.aliases) {\n      lang.aliases.forEach((alias) => {\n        this._alias[alias] = lang.name;\n      });\n    }\n    this._loadedLanguagesCache = null;\n    if (embeddedLazilyBy.size) {\n      for (const e of embeddedLazilyBy) {\n        this._resolvedGrammars.delete(e.name);\n        this._loadedLanguagesCache = null;\n        this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n        this._syncRegistry?._grammars?.delete(e.scopeName);\n        this.loadLanguage(this._langMap.get(e.name));\n      }\n    }\n  }\n  dispose() {\n    super.dispose();\n    this._resolvedThemes.clear();\n    this._resolvedGrammars.clear();\n    this._langMap.clear();\n    this._langGraph.clear();\n    this._loadedThemesCache = null;\n  }\n  loadLanguages(langs) {\n    for (const lang of langs)\n      this.resolveEmbeddedLanguages(lang);\n    const langsGraphArray = Array.from(this._langGraph.entries());\n    const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n    if (missingLangs.length) {\n      const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n      throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n    }\n    for (const [_, lang] of langsGraphArray)\n      this._resolver.addLanguage(lang);\n    for (const [_, lang] of langsGraphArray)\n      this.loadLanguage(lang);\n  }\n  getLoadedLanguages() {\n    if (!this._loadedLanguagesCache) {\n      this._loadedLanguagesCache = [\n        .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n      ];\n    }\n    return this._loadedLanguagesCache;\n  }\n  resolveEmbeddedLanguages(lang) {\n    this._langMap.set(lang.name, lang);\n    this._langGraph.set(lang.name, lang);\n    if (lang.embeddedLangs) {\n      for (const embeddedLang of lang.embeddedLangs)\n        this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n    }\n  }\n}\n\nclass Resolver {\n  _langs = /* @__PURE__ */ new Map();\n  _scopeToLang = /* @__PURE__ */ new Map();\n  _injections = /* @__PURE__ */ new Map();\n  _onigLib;\n  constructor(engine, langs) {\n    this._onigLib = {\n      createOnigScanner: (patterns) => engine.createScanner(patterns),\n      createOnigString: (s) => engine.createString(s)\n    };\n    langs.forEach((i) => this.addLanguage(i));\n  }\n  get onigLib() {\n    return this._onigLib;\n  }\n  getLangRegistration(langIdOrAlias) {\n    return this._langs.get(langIdOrAlias);\n  }\n  loadGrammar(scopeName) {\n    return this._scopeToLang.get(scopeName);\n  }\n  addLanguage(l) {\n    this._langs.set(l.name, l);\n    if (l.aliases) {\n      l.aliases.forEach((a) => {\n        this._langs.set(a, l);\n      });\n    }\n    this._scopeToLang.set(l.scopeName, l);\n    if (l.injectTo) {\n      l.injectTo.forEach((i) => {\n        if (!this._injections.get(i))\n          this._injections.set(i, []);\n        this._injections.get(i).push(l.scopeName);\n      });\n    }\n  }\n  getInjections(scopeName) {\n    const scopeParts = scopeName.split(\".\");\n    let injections = [];\n    for (let i = 1; i <= scopeParts.length; i++) {\n      const subScopeName = scopeParts.slice(0, i).join(\".\");\n      injections = [...injections, ...this._injections.get(subScopeName) || []];\n    }\n    return injections;\n  }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n  instancesCount += 1;\n  if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n    console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n  let isDisposed = false;\n  if (!options.engine)\n    throw new ShikiError(\"`engine` option is required for synchronous mode\");\n  const langs = (options.langs || []).flat(1);\n  const themes = (options.themes || []).flat(1).map(normalizeTheme);\n  const resolver = new Resolver(options.engine, langs);\n  const _registry = new Registry(resolver, themes, langs, options.langAlias);\n  let _lastTheme;\n  function getLanguage(name) {\n    ensureNotDisposed();\n    const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n    if (!_lang)\n      throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n    return _lang;\n  }\n  function getTheme(name) {\n    if (name === \"none\")\n      return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n    ensureNotDisposed();\n    const _theme = _registry.getTheme(name);\n    if (!_theme)\n      throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n    return _theme;\n  }\n  function setTheme(name) {\n    ensureNotDisposed();\n    const theme = getTheme(name);\n    if (_lastTheme !== name) {\n      _registry.setTheme(theme);\n      _lastTheme = name;\n    }\n    const colorMap = _registry.getColorMap();\n    return {\n      theme,\n      colorMap\n    };\n  }\n  function getLoadedThemes() {\n    ensureNotDisposed();\n    return _registry.getLoadedThemes();\n  }\n  function getLoadedLanguages() {\n    ensureNotDisposed();\n    return _registry.getLoadedLanguages();\n  }\n  function loadLanguageSync(...langs2) {\n    ensureNotDisposed();\n    _registry.loadLanguages(langs2.flat(1));\n  }\n  async function loadLanguage(...langs2) {\n    return loadLanguageSync(await resolveLangs(langs2));\n  }\n  function loadThemeSync(...themes2) {\n    ensureNotDisposed();\n    for (const theme of themes2.flat(1)) {\n      _registry.loadTheme(theme);\n    }\n  }\n  async function loadTheme(...themes2) {\n    ensureNotDisposed();\n    return loadThemeSync(await resolveThemes(themes2));\n  }\n  function ensureNotDisposed() {\n    if (isDisposed)\n      throw new ShikiError(\"Shiki instance has been disposed\");\n  }\n  function dispose() {\n    if (isDisposed)\n      return;\n    isDisposed = true;\n    _registry.dispose();\n    instancesCount -= 1;\n  }\n  return {\n    setTheme,\n    getTheme,\n    getLanguage,\n    getLoadedThemes,\n    getLoadedLanguages,\n    loadLanguage,\n    loadLanguageSync,\n    loadTheme,\n    loadThemeSync,\n    dispose,\n    [Symbol.dispose]: dispose\n  };\n}\n\nasync function createShikiInternal(options = {}) {\n  if (options.loadWasm) {\n    warnDeprecated(\"`loadWasm` option is deprecated. Use `engine: createOnigurumaEngine(loadWasm)` instead.\");\n  }\n  const [\n    themes,\n    langs,\n    engine\n  ] = await Promise.all([\n    resolveThemes(options.themes || []),\n    resolveLangs(options.langs || []),\n    options.engine || createOnigurumaEngine$1(options.loadWasm || getDefaultWasmLoader())\n  ]);\n  return createShikiInternalSync({\n    ...options,\n    loadWasm: void 0,\n    themes,\n    langs,\n    engine\n  });\n}\nfunction getShikiInternal(options = {}) {\n  warnDeprecated(\"`getShikiInternal` is deprecated. Use `createShikiInternal` instead.\");\n  return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n  const internal = await createShikiInternal(options);\n  return {\n    getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n    codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n    codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n    codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n    codeToHast: (code, options2) => codeToHast(internal, code, options2),\n    codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n    ...internal,\n    getInternalContext: () => internal\n  };\n}\nfunction createHighlighterCoreSync(options = {}) {\n  const internal = createShikiInternalSync(options);\n  return {\n    getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n    codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n    codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n    codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n    codeToHast: (code, options2) => codeToHast(internal, code, options2),\n    codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n    ...internal,\n    getInternalContext: () => internal\n  };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n  let _shiki;\n  async function getSingletonHighlighterCore2(options = {}) {\n    if (!_shiki) {\n      _shiki = createHighlighter({\n        ...options,\n        themes: options.themes || [],\n        langs: options.langs || []\n      });\n      return _shiki;\n    } else {\n      const s = await _shiki;\n      await Promise.all([\n        s.loadTheme(...options.themes || []),\n        s.loadLanguage(...options.langs || [])\n      ]);\n      return s;\n    }\n  }\n  return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n  warnDeprecated(\"`getHighlighterCore` is deprecated. Use `createHighlighterCore` or `getSingletonHighlighterCore` instead.\");\n  return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n  let bundledLanguages;\n  let bundledThemes;\n  let engine;\n  if (arg2) {\n    warnDeprecated(\"`createdBundledHighlighter` signature with `bundledLanguages` and `bundledThemes` is deprecated. Use the options object signature instead.\");\n    bundledLanguages = arg1;\n    bundledThemes = arg2;\n    engine = () => createOnigurumaEngine(arg3);\n  } else {\n    const options = arg1;\n    bundledLanguages = options.langs;\n    bundledThemes = options.themes;\n    engine = options.engine;\n  }\n  async function createHighlighter(options) {\n    function resolveLang(lang) {\n      if (typeof lang === \"string\") {\n        if (isSpecialLang(lang))\n          return [];\n        const bundle = bundledLanguages[lang];\n        if (!bundle)\n          throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n        return bundle;\n      }\n      return lang;\n    }\n    function resolveTheme(theme) {\n      if (isSpecialTheme(theme))\n        return \"none\";\n      if (typeof theme === \"string\") {\n        const bundle = bundledThemes[theme];\n        if (!bundle)\n          throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n        return bundle;\n      }\n      return theme;\n    }\n    const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n    const langs = (options.langs ?? []).map((i) => resolveLang(i));\n    const core = await createHighlighterCore({\n      engine: options.engine ?? engine(),\n      ...options,\n      themes: _themes,\n      langs\n    });\n    return {\n      ...core,\n      loadLanguage(...langs2) {\n        return core.loadLanguage(...langs2.map(resolveLang));\n      },\n      loadTheme(...themes) {\n        return core.loadTheme(...themes.map(resolveTheme));\n      }\n    };\n  }\n  return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n  let _shiki;\n  async function getSingletonHighlighter(options = {}) {\n    if (!_shiki) {\n      _shiki = createHighlighter({\n        ...options,\n        themes: options.themes || [],\n        langs: options.langs || []\n      });\n      return _shiki;\n    } else {\n      const s = await _shiki;\n      await Promise.all([\n        s.loadTheme(...options.themes || []),\n        s.loadLanguage(...options.langs || [])\n      ]);\n      return s;\n    }\n  }\n  return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n  const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n  return {\n    getSingletonHighlighter(options) {\n      return getSingletonHighlighter(options);\n    },\n    async codeToHtml(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n      });\n      return shiki.codeToHtml(code, options);\n    },\n    async codeToHast(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n      });\n      return shiki.codeToHast(code, options);\n    },\n    async codeToTokens(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n      });\n      return shiki.codeToTokens(code, options);\n    },\n    async codeToTokensBase(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: [options.theme]\n      });\n      return shiki.codeToTokensBase(code, options);\n    },\n    async codeToTokensWithThemes(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: Object.values(options.themes).filter(Boolean)\n      });\n      return shiki.codeToTokensWithThemes(code, options);\n    },\n    async getLastGrammarState(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: [options.theme]\n      });\n      return shiki.getLastGrammarState(code, options);\n    }\n  };\n}\n\nfunction createJavaScriptRegexEngine(options) {\n  warnDeprecated(\"import `createJavaScriptRegexEngine` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n  return createJavaScriptRegexEngine$1(options);\n}\nfunction defaultJavaScriptRegexConstructor(pattern) {\n  warnDeprecated(\"import `defaultJavaScriptRegexConstructor` from `@shikijs/engine-javascript` or `shiki/engine/javascript` instead\");\n  return defaultJavaScriptRegexConstructor$1(pattern);\n}\n\nfunction createCssVariablesTheme(options = {}) {\n  const {\n    name = \"css-variables\",\n    variablePrefix = \"--shiki-\",\n    fontStyle = true\n  } = options;\n  const variable = (name2) => {\n    if (options.variableDefaults?.[name2])\n      return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n    return `var(${variablePrefix}${name2})`;\n  };\n  const theme = {\n    name,\n    type: \"dark\",\n    colors: {\n      \"editor.foreground\": variable(\"foreground\"),\n      \"editor.background\": variable(\"background\"),\n      \"terminal.ansiBlack\": variable(\"ansi-black\"),\n      \"terminal.ansiRed\": variable(\"ansi-red\"),\n      \"terminal.ansiGreen\": variable(\"ansi-green\"),\n      \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n      \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n      \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n      \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n      \"terminal.ansiWhite\": variable(\"ansi-white\"),\n      \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n      \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n      \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n      \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n      \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n      \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n      \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n      \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n    },\n    tokenColors: [\n      {\n        scope: [\n          \"keyword.operator.accessor\",\n          \"meta.group.braces.round.function.arguments\",\n          \"meta.template.expression\",\n          \"markup.fenced_code meta.embedded.block\"\n        ],\n        settings: {\n          foreground: variable(\"foreground\")\n        }\n      },\n      {\n        scope: \"emphasis\",\n        settings: {\n          fontStyle: \"italic\"\n        }\n      },\n      {\n        scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n        settings: {\n          fontStyle: \"bold\"\n        }\n      },\n      {\n        scope: [\"markup.italic.markdown\"],\n        settings: {\n          fontStyle: \"italic\"\n        }\n      },\n      {\n        scope: \"meta.link.inline.markdown\",\n        settings: {\n          fontStyle: \"underline\",\n          foreground: variable(\"token-link\")\n        }\n      },\n      {\n        scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n        settings: {\n          foreground: variable(\"token-string\")\n        }\n      },\n      {\n        scope: [\"comment\", \"string.quoted.docstring.multi\"],\n        settings: {\n          foreground: variable(\"token-comment\")\n        }\n      },\n      {\n        scope: [\n          \"constant.numeric\",\n          \"constant.language\",\n          \"constant.other.placeholder\",\n          \"constant.character.format.placeholder\",\n          \"variable.language.this\",\n          \"variable.other.object\",\n          \"variable.other.class\",\n          \"variable.other.constant\",\n          \"meta.property-name\",\n          \"meta.property-value\",\n          \"support\"\n        ],\n        settings: {\n          foreground: variable(\"token-constant\")\n        }\n      },\n      {\n        scope: [\n          \"keyword\",\n          \"storage.modifier\",\n          \"storage.type\",\n          \"storage.control.clojure\",\n          \"entity.name.function.clojure\",\n          \"entity.name.tag.yaml\",\n          \"support.function.node\",\n          \"support.type.property-name.json\",\n          \"punctuation.separator.key-value\",\n          \"punctuation.definition.template-expression\"\n        ],\n        settings: {\n          foreground: variable(\"token-keyword\")\n        }\n      },\n      {\n        scope: \"variable.parameter.function\",\n        settings: {\n          foreground: variable(\"token-parameter\")\n        }\n      },\n      {\n        scope: [\n          \"support.function\",\n          \"entity.name.type\",\n          \"entity.other.inherited-class\",\n          \"meta.function-call\",\n          \"meta.instance.constructor\",\n          \"entity.other.attribute-name\",\n          \"entity.name.function\",\n          \"constant.keyword.clojure\"\n        ],\n        settings: {\n          foreground: variable(\"token-function\")\n        }\n      },\n      {\n        scope: [\n          \"entity.name.tag\",\n          \"string.quoted\",\n          \"string.regexp\",\n          \"string.interpolated\",\n          \"string.template\",\n          \"string.unquoted.plain.out.yaml\",\n          \"keyword.other.template\"\n        ],\n        settings: {\n          foreground: variable(\"token-string-expression\")\n        }\n      },\n      {\n        scope: [\n          \"punctuation.definition.arguments\",\n          \"punctuation.definition.dict\",\n          \"punctuation.separator\",\n          \"meta.function-call.arguments\"\n        ],\n        settings: {\n          foreground: variable(\"token-punctuation\")\n        }\n      },\n      {\n        // [Custom] Markdown links\n        scope: [\n          \"markup.underline.link\",\n          \"punctuation.definition.metadata.markdown\"\n        ],\n        settings: {\n          foreground: variable(\"token-link\")\n        }\n      },\n      {\n        // [Custom] Markdown list\n        scope: [\"beginning.punctuation.definition.list.markdown\"],\n        settings: {\n          foreground: variable(\"token-string\")\n        }\n      },\n      {\n        // [Custom] Markdown punctuation definition brackets\n        scope: [\n          \"punctuation.definition.string.begin.markdown\",\n          \"punctuation.definition.string.end.markdown\",\n          \"string.other.link.title.markdown\",\n          \"string.other.link.description.markdown\"\n        ],\n        settings: {\n          foreground: variable(\"token-keyword\")\n        }\n      },\n      {\n        // [Custom] Diff\n        scope: [\n          \"markup.inserted\",\n          \"meta.diff.header.to-file\",\n          \"punctuation.definition.inserted\"\n        ],\n        settings: {\n          foreground: variable(\"token-inserted\")\n        }\n      },\n      {\n        scope: [\n          \"markup.deleted\",\n          \"meta.diff.header.from-file\",\n          \"punctuation.definition.deleted\"\n        ],\n        settings: {\n          foreground: variable(\"token-deleted\")\n        }\n      },\n      {\n        scope: [\n          \"markup.changed\",\n          \"punctuation.definition.changed\"\n        ],\n        settings: {\n          foreground: variable(\"token-changed\")\n        }\n      }\n    ]\n  };\n  if (!fontStyle) {\n    theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n      if (tokenColor.settings?.fontStyle)\n        delete tokenColor.settings.fontStyle;\n      return tokenColor;\n    });\n  }\n  return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createJavaScriptRegexEngine, createOnigurumaEngine, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createWasmOnigEngine, createdBundledHighlighter, defaultJavaScriptRegexConstructor, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, loadWasm, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","function transformerCompactLineOptions(lineOptions = []) {\n  return {\n    name: \"@shikijs/transformers:compact-line-options\",\n    line(node, line) {\n      const lineOption = lineOptions.find((o) => o.line === line);\n      if (lineOption?.classes)\n        this.addClassToHast(node, lineOption.classes);\n      return node;\n    }\n  };\n}\n\nfunction parseMetaHighlightString(meta) {\n  if (!meta)\n    return null;\n  const match = meta.match(/\\{([\\d,-]+)\\}/);\n  if (!match)\n    return null;\n  const lines = match[1].split(\",\").flatMap((v) => {\n    const num = v.split(\"-\").map((v2) => Number.parseInt(v2, 10));\n    if (num.length === 1)\n      return [num[0]];\n    else\n      return Array.from({ length: num[1] - num[0] + 1 }, (_, i) => i + num[0]);\n  });\n  return lines;\n}\nconst symbol = Symbol(\"highlighted-lines\");\nfunction transformerMetaHighlight(options = {}) {\n  const {\n    className = \"highlighted\"\n  } = options;\n  return {\n    name: \"@shikijs/transformers:meta-highlight\",\n    line(node, line) {\n      if (!this.options.meta?.__raw) {\n        return;\n      }\n      this.meta[symbol] ||= parseMetaHighlightString(this.options.meta.__raw);\n      const lines = this.meta[symbol] || [];\n      if (lines.includes(line))\n        this.addClassToHast(node, className);\n      return node;\n    }\n  };\n}\n\nfunction parseMetaHighlightWords(meta) {\n  if (!meta)\n    return [];\n  const match = Array.from(meta.matchAll(/\\/((?:\\\\.|[^/])+)\\//g));\n  return match.map((v) => v[1].replace(/\\\\(.)/g, \"$1\"));\n}\nfunction transformerMetaWordHighlight(options = {}) {\n  const {\n    className = \"highlighted-word\"\n  } = options;\n  return {\n    name: \"@shikijs/transformers:meta-word-highlight\",\n    preprocess(code, options2) {\n      if (!this.options.meta?.__raw)\n        return;\n      const words = parseMetaHighlightWords(this.options.meta.__raw);\n      options2.decorations ||= [];\n      for (const word of words) {\n        const indexes = findAllSubstringIndexes(code, word);\n        for (const index of indexes) {\n          options2.decorations.push({\n            start: index,\n            end: index + word.length,\n            properties: {\n              class: className\n            }\n          });\n        }\n      }\n    }\n  };\n}\nfunction findAllSubstringIndexes(str, substr) {\n  const indexes = [];\n  let i = -1;\n  while ((i = str.indexOf(substr, i + 1)) !== -1)\n    indexes.push(i);\n  return indexes;\n}\n\nfunction createCommentNotationTransformer(name, regex, onMatch, removeEmptyLines = false) {\n  return {\n    name,\n    code(code) {\n      const lines = code.children.filter((i) => i.type === \"element\");\n      const linesToRemove = [];\n      lines.forEach((line, idx) => {\n        let nodeToRemove;\n        for (const child of line.children) {\n          if (child.type !== \"element\")\n            continue;\n          const text = child.children[0];\n          if (text.type !== \"text\")\n            continue;\n          let replaced = false;\n          text.value = text.value.replace(regex, (...match) => {\n            if (onMatch.call(this, match, line, child, lines, idx)) {\n              replaced = true;\n              return \"\";\n            }\n            return match[0];\n          });\n          if (replaced && !text.value.trim())\n            nodeToRemove = child;\n        }\n        if (nodeToRemove) {\n          line.children.splice(line.children.indexOf(nodeToRemove), 1);\n          if (line.children.length === 0) {\n            linesToRemove.push(line);\n            if (removeEmptyLines) {\n              const next = code.children[code.children.indexOf(line) + 1];\n              if (next && next.type === \"text\" && next.value === \"\\n\")\n                linesToRemove.push(next);\n            }\n          }\n        }\n      });\n      for (const line of linesToRemove)\n        code.children.splice(code.children.indexOf(line), 1);\n    }\n  };\n}\n\nfunction escapeRegExp(str) {\n  return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\nfunction transformerNotationMap(options = {}, name = \"@shikijs/transformers:notation-map\") {\n  const {\n    classMap = {},\n    classActivePre = void 0\n  } = options;\n  return createCommentNotationTransformer(\n    name,\n    new RegExp(`\\\\s*(?://|/\\\\*|<!--|#|--|%{1,2}|;{1,2}|\"|')\\\\s+\\\\[!code (${Object.keys(classMap).map(escapeRegExp).join(\"|\")})(:\\\\d+)?\\\\]\\\\s*(?:\\\\*/|-->)?\\\\s*$`),\n    function([_, match, range = \":1\"], _line, _comment, lines, index) {\n      const lineNum = Number.parseInt(range.slice(1), 10);\n      lines.slice(index, index + lineNum).forEach((line) => {\n        this.addClassToHast(line, classMap[match]);\n      });\n      if (classActivePre)\n        this.addClassToHast(this.pre, classActivePre);\n      return true;\n    }\n  );\n}\n\nfunction transformerNotationDiff(options = {}) {\n  const {\n    classLineAdd = \"diff add\",\n    classLineRemove = \"diff remove\",\n    classActivePre = \"has-diff\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap: {\n        \"++\": classLineAdd,\n        \"--\": classLineRemove\n      },\n      classActivePre\n    },\n    \"@shikijs/transformers:notation-diff\"\n  );\n}\n\nfunction transformerNotationErrorLevel(options = {}) {\n  const {\n    classMap = {\n      error: [\"highlighted\", \"error\"],\n      warning: [\"highlighted\", \"warning\"]\n    },\n    classActivePre = \"has-highlighted\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap,\n      classActivePre\n    },\n    \"@shikijs/transformers:notation-error-level\"\n  );\n}\n\nfunction transformerNotationFocus(options = {}) {\n  const {\n    classActiveLine = \"focused\",\n    classActivePre = \"has-focused\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap: {\n        focus: classActiveLine\n      },\n      classActivePre\n    },\n    \"@shikijs/transformers:notation-focus\"\n  );\n}\n\nfunction transformerNotationHighlight(options = {}) {\n  const {\n    classActiveLine = \"highlighted\",\n    classActivePre = \"has-highlighted\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap: {\n        highlight: classActiveLine,\n        hl: classActiveLine\n      },\n      classActivePre\n    },\n    \"@shikijs/transformers:notation-highlight\"\n  );\n}\n\nfunction highlightWordInLine(line, ignoredElement, word, className) {\n  const content = getTextContent(line);\n  let index = content.indexOf(word);\n  while (index !== -1) {\n    highlightRange.call(this, line.children, ignoredElement, index, word.length, className);\n    index = content.indexOf(word, index + 1);\n  }\n}\nfunction getTextContent(element) {\n  if (element.type === \"text\")\n    return element.value;\n  if (element.type === \"element\" && element.tagName === \"span\")\n    return element.children.map(getTextContent).join(\"\");\n  return \"\";\n}\nfunction highlightRange(elements, ignoredElement, index, len, className) {\n  let currentIdx = 0;\n  for (let i = 0; i < elements.length; i++) {\n    const element = elements[i];\n    if (element.type !== \"element\" || element.tagName !== \"span\" || element === ignoredElement)\n      continue;\n    const textNode = element.children[0];\n    if (textNode.type !== \"text\")\n      continue;\n    if (hasOverlap([currentIdx, currentIdx + textNode.value.length - 1], [index, index + len])) {\n      const start = Math.max(0, index - currentIdx);\n      const length = len - Math.max(0, currentIdx - index);\n      if (length === 0)\n        continue;\n      const separated = separateToken(element, textNode, start, length);\n      this.addClassToHast(separated[1], className);\n      const output = separated.filter(Boolean);\n      elements.splice(i, 1, ...output);\n      i += output.length - 1;\n    }\n    currentIdx += textNode.value.length;\n  }\n}\nfunction hasOverlap(range1, range2) {\n  return range1[0] <= range2[1] && range1[1] >= range2[0];\n}\nfunction separateToken(span, textNode, index, len) {\n  const text = textNode.value;\n  const createNode = (value) => inheritElement(span, {\n    children: [\n      {\n        type: \"text\",\n        value\n      }\n    ]\n  });\n  return [\n    index > 0 ? createNode(text.slice(0, index)) : void 0,\n    createNode(text.slice(index, index + len)),\n    index + len < text.length ? createNode(text.slice(index + len)) : void 0\n  ];\n}\nfunction inheritElement(original, overrides) {\n  return {\n    ...original,\n    properties: {\n      ...original.properties\n    },\n    ...overrides\n  };\n}\n\nfunction transformerNotationWordHighlight(options = {}) {\n  const {\n    classActiveWord = \"highlighted-word\",\n    classActivePre = void 0\n  } = options;\n  return createCommentNotationTransformer(\n    \"@shikijs/transformers:notation-highlight-word\",\n    // comment-start             | marker    | word           | range | comment-end\n    /^\\s*(?:\\/\\/|\\/\\*|<!--|#)\\s+\\[!code word:((?:\\\\.|[^:\\]])+)(:\\d+)?\\]\\s*(?:\\*\\/|-->)?/,\n    function([_, word, range], _line, comment, lines, index) {\n      const lineNum = range ? Number.parseInt(range.slice(1), 10) : lines.length;\n      word = word.replace(/\\\\(.)/g, \"$1\");\n      lines.slice(index + 1, index + 1 + lineNum).forEach((line) => highlightWordInLine.call(this, line, comment, word, classActiveWord));\n      if (classActivePre)\n        this.addClassToHast(this.pre, classActivePre);\n      return true;\n    },\n    true\n    // remove empty lines\n  );\n}\n\nfunction transformerRemoveLineBreak() {\n  return {\n    name: \"@shikijs/transformers:remove-line-break\",\n    code(code) {\n      code.children = code.children.filter((line) => !(line.type === \"text\" && line.value === \"\\n\"));\n    }\n  };\n}\n\nfunction transformerRemoveNotationEscape() {\n  return {\n    name: \"@shikijs/transformers:remove-notation-escape\",\n    postprocess(code) {\n      return code.replace(/\\[\\\\!code/g, \"[!code\");\n    }\n  };\n}\n\nfunction separateContinuousSpaces(inputs) {\n  const result = [];\n  let current = \"\";\n  function bump() {\n    if (current.length)\n      result.push(current);\n    current = \"\";\n  }\n  inputs.forEach((part, idx) => {\n    if (isTab(part)) {\n      bump();\n      result.push(part);\n    } else if (isSpace(part) && (isSpace(inputs[idx - 1]) || isSpace(inputs[idx + 1]))) {\n      bump();\n      result.push(part);\n    } else {\n      current += part;\n    }\n  });\n  bump();\n  return result;\n}\nfunction isTab(part) {\n  return part === \"\t\";\n}\nfunction isSpace(part) {\n  return part === \" \" || part === \"\t\";\n}\nfunction splitSpaces(parts, type, renderContinuousSpaces = true) {\n  if (type === \"all\")\n    return parts;\n  let leftCount = 0;\n  let rightCount = 0;\n  if (type === \"boundary\") {\n    for (let i = 0; i < parts.length; i++) {\n      if (isSpace(parts[i]))\n        leftCount++;\n      else\n        break;\n    }\n  }\n  if (type === \"boundary\" || type === \"trailing\") {\n    for (let i = parts.length - 1; i >= 0; i--) {\n      if (isSpace(parts[i]))\n        rightCount++;\n      else\n        break;\n    }\n  }\n  const middle = parts.slice(leftCount, parts.length - rightCount);\n  return [\n    ...parts.slice(0, leftCount),\n    ...renderContinuousSpaces ? separateContinuousSpaces(middle) : [middle.join(\"\")],\n    ...parts.slice(parts.length - rightCount)\n  ];\n}\n\nfunction transformerRenderWhitespace(options = {}) {\n  const classMap = {\n    \" \": options.classSpace ?? \"space\",\n    \"\t\": options.classTab ?? \"tab\"\n  };\n  const position = options.position ?? \"all\";\n  const keys = Object.keys(classMap);\n  return {\n    name: \"@shikijs/transformers:render-whitespace\",\n    // We use `root` hook here to ensure it runs after all other transformers\n    root(root) {\n      const pre = root.children[0];\n      const code = pre.children[0];\n      code.children.forEach(\n        (line) => {\n          if (line.type !== \"element\")\n            return;\n          const elements = line.children.filter((token) => token.type === \"element\");\n          const last = elements.length - 1;\n          line.children = line.children.flatMap((token) => {\n            if (token.type !== \"element\")\n              return token;\n            const index = elements.indexOf(token);\n            if (position === \"boundary\" && index !== 0 && index !== last)\n              return token;\n            if (position === \"trailing\" && index !== last)\n              return token;\n            const node = token.children[0];\n            if (node.type !== \"text\" || !node.value)\n              return token;\n            const parts = splitSpaces(\n              node.value.split(/([ \\t])/).filter((i) => i.length),\n              position === \"boundary\" && index === last && last !== 0 ? \"trailing\" : position,\n              position !== \"trailing\"\n            );\n            if (parts.length <= 1)\n              return token;\n            return parts.map((part) => {\n              const clone = {\n                ...token,\n                properties: { ...token.properties }\n              };\n              clone.children = [{ type: \"text\", value: part }];\n              if (keys.includes(part)) {\n                this.addClassToHast(clone, classMap[part]);\n                delete clone.properties.style;\n              }\n              return clone;\n            });\n          });\n        }\n      );\n    }\n  };\n}\n\nfunction transformerStyleToClass(options = {}) {\n  const {\n    classPrefix = \"__shiki_\",\n    classSuffix = \"\",\n    classReplacer = (className) => className\n  } = options;\n  const classToStyle = /* @__PURE__ */ new Map();\n  function stringifyStyle(style) {\n    return Object.entries(style).map(([key, value]) => `${key}:${value}`).join(\";\");\n  }\n  function registerStyle(style) {\n    const str = typeof style === \"string\" ? style : stringifyStyle(style);\n    let className = classPrefix + cyrb53(str) + classSuffix;\n    className = classReplacer(className);\n    if (!classToStyle.has(className)) {\n      classToStyle.set(\n        className,\n        typeof style === \"string\" ? style : { ...style }\n      );\n    }\n    return className;\n  }\n  return {\n    name: \"@shikijs/transformers:style-to-class\",\n    pre(t) {\n      if (!t.properties.style)\n        return;\n      const className = registerStyle(t.properties.style);\n      delete t.properties.style;\n      this.addClassToHast(t, className);\n    },\n    tokens(lines) {\n      for (const line of lines) {\n        for (const token of line) {\n          if (!token.htmlStyle)\n            continue;\n          const className = registerStyle(token.htmlStyle);\n          token.htmlStyle = {};\n          token.htmlAttrs ||= {};\n          if (!token.htmlAttrs.class)\n            token.htmlAttrs.class = className;\n          else\n            token.htmlAttrs.class += ` ${className}`;\n        }\n      }\n    },\n    getClassRegistry() {\n      return classToStyle;\n    },\n    getCSS() {\n      let css = \"\";\n      for (const [className, style] of classToStyle.entries()) {\n        css += `.${className}{${typeof style === \"string\" ? style : stringifyStyle(style)}}`;\n      }\n      return css;\n    },\n    clearRegistry() {\n      classToStyle.clear();\n    }\n  };\n}\nfunction cyrb53(str, seed = 0) {\n  let h1 = 3735928559 ^ seed;\n  let h2 = 1103547991 ^ seed;\n  for (let i = 0, ch; i < str.length; i++) {\n    ch = str.charCodeAt(i);\n    h1 = Math.imul(h1 ^ ch, 2654435761);\n    h2 = Math.imul(h2 ^ ch, 1597334677);\n  }\n  h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507);\n  h1 ^= Math.imul(h2 ^ h2 >>> 13, 3266489909);\n  h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507);\n  h2 ^= Math.imul(h1 ^ h1 >>> 13, 3266489909);\n  return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36).slice(0, 6);\n}\n\nexport { createCommentNotationTransformer, parseMetaHighlightString, parseMetaHighlightWords, transformerCompactLineOptions, transformerMetaHighlight, transformerMetaWordHighlight, transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight, transformerNotationMap, transformerNotationWordHighlight, transformerRemoveLineBreak, transformerRemoveNotationEscape, transformerRenderWhitespace, transformerStyleToClass };\n","import { isFunction, range, splitList } from '@abw/badger-utils'\n\nexport const prepareCode = (code, options={}) => {\n  // This is some hackery to allow us to display source code fragments.\n  // We want the components to be valid JSX and executable so we can display\n  // the output of running them.  But we also want to present a cleaner view\n  // in the source code.  For example, we have to change the import path,\n  // from e.g. '../../src/index.js' to '@abw/badger-react-ui'\n  code = code\n    // remove everything up to {/* START */}\n    .replace(/^[^]*?{?\\/\\*\\s*START\\s*\\*\\/}?\\n/, '')\n    // and everything from {/* END */} onwards\n    .replace(/[\\n\\s]*{?\\/\\*\\s*END\\s*\\*\\/}?[^]*/, '')\n    // and the // PRETEND: prefix\n    .replaceAll(/\\/\\/\\s*PRETEND:\\s/g, '')\n    // also cleanup {/* PRETEND: some stuff */}\n    .replaceAll(/{?\\/\\*\\s*PRETEND:\\s(.*?)\\s+\\*\\/}?/g, '$1')\n    // .replaceAll(/\\/\\*\\s*REAL\\s*\\*\\/.*?\\/\\*\\s*UNREAL\\s*\\*\\//g, '')\n    // .replaceAll(/{\\/\\*\\s*(UN?)PRETEND\\s*\\*\\/}/g, '')\n    .replace(/\\n+$/, '')\n    // .replaceAll(/*REAL:\\s*\\n.*?\\n/g, '')       // and any line after // REAL:\n  if (options.undent) {\n    const match = new RegExp('^' + ' '.repeat(options.undent), 'gm')\n    code = code.replaceAll(match, '')\n  }\n  return code\n}\n\nexport const removeLineEndings = {\n  code(code) {\n    // remove any newlines as long as the preceding line isn't a blank line,\n    const children = code.children\n    // console.log(`children: `, children)\n    code.children = code.children.filter(\n      (line, n) => !(\n        line.type === 'text'\n        && line.value === '\\n'\n        && (n > 0 && children[n-1].children?.length > 0)\n      )\n    )\n  },\n}\n\nexport const lineHighlighter = highlightLines => {\n  // highlightLines can be a single line, e.g. \"7\", a range of lines,\n  // e.g. \"7-9\", or multiple lines/ranges, e.g. \"7,11-12,15-18\".\n  // Or it can be a function which is passed a line and returns true/false\n  const highlighter = isFunction(highlightLines)\n    ? highlightLines\n    : makeHighlighter(highlightLines)\n\n  return {\n    line(node, line) {\n      if (highlighter(line)) {\n        this.addClassToHast(node, 'highlighted')\n      }\n    }\n  }\n}\n\nexport const makeHighlighter = highlightLines => {\n  const lineRanges = splitList(highlightLines)\n  const highlines = lineRanges.reduce(\n    (highlines, lineRange)  => {\n      const [a, b] = lineRange.split('-')\n      const start = parseInt(a)\n      const end = b ? parseInt(b) : start\n      range(start, end).forEach(\n        line => highlines[line] = true\n      )\n      return highlines\n    },\n    { }\n  )\n  return line => highlines[line]\n}\n","var binary = Uint8Array.from(atob(\"AGFzbQEAAAABoQEWYAJ/fwF/YAF/AX9gA39/fwF/YAR/f39/AX9gAX8AYAV/f39/fwF/YAN/f38AYAJ/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAAF/YAl/f39/f39/f38Bf2AIf39/f39/f38Bf2AAAGAEf39/fwBgA39+fwF+YAZ/fH9/f38Bf2AAAXxgBn9/f39/fwBgAnx/AXxgAn5/AX9gBX9/f39/AAJ1BANlbnYVZW1zY3JpcHRlbl9tZW1jcHlfYmlnAAYDZW52EmVtc2NyaXB0ZW5fZ2V0X25vdwARFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUAAwNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAABA9MB0QENBAABAAECAgsCAAIEBAACAQEAAQMCAwkCBgUDBQgCAwwMAwkJAwgDAQIFAwMEAQUHCwgCAgsABQUBAgQCBgIAAQACBAIABwMHBgcAAwACAAICAAQBAgcAAgUCAAEBBgYABgQACAUICQsJDAAAAAAAAAACAgIDAAIDAgADAQABAAACBQICAAESAQEEAgIGAgUDAQUAAgEBAAoBAAEAAwMCAAACBgIOAgEPAQEBChMCBQkGAQ4UFRAHAwIBAAEECggCAQgIBwcNAQQABwABCgQBBQQFAXABMzMFBwEBgAKAgAIGDgJ/AUHQj9MCC38BQQALB5QCDwZtZW1vcnkCABFfX3dhc21fY2FsbF9jdG9ycwAEGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBABBfX2Vycm5vX2xvY2F0aW9uALABB29tYWxsb2MAwAEFb2ZyZWUAwQEQZ2V0TGFzdE9uaWdFcnJvcgDCARFjcmVhdGVPbmlnU2Nhbm5lcgDEAQ9mcmVlT25pZ1NjYW5uZXIAxQEYZmluZE5leHRPbmlnU2Nhbm5lck1hdGNoAMYBG2ZpbmROZXh0T25pZ1NjYW5uZXJNYXRjaERiZwDHAQlzdGFja1NhdmUA0QEMc3RhY2tSZXN0b3JlANIBCnN0YWNrQWxsb2MA0wEMZHluQ2FsbF9qaWppANQBCVIBAEEBCzIFCgsPHC9vcHRxcnN1ugG7Ab0BBgcICYABfoEBggGDAX97fIUBmwF9hAFvnAFvnQGeAZ8BoAGhAZIBogGYAZcBowGkAaUBqwGqAawB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ACADNgIEIA0oAgBBATYCCEEADwsgACgCDCABEE8iA0EASARAIAMPCyACIAIoAowBIgVBAWo2AowBIAFBOxBRIgQNCyABKAIIIANBBWo2AgQgAUHNABBRIgQNCyABKAIIIAU2AgQgASgCCEEANgIIIAAoAgwgASACEEIiBA0LIAFBPhBRIgAhBCAADQsgASgCCCAFNgIEIAFBPRBRIgAhBCAADQsgAUE5EFEPCyMAQRBrIgkkAAJAIAAoAhQgACgCGEYEQCACIAIoAowBIgdBAWo2AowBAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBkEATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIgVFDQIgASAFNgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBjYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHNADYCACABKAIIIAc2AgQgASgCCEEANgIIAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBkEATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIgVFDQIgASAFNgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBjYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHKADYCACABKAIIIAAoAhQ2AgQgASgCCEEANgIIIAEoAghBATYCDCAAKAIMIAEgAhBCIgMNAQJAIAEoAgwiACABKAIQIgJJDQAgAkUNACACQQF0IgBBAEwEQEF1IQMMAwtBeyEDIAEoAgAgAkEobBDNASIERQ0CIAEgBDYCACABKAIEIAJBA3QQzQEiAkUNAiABIAA2AhAgASACNgIEIAEoAgwhAAsgASAAQQFqNgIMIAEgASgCACAAQRRsaiIANgIIQQAhAyAAQQA2AhAgAEIANwIIIABCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQcwANgIAIAEoAgggBzYCBCABKAIIQQA2AggMAQsgACgCICIDBEAgAyABIAkgAkEAEF0iA0EASA0BAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiB0EATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIgZFDQIgASAGNgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBzYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHJADYCACABKAIIQQAgCSgCAGs2AgQgACgCICABIAIQQiIDDQELIAIgAigCjAEiB0EBajYCjAECQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIGQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiBUUNASABIAU2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAGNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc4ANgIAIAEoAghBAjYCBCABKAIIIAc2AggCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIGQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiBUUNASABIAU2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAGNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc8ANgIAIAEoAghBBDYCBCACIAIoAowBIgZBAWo2AowBAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHNADYCACABKAIIIAY2AgQgASgCCEEANgIIAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akE7NgIAIAEoAghBAjYCBAJAIAEoAgwiAyABKAIQIgRJDQAgBEUNACAEQQF0IgVBAEwEQEF1IQMMAgtBeyEDIAEoAgAgBEEobBDNASIIRQ0BIAEgCDYCACABKAIEIARBA3QQzQEiBEUNASABIAU2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBOjYCACABKAIIQQM2AgQCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIFQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiCEUNASABIAg2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAFNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc8ANgIAIAEoAghBAjYCBCABKAIIIAc2AgggASgCCEEANgIMAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akE5NgIAIAFBygAQUSIDDQAgACgCGCEDIAEoAgggACgCFCIENgIEIAEoAghBfyADIARrIANBf0YbNgIIIAEoAghBAjYCDCABQcsAEFEiAw0AIAAoAgwgASACEEIiAw0AIAFBKBBRIgMNACABKAIIQQE2AgQgAUHMABBRIgMNACABKAIIIAY2AgQgASgCCEEANgIIIAFBzwAQUSIDDQAgASgCCEECNgIEIAEoAgggBzYCCCABKAIIQQE2AgxBACEDCyAJQRBqJAAgAw8LIwBBEGsiCiQAIAAoAgwgARBPIQggACgCGCEGIAAoAhQhBSACIAIoAowBIgdBAWo2AowBIAEoAhAhBCABKAIMIQMCQCAFIAZGBEACQCADIARJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAwtBeyEDIAEoAgAgBEEobBDNASIFRQ0CIAEgBTYCACABKAIEIARBA3QQzQEiBEUNAiABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBzQA2AgAgASgCCCAHNgIEIAEoAghBADYCCAJAIAEoAgwiAyABKAIQIgRJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAwtBeyEDIAEoAgAgBEEobBDNASIFRQ0CIAEgBTYCACABKAIEIARBA3QQzQEiBEUNAiABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBOzYCACABKAIIIAhBBGo2AgQCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIGQQBMBEBBdSEDDAMLQXshAyABKAIAIARBKGwQzQEiBUUNAiABIAU2AgAgASgCBCAEQQN0EM0BIgRFDQIgASAGNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQcoANgIAIAEoAgggACgCFDYCBCABKAIIQQA2AgggASgCCEEBNgIMIAAoAgwgASACEEIiAw0BAkAgASgCDCIAIAEoAhAiAkkNACACRQ0AIAJBAXQiAEEATARAQXUhAwwDC0F7IQMgASgCACACQShsEM0BIgRFDQIgASAENgIAIAEoAgQgAkEDdBDNASICRQ0CIAEgADYCECABIAI2AgQgASgCDCEACyABIABBAWo2AgwgASABKAIAIABBFGxqIgA2AgggAEEANgIQIABCADcCCCAAQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akE+NgIAIAEoAgggBzYCBAJAIAEoAgwiACABKAIQIgJJDQAgAkUNACACQQF0IgBBAEwEQEF1IQMMAwtBeyEDIAEoAgAgAkEobBDNASIERQ0CIAEgBDYCACABKAIEIAJBA3QQzQEiAkUNAiABIAA2AhAgASACNgIEIAEoAgwhAAsgASAAQQFqNgIMIAEgASgCACAAQRRsaiIANgIIIABBADYCECAAQgA3AgggAEIANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBOTYCAAJAIAEoAgwiACABKAIQIgJJDQAgAkUNACACQQF0IgBBAEwEQEF1IQMMAwtBeyEDIAEoAgAgAkEobBDNASIERQ0CIAEgBDYCACABKAIEIAJBA3QQzQEiAkUNAiABIAA2AhAgASACNgIEIAEoAgwhAAsgASAAQQFqNgIMIAEgASgCACAAQRRsaiIANgIIQQAhAyAAQQA2AhAgAEIANwIIIABCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQT02AgAMAQsCQCADIARJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAgtBeyEDIAEoAgAgBEEobBDNASIFRQ0BIAEgBTYCACABKAIEIARBA3QQzQEiBEUNASABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBzgA2AgAgASgCCEECNgIEIAEoAgggBzYCCAJAIAEoAgwiAyABKAIQIgRJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAgtBeyEDIAEoAgAgBEEobBDNASIFRQ0BIAEgBTYCACABKAIEIARBA3QQzQEiBEUNASABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBzwA2AgAgASgCCEEENgIEIAIgAigCjAEiBkEBajYCjAECQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIFQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiCUUNASABIAk2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAFNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc0ANgIAIAEoAgggBjYCBCABKAIIQQA2AggCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIFQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiCUUNASABIAk2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAFNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQTs2AgAgASgCCCAIQQhqNgIEIAAoAiAiAwRAIAMgARBPIQMgASgCCCIEIAMgBCgCBGpBAWo2AgQgACgCICABIAogAkEAEF0iA0EASA0BAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIghFDQIgASAINgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHJADYCACABKAIIQQAgCigCAGs2AgQgACgCICABIAIQQiIDDQELAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHKADYCACAAKAIYIQMgASgCCCAA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AgANACAAKAIwDQAgACgCDCECIAAgAEEYaiIENgIMIAAgBCAAKAIQIAJrajYCEAsgBSgCAA0BIAUoAjANASAFKAIMIQAgBSAFQRhqIgI2AgwgBSACIAUoAhAgAGtqNgIQIAMQEAwGCyAGQcACaiIFIABBMGoiAikCADcDACAGQbgCaiIEIABBKGoiASkCADcDACAGQbACaiIJIABBIGoiCykCADcDACAGQagCaiIHIABBGGoiCikCADcDACAGQaACaiIOIABBEGoiDSkCADcDACAGQZgCaiIQIABBCGoiDCkCADcDACAGIAApAgA3A5ACIAIgA0EwaiIVKQIANwIAIAEgA0EoaiICKQIANwIAIAsgA0EgaiIBKQIANwIAIAogA0EYaiILKQIANwIAIA0gA0EQaiIKKQIANwIAIAwgA0EIaiINKQIANwIAIAAgAykCADcCACAVIAUpAwA3AgAgAiAEKQMANwIAIAEgCSkDADcCACALIAcpAwA3AgAgCiAOKQMANwIAIA0gECkDADcCACADIAYpA5ACNwIAAkAgACgCAA0AIAAoAjANACAAKAIMIQUgACAAQRhqIgI2AgwgACACIAAoAhAgBWtqNgIQCyADKAIADQAgAygCMA0AIAMoAgwhBSADIANBGGoiADYCDCADIAAgAygCECAFa2o2AhALIAMQEAwECyAGQcACaiIFIABBMGoiAikCADcDACAGQbgCaiIEIABBKGoiAykCADcDACAGQbACaiIBIABBIGoiCSkCADcDACAGQagCaiILIABBGGoiBykCADcDACAGQaACaiIKIABBEGoiDikCADcDACAGQZgCaiINIABBCGoiECkCADcDACAGIAApAgA3A5ACIAIgCEEwaiIMKQIANwIAIAMgCEEoaiICKQIANwIAIAkgCEEgaiIDKQIANwIAIAcgCEEYaiIJKQIANwIAIA4gCEEQaiIHKQIANwIAIBAgCEEIaiIOKQIANwIAIAAgCCkCADcCACAMIAUpAwA3AgAgAiAEKQMANwIAIAMgASkDADcCACAJIAspAwA3AgAgByAKKQMANwIAIA4gDSkDADcCACAIIAYpA5ACNwIAAkAgACgCAA0AIAAoAjANACAAKAIMIQUgACAAQRhqIgI2AgwgACACIAAoAhAgBWtqNgIQCwJAIAgoAgANACAIKAIwDQAgCCgC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QQFrQQZ0aiIBKAIAIAUoAhhHBEAgAUIANwIAIAFCADcCOCABQgA3AjAgAUIANwIoIAFCADcCICABQgA3AhggAUIANwIQIAFCADcCCCABIAUoAhg2AgALIAEoAghBACABKAIEGyECCyAAKAIIIgFBAEwNACAAKAIoKAIoIgUoAhwiBiABQQFrIghBBnRqIgEoAgAgBSgCGEcEQCABQgA3AgAgAUIANwI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAEgBSgCGDYCAAsCQCABKAIERQRAIAAoAgwgACgCCBAOIgFFDQIgASgCBEEBRw0CIAEoAkQiAyABKAJIIgUgBygCRCgCFBEAACEIQQAhBiAFIAMgBygCRCgCABEBACADaiIBSwRAIAEgBSAHKAJEKAIUEQAAIQZBmH4hAyABIAcoAkQoAgARAQAgAWogBUcNAwtBmH4hAwJ/AkACQAJAAkAgCEEhaw4eAQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHAgADBwtBACAGQT1GDQMaDAYLQQEgBkE9Rg0CGgwFC0EEIAZBPUYNARogBg0EQQIMAQtBBSAGQT1GDQAaIAYNA0EDCyEBQWIhAyAAKAIIIgdBAEwNAiAAKAIoKAIoIgMoAhwgB0EGdGpBQGoiAEEBNgIEIAAgBTYCDCAAIAE2AgggACADKAIYNgIADAELIAYgCEEGdGooAgghAQtBACEAAkACQAJAAkACQAJAAkAgAQ4GAAECAwQFBgsgAiAERiEADAULIAIgBEchAAwECyACIARKIQAMAwsgAiAESCEADAILIAIgBE4hAAwBCyACIARMIQALIABBAXMhAwsgAws/AQF/AkAgACgCDCIAIAIgAWsiA2oQywEiAkUNACACIAEgAxCmASEBIABBAEwNACABIANqQQAgABCoARoLIAILJgAgAiABIAIgACgCOBEAACIBSwR/IAEgACgCABEBACABagUgAQsLHgEBfyABIAJJBH8gASACQQFrIAAoAjgRAAAFIAMLCzsAAkAgAkUNAANAIANBAEwEQCACDwsgASACTw0BIANBAWshAyABIAJBAWsgACgCOBEAACICDQALC0EAC2gBBH8gASECA0ACQCACLQAADQAgACgCDCIDQQFHBEAgAiEEIANBAkgNAQNAIAQtAAENAiAEQQFqIQQgA0ECSiEFIANBAWshAyAFDQALCyACIAFrDwsgAiAAKAIAEQEAIAJqIQIMAAsAC3UBBH8jAEEQayIAJAACQANAIAAgBEEDdEHQJWoiAygCBCIFNgIMIAMoAgAiBiAAQQxqQQEgAiABEQMAIgMNASAAIAY2AgwgBSAAQQxqQQEgAiABEQMAIgMNASAEQQFqIgRBGkcNAAtBACEDCyAAQRBqJAAgAwtOAEEgIQACfyABLQAAIgJBwQBrQf8BcUEaTwRAQWAhAEEAIAJB4QBrQf8BcUEZSw0BGgsgA0KBgICAEDcCACADIAAgAS0AAGo2AghBAQsLBABBfgscAAJ/IAAgAUkEQEEBIAAtAABBCkYNARoLQQALCyUAIAMgASgCAC0AAEHQH2otAAA6AAAgASABKAIAQQFqNgIAQQELBABBAQsHACAALQAACw4AQQFB8HwgAEGAAkkbCwsAIAEgADoAAEEBCwQAIAELzgEBBn8gASACSQRAIAEhAwNAIAVBAWohBSADIAAoAgARAQAgA2oiAyACSQ0ACwtBAEHAmhFqIQMgBEHHCWohBANAAkAgBSADIgYuAQgiB0cNACAFIQggASEDAkAgB0EATA0AA0AgAiADSwRAIAMgAiAAKAIUEQAAIAQtAABHDQMgBEEBaiEEIAMgACgCABEBACADaiEDIAhBAUshByAIQQFrIQggBw0BDAILCyAELQAADQELIAYoAgQPCyAGQQxqIQMgBigCDCIEDQALQaF+C2gBAX8CQCAEQQBKBEADQCABIAJPBEAgAy0AAA8LIAEgAiAAKAIUEQAAIQUgAy0AACAFayIFDQIgA0EBaiEDIAEgACgCABEBACABaiEBIARBAUshBSAEQQFrIQQgBQ0ACwtBACEFCyAFCy4BAX8gASACIAAoAhQRAAAiAEH/AE0EfyAAQQF0QdAhai8BAEEMdkEBcQUgAwsLPgEDfwJAIAJBAEwNAANAIAAgA0ECdCIFaigCACABIAVqKAIARgRAIAIgA0EBaiIDRw0BDAILC0F/IQQLIAQLJwEBfyAAIAFBA20iAkECdGooAgBBECABIAJBA2xrQQN0a3ZB/wFxC7YIAQF/Qc0JIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9ANqDvQDTU5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTkxOTktKMzZOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTklIR0ZFRENCQUA/Pj08Ozo5ODc1NE4yMTAvLi0sKyopKE5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk4nJiUkIyIhIB8eHRwbGhkYThcWFRQTEhFOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk4QTk5OTk5ODw4NTgcGBQQDDAsKCU5OTk4IAk4BAE9OC0GzDA8LQbMNDwtBjQ4PC0GEDw8LQfAPDwtByRAPC0G+EQ8LQf8RDwtBwBIPC0HnEg8LQZYTDwtBuhMPC0HkEw8LQf4TDwtBvBQPC0GEFQ8LQZcVDwtBrhUPC0HNFQ8LQewVDwtBnhYPC0HyFg8LQYoXDwtBoBcPC0G5Fw8LQdUXDwtB9BcPC0GYGA8LQbsYDwtB7BgPC0GgJw8LQcUnDwtB3CcPC0H4Jw8LQZ8oDwtBtCgPC0HLKA8LQeAoDwtB+ygPC0GaKQ8LQb0pDwtBzCkPC0HsKQ8LQZgqDwtBsioPC0HlKg8LQZIrDwtBsisPC0HJKw8LQeUrDwtBliwPC0GoLA8LQcAsDwtB2SwPC0HsLA8LQYUtDwtBmS0P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AUYNAQsLIAILoQEBBH9BASEEAkAgACABTw0AA0BBACEEIAAtAAAiAkHAAXFBgAFGDQEgAEEBaiEDAkAgAkHAAWtBNEsEQCADIQAMAQsgAEECIAJBAnRBkIoRaigCACICIAJBAkwbIgVqIQBBASECA0AgASADRg0DIAMtAABBwAFxQYABRw0DIANBAWohAyACQQFqIgIgBUcNAAsLIAAgAUkNAAtBASEECyAEC4AEAQN/IAJBgARPBEAgACABIAIQACAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvoAgECfwJAIAAgAUYNACABIAAgAmoiA2tBACACQQF0a00EQCAAIAEgAhCmARoPCyAAIAFzQQNxIQQCQAJAIAAgAUkEQCAEBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgBA0AIANBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsi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AmogASACQf////8Hc0obIQELIAAgA0EBajYCACABIQIgAywAARCvAQ0ACyABC7YEAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgABAgUDBAYHCAkKCwwNDg8QERILIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAiADEQcACwuDAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBaciAgRAA0AgAUEBayIBIAIgAkEKbiIDQQpsa0EwcjoAACACQQlLIQQgAyECIAQNAAsLIAELcgEBfyMAQYACayIFJAACQCACIANMDQAgBEGAwARxDQAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiAhsQqAEaIAJFBEADQCAAIAVBgAIQtQEgA0GAAmsiA0H/AUsNAAsLIAAgBSADELUBCyAFQYACaiQAC8kYAxJ/AXwCfiMAQbAEayIKJAAgCkEANgIsAkAgAb0iGUIAUwRAQQEhEUH6DSETIAGaIgG9IRkMAQsgBEGAEHEEQEEBIRFB/Q0hEwwBC0GADkH7DSAEQQFxIhEbIRMgEUUhFwsCQCAZQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEUEDaiIGIARB//97cRC5ASAAIBMgERC1ASAAQeMQQeMRIAVBIHEiBxtBoQ9BohAgBxsgASABYhtBAxC1ASAAQSAgAiAGIARBgMAAcxC5ASAGIAIgAiAGSBshCQwBCyAKQRBqIRICQAJ/AkAgASAKQSxqELEBIgEgAaAiAUQAAAAAAAAAAGIEQCAKIAooAiwiBkEBazYCLCAFQSByIhVB4QBHDQEMAwsgBUEgciIVQeEARg0CIAooAiwhFEEGIAMgA0EASBsMAQsgCiAGQR1rIhQ2AiwgAUQAAAAAAACwQaIhAUEGIAMgA0EASBsLIQwgCkEwakGgAkEAIBRBAE4baiIPIQcDQCAHAn8gAUQAAAAAAADwQWMgAUQAAAAAAAAAAGZxBEAgAasMAQtBAAsiBjYCACAHQQRqIQcgASAGuKFEAAAAAGXNzUGiIgFEAAAAAAAAAABiDQALAkAgFEEATARAIBQhAyAHIQYgDyEIDAELIA8hCCAUIQMDQEEdIAMgA0EdThshAwJAIAdBBGsiBiAISQ0AIAOtIRpCACEZA0AgBiAZQv////8PgyAGNQIAIBqGfCIZIBlCgJTr3AOAIhlCgJTr3AN+fT4CACAGQQRrIgYgCE8NAAsgGaciBkUNACAIQQRrIgggBjYCAAsDQCAIIAciBkkEQCAGQQRrIgcoAgBFDQELCyAKIAooAiwgA2siAzYCLCAGIQcgA0EASg0ACwsgA0EASARAIAxBGWpBCW5BAWohECAVQeYARiEWA0BBCUEAIANrIgcgB0EJThshCwJAIAYgCE0EQCAIKAIAIQcMAQtBgJTr3AMgC3YhDUF/IAt0QX9zIQ5BACEDIAghBwNAIAcgBygCACIJIAt2IANqNgIAIAkgDnEgDWwhAyAHQQRqIgcgBkkNAAsgCCgCACEHIANFDQAgBiADNgIAIAZBBGohBgsgCiAKKAIsIAtqIgM2AiwgDyAIIAdFQQJ0aiIIIBYbIgcgEEECdGogBiAGIAdrQQJ1IBBKGyEGIANBAEgNAAsLQQAhAwJAIAYgCE0NACAPIAhrQQJ1QQlsIQNBCiEHIAgoAgAiCUEKSQ0AA0AgA0EBaiEDIAkgB0EKbCIHTw0ACwsgDCADQQAgFUHmAEcbayAVQecARiAMQQBHcWsiByAGIA9rQQJ1QQlsQQlrSARAQQRBpAIgFEEASBsgCmogB0GAyABqIglBCW0iDUECdGpB0B9rIQtBCiEHIAkgDUEJbGsiCUEHTARAA0AgB0EKbCEHIAlBAWoiCUEIRw0ACwsCQCALKAIAIgkgCSAHbiIQIAdsayINRSALQQRqIg4gBkZxDQACQCAQQQFxRQRARAAAAAAAAEBDIQEgB0GAlOvcA0cNASAIIAtPDQEgC0EEay0AAEEBcUUNAQtEAQAAAAAAQEMhAQtEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gBiAORhtEAAAAAAAA+D8gDSAHQQF2Ig5GGyANIA5JGyEYAkAgFw0AIBMtAABBLUcNACAYmiEYIAGaIQELIAsgCSANayIJNgIAIAEgGKAgAWENACALIAcgCWoiBzYCACAHQYCU69wDTwRAA0AgC0EANgIAIAggC0EEayILSwRAIAhBBGsiCEEANgIACyALIAsoAgBBAWoiBzYCACAHQf+T69wDSw0ACwsgDyAIa0ECdUEJbCEDQQohByAIKAIAIglBCkkNAANAIANBAWohAyAJIAdBCmwiB08NAAsLIAtBBGoiByAGIAYgB0sbIQYLA0AgBiIHIAhNIglFBEAgB0EEayIGKAIARQ0BCwsCQCAVQecARwRAIARBCHEhCwwBCyADQX9zQX8gDEEBIAwbIgYgA0ogA0F7SnEiCxsgBmohDEF/QX4gCxsgBWohBSAEQQhxIgsNAEF3IQYCQCAJDQAgB0EEaygCACILRQ0AQQohCUEAIQYgC0EKcA0AA0AgBiINQQFqIQYgCyAJQQpsIglwRQ0ACyANQX9zIQYLIAcgD2tBAnVBCWwhCSAFQV9xQcYARgRAQQAhCyAMIAYgCWpBCWsiBkEAIAZBAEobIgYgBiAMShshDAwBC0EAIQsgDCADIAlqIAZqQQlrIgZBACAGQQBKGyIGIAYgDEobIQwLQX8hCSAMQf3///8HQf7///8HIAsgDHIiDRtKDQEgDCANQQBHakEBaiEOAkAgBUFfcSIWQcYARgRAIAMgDkH/////B3NKDQMgA0EAIANBAEobIQYMAQsgEiADIANBH3UiBnMgBmutIBIQuAEiBmtBAUwEQANAIAZBAWsiBkEwOgAAIBIgBmtBAkgNAAsLIAZBAmsiECAFOgAAIAZBAWtBLUErIANBAEgbOgAAIBIgEGsiBiAOQf////8Hc0oNAgsgBiAOaiIGIBFB/////wdzSg0BIABBICACIAYgEWoiDiAEELkBIAAgEyARELUBIABBMCACIA4gBEGAgARzELkBAkACQAJAIBZBxgBGBEAgCkEQakEIciELIApBEGpBCXIhAyAPIAggCCAPSxsiCSEIA0AgCDUCACADELgBIQYCQCAIIAlHBEAgBiAKQRBqTQ0BA0AgBkEBayIGQTA6AAAgBiAKQRBqSw0ACwwBCyADIAZHDQAgCkEwOgAYIAshBgsgACAGIAMgBmsQtQEgCEEEaiIIIA9NDQALIA0EQCAAQawSQQEQtQELIAcgCE0NASAMQQBMDQEDQCAINQIAIAMQuAEiBiAKQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAKQRBqSw0ACwsgACAGQQkgDCAMQQlOGxC1ASAMQQlrIQYgCEEEaiIIIAdPDQMgDEEJSiEJIAYhDCAJDQALDAILAkAgDEEASA0AIAcgCEEEaiAHIAhLGyENIApBEGpBCHIhDyAKQRBqQQlyIQMgCCEHA0AgAyAHNQIAIAMQuAEiBkYEQCAKQTA6ABggDyEGCwJAIAcgCEcEQCAGIApBEGpNDQEDQCAGQQFrIgZBMDoAACAGIApBEGpLDQALDAELIAAgBkEBELUBIAZBAWohBiALIAxyRQ0AIABBrBJBARC1AQsgACAGIAwgAyAGayIJIAkgDEobELUBIAwgCWshDCAHQQRqIgcgDU8NASAMQQBODQALCyAAQTAgDEESakESQQAQuQEgACAQIBIgEGsQtQEMAgsgDCEGCyAAQTAgBkEJakEJQQAQuQELIABBICACIA4gBEGAwABzELkBIA4gAiACIA5IGyEJDAELIBMgBUEadEEfdUEJcWohDgJAIANBC0sNAEEMIANrIQZEAAAAAAAAMEAhGANAIBhEAAAAAAAAMECiIRggBkEBayIGDQALIA4tAABBLUYEQCAYIAGaIBihoJohAQwBCyABIBigIBihIQELIBIgCigCLCIGIAZBH3UiBnMgBmutIBIQuAEiBkYEQCAKQTA6AA8gCkEPaiEGCyARQQJyIQsgBUEgcSEIIAooAiwhByAGQQJrIg0gBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQkgCkEQaiEHA0AgByIGAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdB4JURai0AACAIcjoAACABIAe3oUQAAAAAAAAwQKIhAQJAIAZBAWoiByAKQRBqa0EBRw0AAkAgCQ0AIANBAEoNACABRAAAAAAAAAAAYQ0BCyAGQS46AAEgBkECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQlB/f///wcgCyASIA1rIhBqIgZrIANIDQAgAEEgIAICfwJAIANFDQAgByAKQRBqayIIQQJrIANODQAgA0ECagwBCyAHIApBEGprIggLIgcgBmoiBiAEELkBIAAgDiALELUBIABBMCACIAYgBEGAgARzELkBIAAgCkEQaiAIELUBIABBMCAHIAhrQQBBABC5ASAAIA0gEBC1ASAAQSAgAiAGIARBgMAAcxC5ASAGIAIgAiAGSBshCQsgCkGwBGokACAJC40FAgZ+An8gASABKAIAQQdqQXhxIgFBEGo2AgAgACABKQMAIQQgASkDCCEFIwBBIGsiACQAAkAgBUL///////////8AgyIDQoCAgICAgMCAPH0gA0KAgICAgIDA/8MAfVQEQCAFQgSGIARCPIiEIQMgBEL//////////w+DIgRCgYCAgICAgIAIWgRAIANCgYCAgICAgIDAAHwhAgwCCyADQoCAgICAgICAQH0hAiAEQoCAgICAgICACFINASACIANCAYN8IQIMAQsgBFAgA0KAgICAgIDA//8AVCADQoCAgICAgMD//wBRG0UEQCAFQgSGIARCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiADQv///////7//wwBWDQBCACECIANCMIinIgFBkfcASQ0AIABBEGohCSAEIQIgBUL///////8/g0KAgICAgIDAAIQiAyEGAkAgAUGB9wBrIghBwABxBEAgAiAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgeGIAJBwAAgCGutiIQhBiACIAeGIQILIAkgAjcDACAJIAY3AwgCQEGB+AAgAWsiAUHAAHEEQCADIAFBQGqtiCEEQgAhAwwBCyABRQ0AIANBwAAgAWuthiAEIAGtIgKIhCEEIAMgAoghAwsgACAENwMAIAAgAzcDCCAAKQMIQgSGIAApAwAiA0I8iIQhAiAAKQMQIAApAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIABBIGokACACIAVCgICAgICAgICAf4OEvzkDAAugAQECfyMAQaABayIEJABBfyEFIAQgAUEBa0EAIAEbNgKUASAEIAAgBEGeAWogARsiADYCkAEgBEEAQZABEKgBIgRBfzYCTCAEQRA2AiQgBEF/NgJQIAQgBEGfAWo2AiwgBCAEQZABajYCVAJAIAFBAEgEQEHoyhJBPTYCAAwBCyAAQQA6AAAgBCACIANBDkEPELMBIQULIARBoAFqJAAgBQurAQEEfyAAKAJUIgMoAgQiBSAAKAIUIAAoAhwiBmsiBCAEIAVLGyIEBEAgAygCACAGIAQQpgEaIAMgAygCACAEajYCACADIAMoAgQgBGsiBTYCBAsgAygCACEEIAUgAiACIAVLGyIFBEAgBCABIAUQpgEaIAMgAygCACAFaiIENgIAIAMgAygCBCAFazYCBAsgBEEAOgAAIAAgACgCLCIDNgIcIAAgAzYCFCACCxYAIABFBEBBAA8LQejKEiAANgIAQX8LogIAIABFBEBBAA8LAn8CQCAABH8gAUH/AE0NAQJAQfzLEigCACgCAEUEQCABQYB/cUGAvwNGDQNB6MoSQRk2AgAMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAgwECyABQYBAcUGAwANHIAFBgLADT3FFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwEC0HoyhJBGTYCAAtBfwVBAQsMAQsgACABOgAAQQELCwcAIAAQywELBwAgABDMAQu9BQEJfyMAQRBrIggkACAIQZjMEjYCAEGUzBIoAgAhByMAQYABayIBJAAgASAINgJcAkAgB0GhfkcgB0HcAWpBBk9xRQRAIAEgASgCXCICQQRqNgJcAn9BACACKAIAIgAoAgQiAkUNABogACgCCCEEIAAoAgAiBigCDEECTgRAA0ACQCACIARPDQACfyACIAQgBigCFBEAACIAQYABTwRAAkAgAEGAgARJDQAgA0ERSg0AIAEgAEEYdjYCMCABQeAAaiADaiIFQQVBqzIgAUEwahCpASABIABBEHZB/wFxNgIgIAVBBGpBA0GmMiABQSBqEKkBIAEgAEEIdkH/AXE2AhAgBUEGakEDQaYyIAFBEGoQqQEgASAAQf8BcTYCACAFQQhqQQNBpjIgARCpASADQQpqDAILIANBFUoNAiABIABBCHZB/wFxNgJQIAFB4ABqIANqIgVBBUGrMiABQdAAahCpASABIABB/wFxNgJAIAVBBGpBA0GmMiABQUBrEKkBIANBBmoMAQsgAUHgAGogA2ogADoAACADQQFqCyEDIAIgBigCABEBACACaiECIANBG0gNAQsLIAIgBEkMAQsgAUHgAGogAkEbIAQgAmsiACAAQRtOGyIDEKYBGiAAQRtKCyEFIAcQigEhAkGwzBIhAANAAkACQCACLQAAIgRBJUcEQCAERQ0BDAILIAJBAWohBiACLQABIgRB7gBHBEAgBiECDAILIAAgAUHgAGogAxCmASADaiEAIAUEQCAAQaIyLwAAOwAAIABBpDItAAA6AAIgAEEDaiEACyAGQQFqIQIMAgsgAEEAOgAADAMLIAAgBDoAACAAQQFqIQAgAkEBaiECDAALAAtBlL0SIAcQigEiABB6IQJBsMwSIAAgAhCmASACakEAOgAACyABQYABaiQAIAhBEGokAEGwzBIL4wEBAX8CQAJAAkACfyAALQAQBEBBACEBIABBDGogACgCCCACIAIgA2oiBiACIARqIAYgACgCDCAFEG1BAE4NARpBACEGDAMLAkAgACgCFCABRw0AIAAoAhwgBUcNACAAKAIYIARKDQAgAC0AIEUEQEEADwsgACgCDCIGKAIIKAIAIARODQQLIAAgBTYCHCAAIAQ2AhggACABNgIUQQAhASAAKAIIIAIgAiADaiIGIAIgBGogBiAAKAIMIAUQbUEASA0BIABBDGoLKAIAIQZBASEBDAELQQAhBgsgACABOgAgCyAGC7gzARp/IwBBEGsiGCQAIAJBAnQiChDLASEbIAoQywEhGSACQQBKBEADQCAbIA1BAnQiCmogACAKaigCACEVIAEgCmooAgAhE0EAIQVBACEWQQAhFCMAQRBrIhokAEGUzBICf0HolxEoAgAhCCAaQQxqIhdBAUGIAxDPASIDNgIAQXsgA0UNABogEyAVaiEGQYyaESgCACEJAkACQAJAAkBB7L8SLQAARQRAQYjAEi0AAEUEQEGIwBJBAToAAAtB7L8SQQE6AABBaSEQAkACQEG4vhItAABBAXFFDQBB1L0SKAIAIgdFDQACQEGMwBIoAgAiBEEATA0AA0AgBUEDdEGQwBJqKAIAQZS9EkcEQCAFQQFqIgUgBEcNAQwCCwsgBUEDdEGQwBJqKAIEDQELIAcRCgAiBA0BQYzAEigCACIEQQBKBEBBACEFA0AgBUEDdEGQwBJqKAIAQZS9EkYEQCAFQQN0QZDAEmpBATYCBAwDCyAFQQFqIgUgBEcNAAsgBEESSg0BC0GMwBIgBEEBajYCACAEQQN0QZDAEmoiBUEBNgIEIAVBlL0SNgIACwJAQay+EigCACIHRQ0AAkBBjMASKAIAIgRBAEwNAEEAIQUDQCAFQQN0QZDAEmooAgBB7L0SRwRAIAVBAWoiBSAERw0BDAILC0EAIQQgBUEDdEGQwBJqKAIEDQILIAcRCgAiBA0BQYzAEigCACIHQQBKBEBBACEFA0AgBUEDdEGQwBJqKAIAQey9EkYEQCAFQQN0QZDAEmpBATYCBAwDCyAFQQFqIgUgB0cNAAtBACEEIAdBEkoNAgtBjMASIAdBAWo2AgAgB0EDdEGQwBJqIgVBATYCBCAFQey9EjYCAAtBACEECyAEDQFB7JcRKAIAIhBBAUcEQEGQCSAQEQQACwsMAQsgFygCABDMAQwBCyAIKAIMIQVBACEQIANBADYChAMgA0EANgJwIAMgCDYCTCADQey9EjYCRCADQgA3AlQgA0EANgIQIANCADcCCCADQQA2AgAgAyAFQYACciIINgJIIAMgCUH+/7//e3FBAXIgCSAIQYCAAnEbNgJQIBcoAgAhBCAVIQUgBiEDIwBBkAVrIggkACAIQQA2AhAgCEIANwMIAkACQAJAAkAgBCgCEEUEQCAEKAIAQaABEM0BIglFDQEgBCAJNgIAIAQoAgRBIBDNASIJRQ0BIARBCDYCECAEQQA2AgggBCAJNgIECyAEQQA2AgwgCEG8AWohEiAIQQhqIQwjAEEQayIJJAAgCUEANgIMIAQoAkQhC0GczBJBADYCAEGYzBIgCzYCACAJQQxqIREgCEEYaiIHIQYjAEFAaiILJAAgBEIANwIUIARCADcCPCAEQgA3AhwgBEEANgIkIAQoAlQiDwRAIA9BAkEAEJEBCyAGQgA3AiQgBkEANgIYIAZCADcCECAGQTBqQQBB9AAQqAEaIAYgBCgCSDYCACAGIAQoAlA2AgQgBiAEKAJENgIIIAQoAkwhDyAGIAQ2AiwgBiADNgIgIAYgBTYCHCAGIA82AgwgEUEANgIAAkAgBSADIAYoAggoAkgRAABFBEBB8HwhBQwBCyALIAU2AgwgC0EANgIUIAtBEGogC0EMaiADIAYQGiIFQQBIDQAgESALQRBqQQAgC0EMaiADIAZBABAbIgNBAEgEQCADQR91IANxIQUMAQsCQCAGLQCgAUEBcUUEQCAGKAI0IQUMAQsgESgCACEFQQFBOBDPASIDRQRAQXshBQwCCyADQQU2AgAgAyAFNgIMIANC/////x83AhggBigCNCIFQQBIBEAgAxARIAMQzAFBdSEFDAILIAYoAoABIg8gBkFAayAPGyADNgIAIBEgAzYCAAsgBCAFNgIcQQAhBSAEKAKEAyIORQ0AIA4oAgwiA0EATA0AIA4oAggiBgRAIAZBBSAOEJEBIA4oAgwiA0EATA0BCwNAAkAgDigCFCAWQdwAbGoiBigCBEEBRw0AIAYoAiQiBUEATA0AIAZBJGohA0EAIQYDQCADIAZBAnRqKAIIQRBGBEACQAJAIAQoAoQDIgVFDQAgBSgCCCIFRQ0AIAMgBkEDdGoiEUEYaiIcKAIAIQ8gCyARKAIcNgIUIAsgDzYCECAFIAtBEGogC0E8ahCPAQ0BC0GZfiEFDAULIAsoAjwiBUEASA0EIBwgBTYCACADKAIAIQULIAZBAWoiBiAFSA0ACyAOKAIMIQMLQQAhBSAWQQFqIhYgA0gNAAsLIAtBQGskAAJAAkAgBSIGDQACQCAHLQCgAUECcUUNAEEAIQUgCUEMaiEDQYh/IQYDQCADKAIAIgMoAgAiC0EHRwRAIAtBBUcNAyADKAIQQQFHDQMgAy0AB0EQcUUNAyAFQQFHDQIgAygCDA0DBUEBIAUgAygCEBshBSADQQxqIQMMAQsLCyAJKAIMIAQoAkQQQyIGDQACQCAHKAI4IgNBAEwNACAHKAIMLQAIQYABcUUNACAELQBJQQFxDQACfyAHKAI0IANHBEAgCUEMaiEGIAQhBSMAQRBrIgMhFiADJAAgAyAHKAI0IgtBAnQiDkETakFwcWsiDyQAIAtBAEoEQCAPQQRqQQAgDhCoARoLIBZBADYCDAJAIAYgDyAWQQxqEFUiA0EASA0AIAYoAgAgDxBWIgMNACAHKAI0Ig5BAEoEQCAHQUBrIRFBASELQQEhAwNAIA8gA0ECdGooAgBBAEoEQCAHKAKAASIGIBEgBhsiBiALQQN0aiAGIANBA3RqKQIANwIAIAcoAjQhDiALQQFqIQsLIAMgDkghBiADQQFqIQMgBg0ACwsgBygCECERQQAhDiAHQQA2AhBBASEDA0ACQCARIAN2IgZBAXFFDQAgDyADQQJ0aigCACILQR9KDQAgByAOQQEgC3RyIg42AhALIANBAWoiC0EgRwRAAkAgBkECcUUNACAPIAtBAnRqKAIAIgZBH0oNACAHIA5BASAGdHIiDjYCEAsgA0ECaiEDDAELCyAHIAcoAjgiAzYCNCAFIAM2AhwgBSgCVCIFBEAgBUEDIA8QkQELQQAhAwsgFkEQaiQAIAMMAQsgCSgCDBBECyIGDQELIAkoAgwgBxBFIgYNAAJAIAQgBygCMCIDQQBKBH8gA0EDdBDLASIFRQRAQXshBgwDCyAMIAU2AgggDCADNgIEIAxBADYCACAHIAw2ApgBIAkoAgwgB0EAEEYiBg0BIAkoAgwQRyAJKAIMIAdBABBIIgZBAEgNASAJKAIMIAcQSSIGDQEgCSgCDEEAEEogBygCMAUgAws2AiggCSgCDCAEQQAgBxBLIgYNACAHKAKEAQRAIAkoAgxBABBMIAkoAgxBACAHEE0gCSgCDCAHEE4LQQAhBiAJKAIMIQMMAgsgBygCMEEATA0AIAwoAggiA0UNACADEMwBCyAHKAIkIgMEQEGczBIgAzYCAEGgzBIgBygCKDYCAAsgCSgCDBAQQQAhAyAHKAKAASIFRQ0AIAUQzAELIBIgAzYCACAJQRBqJAAgBiIDDQMgBCAIKAIoIgU2AiwgBCAFIAgoAiwiB3IiAzYCMCAEKAKEAyIJBEAgCSgCDA0DCyAIKAIwIQkgA0EBcUUNASAFIAlyIQMMAgtBeyEDIAQoAkQhBEGczBJBADYCAEGYzBIgBDYCAAwCCyAHIAlxIAVyIQMLIARBADYC+AIgBEEANgJ0IAQgAzYCNCAEQgA3AlggBEIANwJgIARCADcCaCAEKAJwIgMEQCADEMwBIARBADYCcAsgCCgCvAEhDiAIIAQoAkQ2AsgBIAggBCgCUDYCzAEgCEIANwPAASAIIAhBGGo2AtABAkACQAJ/AkACQAJAIA4gCEHYAWogCEHAAWoQQCIDRQRAIARB1IABQdSAAyAIKALgASIFQQZxGyAFcSAIKALkASIDQYIDcXI2AmAgA0GAA3EEQCAEIAgoAtgBNgJkIAQgCCgC3AE2AmgLIAgoAvwBQQBMBEAgCCgCrAJBAEwNAgsgBCgCRCIHIAhB6AFqIAhBmAJqEEECQCAIKAKIAyIFQQBMBEAgCCgC/AEhAwwBC0HIASAFbiEJIAgoAvwBIQMgBUHIAUsNACADQTxsIgxBAEwNA0EAIQUCf0EAIAgoAuwBIhJBf0YNABpBASASIAgoAugBayISQeMASw0AGiASQQF0QbAZai4BAAsgDGwhBgJAIAgoAvwCIgxBf0YNAEEBIQUgDCAIKAL4AmsiDEHjAEsNACAMQQF0QbAZai4BACEFCyAFIAlsIgUgBkoNAyAFIAZIDQAgCCgC+AIgCCgC6AFJDQMLAkAgA0UEQEEAIQNBASEJDAELIAQgAxDLASIFNgJwQQAhCSAFRQRAQXshAwwBCyAEIAUgCEGAAmogAxCmASIFIANqIgM2AnRBASEGIAUgAyAHKAI8EQAAIQ8CQCAIKAL8ASIDQQFMBEAgA0EBRw0BIA9FDQELIAQoAnQhCyAEKAJwIQcgBCgCRCIRKAJMQQJ2QQdxIgVBB0YEQCAHIQMDQCADIAMgESgCABEBACIFaiIDIAtJDQALIAVBAUYhBQtBdSEDIAUgCyAHa2oiBkH+AUoNASAEIAU2AvgCIARB+ABqIAZBgAIQqAEhEiAHIAtJBEAgBSALakEBayEMA0BBACEDAkAgCyAHayAHIBEoAgARAQAiBSAFIAdqIAtLGyIGQQBMDQADQCAMIAMgB2oiBWsiCUEATA0BIBIgBS0AAGogCToAACADQQFqIgMgBkgNAAsLIAYgB2oiByALSQ0ACwtBAkEDIA8bIQYLIAQgBjYCWCAEIAgoAugBIgU2AvwCIAQgCCgC7AE2AoADQQAhA0EBIQkgBUF/Rg0AIAQgBSAEKAJ0aiAEKAJwazYCXAsgBCAIKAL0AUGABHEgBCgCbCAIKALwAUEgcXJyNgJsIAkNBQsgCCgCSEEATA0FIAgoAhAiBEUNBSAEEMwBDAULIAgoAogDQQBMDQELIARB+ABqIAhBjANqQYACEKYBGiAEQQQ2AlggBCAIKAL4AiIDNgL8AiAEIAgoAvwCNgKAAyADQX9HBEAgBCAEKAJEKAIMIANqNgJcCyAEKAJsIAgoAoADQSBxciEFIAgoAoQDIQMgBEHsAGoMAQsgBCAEKAJsIAVBIHFyIgU2AmwgCCgC3AENASAEQewAagsgBSADQYAEcXI2AgALIAgoApgBIgMEQCADEMwBIAhBADYCmAELAkACQAJAIA4gBCAIQRhqEEIiA0UEQCAIKAKgAUEASgRAAkAgBCgCDCIDIAQoAhAiBUkNACAFRQ0AIAVBAXQiCUEATARAQXUhAwwHC0F7IQMgBCgCACAFQShsEM0BIgdFDQYgBCAHNgIAIAQoAgQgBUEDdBDNASIFRQ0GIAQgCTYCECAEIAU2AgQgBCgCDCEDCyAEIANBAWo2AgwgBCAEKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgBCgCBCAEKAIIIAQoAgBrQRRtQQJ0akHPADYCACAEKAIIQQA2AgQgBCgCCEEANgIIIAQoAghBADYCDAsCQCAEKAIMIgMgBCgCECIFSQ0AIAVFDQAgBUEBdCIJQQBMBEBBdSEDDAYLQXshAyAEKAIAIAVBKGwQzQEiB0UNBSAEIAc2AgAgBCgCBCAFQQN0EM0BIgVFDQUgBCAJNgIQIAQgBTYCBCAEKAIMIQMLIAQgA0EBajYCDCAEIAQoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACAEKAIEIAQoAgggBCgCAGtBFG1BAnRqQQE2AgAgCCgCSEEASgRAAn9BACEFIAhBCGoiDCgCACILQQBKBEAgDCgCCCEDA0ACQCADIAVBA3RqIgcoAgQiCSgCBCIGQYACcUUEQCAGQYABcUUNAUF1DAQLIAQoAgAgBygCAGogCSgCGDYCACAMKAIAIQsLIAVBAWoiBSALSA0ACwtBAAshAyAIKAIQIgUEQCAFEMwBCyADDQULAn9BACEHAkAgBCgCDCIDIAQoAhBGDQBBdSADQQBMDQEaQXshByAEKAIAIANBFGwQzQEiBUUNACAEIAU2AgAgBCgCBCADQQJ0EM0BIgVFDQAgBCADNgIQIAQgBTYCBEEAIQcgBCAEKAIMIgUEfyAEKAIAIAVBFGxqQRRrBUEACzYCCAsgBwsiAw0EIAQoAiBBAEoEQEEAIQMDQCAEKAJAIANBDGxqIgUgBCgCACAFKAIIQRRsajYCCCADQQFqIgMgBCgCIEgNAAsLAkAgBCgCNA0AIAQoAoQDIgMEQCADKAIMDQEgCCgCSEEASg0BDAMLIAgoAkhBAEwNAgsgBEECNgI4DAILIAgoAkhBAEwNAiAIKAIQIgVFDQIgBRDMAQwCCyAEKAIwBEAgBEEBNgI4DAELIARBADYCOAsCf0EAIQdBACEGAkAgBCgCACIMRQ0AIAQoAgwiCUEATA0AIAQoAgQhBQNAAkACQAJAAkAgBSAHQQJ0aigCAEEHaw4HAQMDAwECAAMLIAwgB0EUbGoiAygCCCADKAIMbCAGaiEGDAILIAwgB0EUbGooAghBAXQgBmohBgwBCyAMIAdBFGxqKAIIQQNsIAZqIQYLIAdBAWoiByAJRw0ACyAGQQBKBEBBeyAGEMsBIgNFDQIaQQAhByADIQUDQCAEKAIAIQkCQCAFAn8CQAJAAkACQAJAIAQoAgQgB0ECdGooAgBBB2sOBwAGBgYBAgMGCyAJIAdBFGxqKAIIIQwMAwsgCSAHQRRsaigCCEEBdCEMDAILIAkgB0EUbGooAghBA2whDAwBCyAJIAdBFGxqIgkoAgggCSgCDGwhDCAJQQRqDAELIAkgB0EUbGpBBGoLIgkoAgAgDBCmASEFIAkoAgAQzAEgCSAFNgIAIAUgDGohBQsgB0EBaiIHIAQoAgxIDQALIAQgAzYCFCAEIAMgBmo2AhgLC0EACyIDDQFBACEDCyAOEBBBACELQQAhEgJAIAQoAgwiBUUNACAFQQNxIQYgBCgCBCEHIAQoAgAhBAJAIAVBAWtBA0kEQEEAIQUMAQsgBUF8cSEMQQAhBQNAIAQgByAFQQJ0IglqKAIAQQJ0QYAdaigCADYCACAEIAcgCUEEcmooAgBBAnRBgB1qKAIANgIUIAQgByAJQQhyaigCAEECdEGAHWooAgA2AiggBCAHIAlBDHJqKAIAQQJ0QYAdaigCADYCPCAFQQRqIQUgBEHQAGohBCALQQRqIgsgDEcNAAsLIAZFDQADQCAEIAcgBUECdGooAgBBAnRBgB1qKAIANgIAIAVBAWohBSAEQRRqIQQgEkEBaiISIAZHDQALCwwBCyAIKAI8IgQEQEGczBIgBDYCAEGgzBIgCCgCQDYCAAsgDhAQIAgoApgBIgRFDQAgBBDMAQsgCEGQBWokACADRQ0BIBcoAgAiCARAIAgQPyAIEMwBCyADIRALIBdBADYCAAsgEAsiAzYCACADRQRAQSQQywEiFCATNgIEIBQgExDLASIDNgIAIAMgFSATEKYBGiAUIBooAgw2AghBFBDLASIQBEAgEEIANwIAIBBBADYCECAQQgA3AggLIBQgEDYCDEEBIQVBACEDAkAgE0EATARAQQAhBQwBCwNAIAMiEEEBaiEDAkAgECAVai0AAEHcAEcNACADIBNODQAgAyAVai0AAEHHAEYNAgsgAyATSCEFIAMgE0cNAAsLIBRCADcCFCAUIAU6ABAgFEIANwAZCyAaQRBqJAAgFCIDNgIAIAogGWogAygCCDYCACANQQFqIg0gAkcNAAsLIAIhASAZIQAgGEEMaiIVQQA2AgACQAJAQSQQywEiCgR/QQogASABQQpMGyIFQQN0EMsBIgRFDQEgCiAFNgIIQQAhBSAKQQA2AgQgCiAENgIAIAFBAEoEQANAAn9BYiEDAkAgACAFQQJ0aigCACINLQBIQRBxDQAgCigCBCIGBEAgDSgCRCAKKAIMRw0BCyAKKAIIIgMgBkwEQEF7IAooAgAgA0EEdBDNASIGRQ0CGiAKIAY2AgAgCiADQQF0NgIIC0F7QRQQywEiA0UNARogA0IANwIAIANBADYCECADQgA3AgggCigCACAKKAIEIgZBA3RqIhAgAzYCBCAQIA02AgAgCiAGQQFqNgIEAkAgBkUEQCAKIA0oAkQ2AgwgCiANKAJgIgM2AhAgCiANKAJkNgIUIAogDSgCaDYCGCAKIA0oAlgEfyANKAKAA0F/RwVBAAs2AhwgA0EOdkEBcSENDAELIA0oAmAiBiAKKAIQcSIDBEAgDSgCZCEQIAogCigCGCIHIA0oAmgiBCAEIAdJGzYCGCAKIAooAhQiByAQIAcgEEkbNgIUCyAKIAM2AhACQCANKAJYBEAgDSgCgANBf0cNAQsgCkEANgIcC0EBIQ1BACEDIAZBgIABcUUNAQsgCiANNgIgQQAhAwsgAwsEQCAKKAIEIgBBAEoEQEEAIQEDQCAKKAIAIAFBA3RqKAIEIgUEQCAFKAIAQQBKBEAgBSgCCCIABEAgABDMAQsgBSgCDCIABEAgABDMAQsgBUEANgIACyAFKAIQIgAEQCAAEGYLIAUQzAEgCigCBCEACyABQQFqIgEgAEgNAAsLIAooAgAQzAEMBAsgBUEBaiIFIAFIDQALCyAVIAo2AgBBAAVBewsaDAELIAoQzAELIBkQzAFBDBDLASEKIBgoAgwhDSAKIAI2AgggCiAbNgIEIAogDTYCACAYQRBqJAAgCgu/AgEEfyAAKAIIQQBKBEADQCAAKAIEIANBAnRqKAIAIgQoAgAQzAEgBCgCDCIBBEAgASgCAEEASgRAIAEoAggiAgRAIAIQzAELIAEoAgwiAgRAIAIQzAELIAFBADYCAAsgASgCECICBEAgAhBmIAFBADYCEAsgARDMAQsgBBDMASADQQFqIgMgACgCCEgNAAsLIAAoAgQQzAFBACEEIAAoAgAiAygCBEEASgRAA0AgAygCACAEQQN0aiIBKAIEIQIgASgCACIBBEAgARA/IAEQzAELIAIEQCACKAIAQQBKBEAgAigCCCIBBEAgARDMAQsgAigCDCIBBEAgARDMAQsgAkEANgIACyACKAIQIgEEQCABEGYLIAIQzAELIARBAWoiBCADKAIESA0ACwsgAygCABDMASADEMwBIAAQzAFBAAvKHQETfyMAQRBrIhUkACAVQQA2AgwgBUEWdEGAgIAOcSEQAkACQCADQegHTgRAIAAoAghBAEwNAkEAIQUDQAJAIAAoAgQgBUECdGooAgAgASACIAMgBCAQEMMBIgZFDQAgBigCBEEATA0AIAUgESAMRSAGKAIIKAIAIhQgE0hyIggbIREgBiAMIAgbIQwgBCAURg0DIBQgEyAIGyETCyAFQQFqIgUgACgCCEgNAAsgDA0BQQAhEwwCCwJ/IAIgA2ohBUEAIQNBeyAAKAIAIgsoAgQiAUEobBDLASIRRQ0AGiACIARqIQogFUEMaiEWIBEgAUECdGohFAJAIAFBAEwNACABQQFxIQdBhMASKAIAIQRBgMASKAIAIQZB+L8SKAIAIQxBkJoRKAIAIQhB9L8SKAIAIQkgAUEBRwRAIAFBfnEhDQNAIBQgA0EkbGoiAUEANgIgIAFCADcCGCABIAQ2AhQgASAGNgIQIAFBADYCDCABIAw2AgggASAINgIEIAEgCTYCACARIANBAnRqIAE2AgAgFCADQQFyIg5BJGxqIgFBADYCICABQgA3AhggASAENgIUIAEgBjYCECABQQA2AgwgASAMNgIIIAEgCDYCBCABIAk2AgAgESAOQQJ0aiABNgIAIANBAmohAyAPQQJqIg8gDUcNAAsLIAdFDQAgFCADQSRsaiIBQQA2AiAgAUIANwIYIAEgBDYCFCABIAY2AhAgAUEANgIMIAEgDDYCCCABIAg2AgQgASAJNgIAIBEgA0ECdGogATYCAAsCfyACIQMgCiEBIAUhDCARIQlBACEOQX8gCygCBCIGRQ0AGkFiIQoCQCAQQYCQgBBxDQAgCygCDCESIAZBAEoEQANAIAsoAgAgDkEDdGoiBigCBCEHIAYoAgAiCigChAMhBiAJIA5BAnRqKAIAIghBADYCGAJAIAZFDQAgBigCDCINRQ0AAkAgCCgCICIPIA1OBEAgCCgCHCENDAELIA1BBnQhDUF7An8gCCgCHCIPBEAgDyANEM0BDAELIA0QywELIg1FDQUaIAggDTYCHCAIIAYoAgwiDzYCIAsgDUEAIA9BBnQQqAEaCwJAIAdFDQAgByAKKAIcQQFqEGciCg0DIAcoAgRBAEoEQCAHKAIIIQogBygCDCENQQAhBgNAIA0gBkECdCIIakF/NgIAIAggCmpBfzYCACAGQQFqIgYgBygCBEgNAAsLIAcoAhAiBkUNACAGEGYgB0EANgIQCyAOQQFqIg4gCygCBEgNAAsLQX8gASAFSw0BGkF/IAEgA0kNARogAyAFTyIGRQRAQWIhCiABIAxLDQELAkAgEEGAIHFFDQAgAyAFIBIoAkgRAAANAEHwfAwCCwJAAkACQAJAAkACQAJAAkACQCAGDQAgCygCECIGRQ0AIAZBwABxDQQgBkEQcQRAQX8hCiABIANHDQogAUEBaiEEIAEhAgwGCyAFIQggBkGAAXENAyAGQYACcUUNASASIAMgBUEBEHkiBiAFIAYgBSASKAIQEQAAIgcbIQggAyAGSSABIAZNcQ0DIAwhBCABIQIgB0UNAwwFCyAMIQQgASECIAMgBUcNBEF7IAsoAgQiDkE4bBDLASIPRQ0JGiAOQQBMBEBBfyEKDAYLIAsoAgAhAUEAIQgDQCABIAhBA3RqIgcoAgAhCiAPIAhBOGxqIgZBADYCACAGIAooAkggEHI2AgggBygCBCEHIAYgBTYCFCAGIAc2AgwgBiAJIAhBAnRqKAIAIgcoAgA2AhggBiAHKAIENgIcIAcoAgghDSAGQQA2AjQgBkEANgIkIAYgDTYCICAGQX82AiwgBiAHNgIoIAYgCigCHEEBdEECajYCECAIQQFqIgggDkcNAAsMAQsgDCEEIAEhAiAGQYCAAnENAgwDC0EAIQogDkEATARAQX8hCgwECwJAA0AgCygCACAKQQN0aigCACIGKAJcRQRAIAYgBSAFIAUgBSAPIApBOGxqEGgiBkF/Rw0CIAsoAgQhDgsgCkEBaiIKIA5IDQALQX8hCgwECyAGQQBIBEAgBiEKDAQLIBZBADYCAAwEC0F/IAsoAhQiBiAFIANrSw0GGgJAIAsoAhgiByAIIAFrTwRAIAEhAgwBCyAIIAdrIgIgBU8NACASIAMgAhB3IQIgCygCFCEGC0F/IQogAiAFIAZrQQFqIAwgBSAMa0EBaiAGSRsiBE0NAQwFCyABQQFqIQQgASECC0F7IAsoAgQiDkE4bBDLASIPRQ0EGiAOQQBKBEAgCygCACESQQAhCANAIA8gCEE4bGoiBkEANgIAIAYgEiAIQQN0aiIHKAIAIgooAkggEHI2AgggBygCBCEHIAYgATYCFCAGIAc2AgwgBiAJIAhBAnRqKAIAIgcoAgA2AhggBiAHKAIENgIcIAcoAgghDSAGQQA2AjQgBkEANgIkIAYgDTYCICAGQX82AiwgBiAHNgIoIAYgCigCHEEBdEECajYCECAIQQFqIgggDkcNAAsLIAMhECAFIQFBACEFIwBBEGsiBiQAIAsoAgwhFwJAIAsoAgQiCEEEdBDLASIHRQRAQXshAwwBCyAIQQBKBEAgASAEayENA0AgCygCACAFQQN0aigCACEJIAcgBUEEdGoiA0EANgIAAkAgCSgCWARAIAkoAoADIgpBf0cEQCAJIBAgASACIAQgCmogASAKIA1JGyIKIAZBDGogBkEIahBrRQ0CIANBATYCACADIAYoAgw2AgQgBigCCCEJIAMgCjYCDCADIAk2AggMAgsgCSAQIAEgAiABIAZBDGogBkEIahBrRQ0BCyADQQI2AgAgAyAENgIIIAMgAjYCBAsgBUEBaiIFIAhHDQALCwJAAkACQAJAIAQgAmtB9QNIDQAgCygCHEUNACAIQQBMIg4NAiAIQX5xIQ0gCEEBcSESIAhBAEohGANAQQAhCUEAIQUDQAJAIAcgBUEEdGoiAygCAEUNACACIAMoAgRJDQACQCADKAIIIAJNBEAgCygCACAFQQN0aigCACAQIAEgAiADKAIMIAZBDGogBkEIahBrRQ0BIAMgBigCDCIKNgIEIAMgBigCCDYCCCACIApJDQILIAsoAgAgBUEDdGooAgAgECABIAwgAiAPIAVBOGxqEGgiA0F/RwRAIANBAEgNBgwICyAJQQFqIQkMAQsgA0EANgIACyAFQQFqIgUgCEcNAAsgAiAETw0DAkAgCUUEQCAODQVBACEFIAQhAkEAIQMgCEEBRwRAA0AgByAFQQR0aiIJKAIAQQFGBEAgCSgCBCIJIAIgAiAJSxshAgsgByAFQQFyQQR0aiIJKAIAQQFGBEAgCSgCBCIJIAIgAiAJSxshAgsgBUECaiEFIANBAmoiAyANRw0ACwsCQCASRQ0AIAcgBUEEdGoiBSgCAEEBRw0AIAUoAgQiBSACIAIgBUsbIQILIAYgAjYCDCACIARHDQEMBQsgAiAXKAIAEQEAIAJqIQILIBgNAAsMAgsgCEEATCENQQEhCQNAIA1FBEBBACEFA0ACQAJAAkACQCAHIAVBBHRqIgMoAgAOAgMAAQsgAiADKAIESQ0CIAIgAygCCEkNACALKAIAIAVBA3RqKAIAIBAgASACIAMoAgwgBkEMaiAGQQhqEGtFDQEgAyAGKAIMIgo2AgQgAyAGKAIINgIIIAIgCkkNAgtBACALKAIAIAVBA3RqKAIAIgMtAGFBwABxIAkbDQEgAyAQIAEgDCACIA8gBUE4bGoQaCIDQX9GDQEgA0EATg0HDAULIANBADYCAAsgBUEBaiIFIAhHDQALCyACIARPDQIgCygCIARAIAIgASALKAIMKAIQEQAAIQkLIAIgFygCABEBACACaiECDAALAAsgBxDMAQwCCyAHEMwBQX8hAwwBCyAHEMwBIBYgAiAQazYCACAFIQMLIAZBEGokACADIgpBAE4NAQsgCygCBEEASgRAQQAhCQNAAkAgD0UNACAPIAlBOGxqKAIAIgZFDQAgBhDMAQsCQCALKAIAIAlBA3RqIgYoAgAtAEhBIHFFDQAgBigCBCIHRQ0AIAcoAgRBAEoEQCAHKAIIIQ0gBygCDCEOQQAhBgNAIA4gBkECdCIIakF/NgIAIAggDWpBfzYCACAGQQFqIgYgBygCBEgNAAsLIAcoAhAiBkUNACAGEGYgB0EANgIQCyAJQQFqIgkgCygCBEgNAAsLIA8NAQwCCyALKAIEQQBKBEBBACEJA0ACQCAPRQ0AIA8gCUE4bGooAgAiBkUNACAGEMwBCwJAIAsoAgAgCUEDdGoiBigCAC0ASEEgcUUNACAGKAIEIgdFDQAgBygCBEEASgRAIAcoAgghDSAHKAIMIQ5BACEGA0AgDiAGQQJ0IghqQX82AgAgCCANakF/NgIAIAZBAWoiBiAHKAIESA0ACwsgBygCECIGRQ0AIAYQZiAHQQA2AhALIAlBAWoiCSALKAIESA0ACwsgD0UNAQsgDxDMAQsgCgshDCALKAIEIgNBAEoEQEEAIQEDQCAUIAFBJGxqIgQoAhwiBgRAIAYQzAEgBEEANgIcIAsoAgQhAwsgAUEBaiIBIANIDQALCyAREMwBIAwLIgZBAEgNASAAKAIAIQBBACEBAkAgBkEASA0AIAAoAgQgBkwNACAAKAIAIAZBA3RqKAIEIQELIAEiDEUNASAMKAIEIgBB6AdKDQFBACEFQZTNEiAANgIAQZDNEiAGNgIAQZDNEiETIAwoAgRBAEwNASAMKAIMIQQgDCgCCCEDA0AgBUEDdCIGQZjNEmogAyAFQQJ0IgBqKAIANgIAIAZBnM0SaiAAIARqKAIANgIAIAVBAWoiBSAMKAIESA0ACwwBC0EAIRMgDCgCBCIGQegHSg0AQQAhBUGUzRIgBjYCAEGQzRIgETYCAEGQzRIhEyAMKAIEQQBMDQAgDCgCDCEEIAwoAgghAwNAIAVBA3QiBkGYzRJqIAMgBUECdCIAaigCADYCACAGQZzNEmogACAEaigCADYCACAFQQFqIgUgDCgCBEgNAAsLIBVBEGokACATC8MDAgh/AXwjAEFAaiIGJAAgBiACNgI0IAYgAzYCMEGQlhEgBkEwahDIAQJAIAAoAghBAEwEQBDKAQwBCyAFQRZ0QYCAgA5xIQ1BACEFAkACQANAIAYgBUECdCIHIAAoAgRqKAIAKQIAQiCJNwMgQc6WESAGQSBqEMgBEAEhDiAAKAIEIAdqKAIAIAEgAiADIAQgDRDDASEHEAEgDqEhDgJAAkAgB0UNACAHKAIEQQBMDQAgBiAHKAIIKAIAIgo2AhggBiAOOQMQQYqXESAGQRBqEMkBIAUgCyAIRSAJIApKciIMGyELIAcgCCAMGyEIIAQgCkYNAyAKIAkgDBshCQwBCyAGIA45AwBB8JURIAYQyQELIAVBAWoiBSAAKAIISA0ACxDKASAIDQFBACEJDAILEMoBC0EAIQkgCCgCBCIHQegHSg0AQQAhBUGUzRIgBzYCAEGQzRIgCzYCAEGQzRIhCSAIKAIEQQBMDQAgCCgCDCEKIAgoAgghBANAIAVBA3QiB0GYzRJqIAQgBUECdCIAaigCADYCACAHQZzNEmogACAKaigCADYCACAFQQFqIgUgCCgCBEgNAAsLIAZBQGskACAJCysBAX8jAEEQayICJAAgAiABNgIMQci+EiAAIAFBAEEAELMBGiACQRBqJAALKwEBfyMAQRBrIgIkACACIAE2AgxByL4SIAAgAUEOQQAQswEaIAJBEGokAAueAgECf0GUvxIoAgAaAkBBf0EAAn9B6JYREK0BIgACf0GUvxIoAgBBAEgEQEHolhEgAEHIvhIQsgEMAQtB6JYRIABByL4SELIBCyIBIABGDQAaIAELIABHG0EASA0AAkBBmL8SKAIAQQpGDQBB3L4SKAIAIgBB2L4SKAIARg0AQdy+EiAAQQFqNgIAIABBCjoAAAwBCyMAQRBrIgAkACAAQQo6AA8CQAJAQdi+EigCACIBBH8gAQVByL4SEK4BDQJB2L4SKAIAC0HcvhIoAgAiAUYNAEGYvxIoAgBBCkYNAEHcvhIgAUEBajYCACABQQo6AAAMAQtByL4SIABBD2pBAUHsvhIoAgARAgBBAUcNACAALQAPGgsgAEEQaiQACwugLgELfyMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEHYixMoAgAiBkEQIABBC2pBeHEgAEELSRsiBEEDdiIBdiIAQQNxBEACQCAAQX9zQQFxIAFqIgJBA3QiAUGAjBNqIgAgAUGIjBNqKAIAIgEoAggiBEYEQEHYixMgBkF+IAJ3cTYCAAwBCyAEIAA2AgwgACAENgIICyABQQhqIQAgASACQQN0IgJBA3I2AgQgASACaiIBIAEoAgRBAXI2AgQMDAsgBEHgixMoAgAiCE0NASAABEACQCAAIAF0QQIgAXQiAEEAIABrcnEiAEEBayAAQX9zcSIAIABBDHZBEHEiAHYiAUEFdkEIcSICIAByIAEgAnYiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqIgFBA3QiAEGAjBNqIgIgAEGIjBNqKAIAIgAoAggiA0YEQEHYixMgBkF+IAF3cSIGNgIADAELIAMgAjYCDCACIAM2AggLIAAgBEEDcjYCBCAAIARqIgMgAUEDdCIBIARrIgJBAXI2AgQgACABaiACNgIAIAgEQCAIQXhxQYCME2ohBEHsixMoAgAhAQJ/IAZBASAIQQN2dCIFcUUEQEHYixMgBSAGcjYCACAEDAELIAQoAggLIQUgBCABNgIIIAUgATYCDCABIAQ2AgwgASAFNgIICyAAQQhqIQBB7IsTIAM2AgBB4IsTIAI2AgAMDAtB3IsTKAIAIglFDQEgCUEBayAJQX9zcSIAIABBDHZBEHEiAHYiAUEFdkEIcSICIAByIAEgAnYiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqQQJ0QYiOE2ooAgAiAygCBEF4cSAEayEBIAMhAgNAAkAgAigCECIARQRAIAIoAhQiAEUNAQsgACgCBEF4cSAEayICIAEgASACSyICGyEBIAAgAyACGyEDIAAhAgwBCwsgAygCGCEKIAMgAygCDCIFRwRAIAMoAggiAEHoixMoAgBJGiAAIAU2AgwgBSAANgIIDAsLIANBFGoiAigCACIARQRAIAMoAhAiAEUNAyADQRBqIQILA0AgAiEHIAAiBUEUaiICKAIAIgANACAFQRBqIQIgBSgCECIADQALIAdBADYCAAwKC0F/IQQgAEG/f0sNACAAQQtqIgBBeHEhBEHcixMoAgAiCEUNAAJ/QQAgBEGAAkkNABpBHyAEQf///wdLDQAaIABBCHYiACAAQYD+P2pBEHZBCHEiAHQiASABQYDgH2pBEHZBBHEiAXQiAiACQYCAD2pBEHZBAnEiAnRBD3YgACABciACcmsiAEEBdCAEIABBFWp2QQFxckEcagshB0EAIARrIQECQAJAAkAgB0ECdEGIjhNqKAIAIgJFBEBBACEADAELQQAhACAEQRkgB0EBdmtBACAHQR9HG3QhAwNAAkAgAigCBEF4cSAEayIGIAFPDQAgAiEFIAYiAQ0AQQAhASACIQAMAwsgACACKAIUIgYgBiACIANBHXZBBHFqKAIQIgJGGyAAIAYbIQAgA0EBdCEDIAINAAsLIAAgBXJFBEBBACEFQQIgB3QiAEEAIABrciAIcSIARQ0DIABBAWsgAEF/c3EiACAAQQx2QRBxIgB2IgJBBXZBCHEiAyAAciACIAN2IgBBAnZBBHEiAnIgACACdiIAQQF2QQJxIgJyIAAgAnYiAEEBdkEBcSICciAAIAJ2akECdEGIjhNqKAIAIQALIABFDQELA0AgACgCBEF4cSAEayIGIAFJIQMgBiABIAMbIQEgACAFIAMbIQUgACgCECICBH8gAgUgACgCFAsiAA0ACwsgBUUNACABQeCLEygCACAEa08NACAFKAIYIQcgBSAFKAIMIgNHBEAgBSgCCCIAQeiLEygCAEkaIAAgAzYCDCADIAA2AggMCQsgBUEUaiICKAIAIgBFBEAgBSgCECIARQ0DIAVBEGohAgsDQCACIQYgACIDQRRqIgIoAgAiAA0AIANBEGohAiADKAIQIgANAAsgBkEANgIADAgLIARB4IsTKAIAIgBNBEBB7IsTKAIAIQECQCAAIARrIgJBEE8EQEHgixMgAjYCAEHsixMgASAEaiIDNgIAIAMgAkEBcjYCBCAAIAFqIAI2AgAgASAEQQNyNgIEDAELQeyLE0EANgIAQeCLE0EANgIAIAEgAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsgAUEIaiEADAoLIARB5IsTKAIAIgNJBEBB5IsTIAMgBGsiATYCAEHwixNB8IsTKAIAIgAgBGoiAjYCACACIAFBAXI2AgQgACAEQQNyNgIEIABBCGohAAwKC0EAIQAgBEEvaiIIAn9BsI8TKAIABEBBuI8TKAIADAELQbyPE0J/NwIAQbSPE0KAoICAgIAENwIAQbCPEyALQQxqQXBxQdiq1aoFczYCAEHEjxNBADYCAEGUjxNBADYCAEGAIAsiAWoiBkEAIAFrIgdxIgUgBE0NCUGQjxMoAgAiAQRAQYiPEygCACICIAVqIgkgAk0NCiABIAlJDQoLQZSPEy0AAEEEcQ0EAkACQEHwixMoAgAiAQRAQZiPEyEAA0AgASAAKAIAIgJPBEAgAiAAKAIEaiABSw0DCyAAKAIIIgANAAsLQQAQ0AEiA0F/Rg0FIAUhBkG0jxMoAgAiAEEBayIBIANxBEAgBSADayABIANqQQAgAGtxaiEGCyAEIAZPDQUgBkH+////B0sNBUGQjxMoAgAiAARAQYiPEygCACIBIAZqIgIgAU0NBiAAIAJJDQYLIAYQ0AEiACADRw0BDAcLIAYgA2sgB3EiBkH+////B0sNBCAGENABIgMgACgCACAAKAIEakYNAyADIQALAkAgAEF/Rg0AIARBMGogBk0NAEG4jxMoAgAiASAIIAZrakEAIAFrcSIBQf7///8HSwRAIAAhAwwHCyABENABQX9HBEAgASAGaiEGIAAhAwwHC0EAIAZrENABGgwECyAAIQMgAEF/Rw0FDAMLQQAhBQwHC0EAIQMMBQsgA0F/Rw0CC0GUjxNBlI8TKAIAQQRyNgIACyAFQf7///8HSw0BIAUQ0AEhA0EAENABIQAgA0F/Rg0BIABBf0YNASAAIANNDQEgACADayIGIARBKGpNDQELQYiPE0GIjxMoAgAgBmoiADYCAEGMjxMoAgAgAEkEQEGMjxMgADYCAAsCQAJAAkBB8IsTKAIAIgEEQEGYjxMhAANAIAMgACgCACICIAAoAgQiBWpGDQIgACgCCCIADQALDAILQeiLEygCACIAQQAgACADTRtFBEBB6IsTIAM2AgALQQAhAEGcjxMgBjYCAEGYjxMgAzYCAEH4ixNBfzYCAEH8ixNBsI8TKAIANgIAQaSPE0EANgIAA0AgAEEDdCIBQYiME2ogAUGAjBNqIgI2AgAgAUGMjBNqIAI2AgAgAEEBaiIAQSBHDQALQeSLEyAGQShrIgBBeCADa0EHcUEAIANBCGpBB3EbIgFrIgI2AgBB8IsTIAEgA2oiATYCACABIAJBAXI2AgQgACADakEoNgIEQfSLE0HAjxMoAgA2AgAMAgsgAC0ADEEIcQ0AIAEgAkkNACABIANPDQAgACAFIAZqNgIEQfCLEyABQXggAWtBB3FBACABQQhqQQdxGyIAaiICNgIAQeSLE0HkixMoAgAgBmoiAyAAayIANgIAIAIgAEEBcjYCBCABIANqQSg2AgRB9IsTQcCPEygCADYCAAwBC0HoixMoAgAgA0sEQEHoixMgAzYCAAsgAyAGaiECQZiPEyEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0GYjxMhAANAIAEgACgCACICTwRAIAIgACgCBGoiAiABSw0DCyAAKAIIIQAMAAsACyAAIAM2AgAgACAAKAIEIAZqNgIEIANBeCADa0EHcUEAIANBCGpBB3EbaiIHIARBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgYgBCAHaiIEayEAIAEgBkYEQEHwixMgBDYCAEHkixNB5IsTKAIAIABqIgA2AgAgBCAAQQFyNgIEDAMLQeyLEygCACAGRgRAQeyLEyAENgIAQeCLE0HgixMoAgAgAGoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAMLIAYoAgQiAUEDcUEBRgRAIAFBeHEhCAJAIAFB/wFNBEAgBigCCCICIAFBA3YiBUEDdEGAjBNqRhogAiAGKAIMIgFGBEBB2IsTQdiLEygCAEF+IAV3cTYCAAwCCyACIAE2AgwgASACNgIIDAELIAYoAhghCQJAIAYgBigCDCIDRwRAIAYoAggiASADNgIMIAMgATYCCAwBCwJAIAZBFGoiASgCACICDQAgBkEQaiIBKAIAIgINAEEAIQMMAQsDQCABIQUgAiIDQRRqIgEoAgAiAg0AIANBEGohASADKAIQIgINAAsgBUEANgIACyAJRQ0AAkAgBigCHCICQQJ0QYiOE2oiASgCACAGRgRAIAEgAzYCACADDQFB3IsTQdyLEygCAEF+IAJ3cTYCAAwCCyAJQRBBFCAJKAIQIAZGG2ogAzYCACADRQ0BCyADIAk2AhggBigCECIBBEAgAyABNgIQIAEgAzYCGAsgBigCFCIBRQ0AIAMgATYCFCABIAM2AhgLIAYgCGoiBigCBCEBIAAgCGohAAsgBiABQX5xNgIEIAQgAEEBcjYCBCAAIARqIAA2AgAgAEH/AU0EQCAAQXhxQYCME2ohAQJ/QdiLEygCACICQQEgAEEDdnQiAHFFBEBB2IsTIAAgAnI2AgAgAQwBCyABKAIICyEAIAEgBDYCCCAAIAQ2AgwgBCABNgIMIAQgADYCCAwDC0EfIQEgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiAyADQYCAD2pBEHZBAnEiA3RBD3YgASACciADcmsiAUEBdCAAIAFBFWp2QQFxckEcaiEBCyAEIAE2AhwgBEIANwIQIAFBAnRBiI4TaiECAkBB3IsTKAIAIgNBASABdCIFcUUEQEHcixMgAyAFcjYCACACIAQ2AgAgBCACNgIYDAELIABBGSABQQF2a0EAIAFBH0cbdCEBIAIoAgAhAwNAIAMiAigCBEF4cSAARg0DIAFBHXYhAyABQQF0IQEgAiADQQRxakEQaiIFKAIAIgMNAAsgBSAENgIAIAQgAjYCGAsgBCAENgIMIAQgBDYCCAwCC0HkixMgBkEoayIAQXggA2tBB3FBACADQQhqQQdxGyIFayIHNgIAQfCLEyADIAVqIgU2AgAgBSAHQQFyNgIEIAAgA2pBKDYCBEH0ixNBwI8TKAIANgIAIAEgAkEnIAJrQQdxQQAgAkEna0EHcRtqQS9rIgAgACABQRBqSRsiBUEbNgIEIAVBoI8TKQIANwIQIAVBmI8TKQIANwIIQaCPEyAFQQhqNgIAQZyPEyAGNgIAQZiPEyADNgIAQaSPE0EANgIAIAVBGGohAANAIABBBzYCBCAAQQhqIQMgAEEEaiEAIAIgA0sNAAsgASAFRg0DIAUgBSgCBEF+cTYCBCABIAUgAWsiA0EBcjYCBCAFIAM2AgAgA0H/AU0EQCADQXhxQYCME2ohAAJ/QdiLEygCACICQQEgA0EDdnQiA3FFBEBB2IsTIAIgA3I2AgAgAAwBCyAAKAIICyECIAAgATYCCCACIAE2AgwgASAANgIMIAEgAjYCCAwEC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAHQiAiACQYDgH2pBEHZBBHEiAnQiBSAFQYCAD2pBEHZBAnEiBXRBD3YgACACciAFcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyABIAA2AhwgAUIANwIQIABBAnRBiI4TaiECAkBB3IsTKAIAIgVBASAAdCIGcUUEQEHcixMgBSAGcjYCACACIAE2AgAgASACNgIYDAELIANBGSAAQQF2a0EAIABBH0cbdCEAIAIoAgAhBQNAIAUiAigCBEF4cSADRg0EIABBHXYhBSAAQQF0IQAgAiAFQQRxakEQaiIGKAIAIgUNAAsgBiABNgIAIAEgAjYCGAsgASABNgIMIAEgATYCCAwDCyACKAIIIgAgBDYCDCACIAQ2AgggBEEANgIYIAQgAjYCDCAEIAA2AggLIAdBCGohAAwFCyACKAIIIgAgATYCDCACIAE2AgggAUEANgIYIAEgAjYCDCABIAA2AggLQeSLEygCACIAIARNDQBB5IsTIAAgBGsiATYCAEHwixNB8IsTKAIAIgAgBGoiAjYCACACIAFBAXI2AgQgACAEQQNyNgIEIABBCGohAAwDC0HoyhJBMDYCAEEAIQAMAgsCQCAHRQ0AAkAgBSgCHCICQQJ0QYiOE2oiACgCACAFRgRAIAAgAzYCACADDQFB3IsTIAhBfiACd3EiCDYCAAwCCyAHQRBBFCAHKAIQIAVGG2ogAzYCACADRQ0BCyADIAc2AhggBSgCECIABEAgAyAANgIQIAAgAzYCGAsgBSgCFCIARQ0AIAMgADYCFCAAIAM2AhgLAkAgAUEPTQRAIAUgASAEaiIAQQNyNgIEIAAgBWoiACAAKAIEQQFyNgIEDAELIAUgBEEDcjYCBCAEIAVqIgMgAUEBcjYCBCABIANqIAE2AgAgAUH/AU0EQCABQXhxQYCME2ohAAJ/QdiLEygCACICQQEgAUEDdnQiAXFFBEBB2IsTIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYCCAwBC0EfIQAgAUH///8HTQRAIAFBCHYiACAAQYD+P2pBEHZBCHEiAHQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgACACciAEcmsiAEEBdCABIABBFWp2QQFxckEcaiEACyADIAA2AhwgA0IANwIQIABBAnRBiI4TaiECAkACQCAIQQEgAHQiBHFFBEBB3IsTIAQgCHI2AgAgAiADNgIAIAMgAjYCGAwBCyABQRkgAEEBdmtBACAAQR9HG3QhACACKAIAIQQDQCAEIgIoAgRBeHEgAUYNAiAAQR12IQQgAEEBdCEAIAIgBEEEcWpBEGoiBigCACIEDQALIAYgAzYCACADIAI2AhgLIAMgAzYCDCADIAM2AggMAQsgAigCCCIAIAM2AgwgAiADNgIIIANBADYCGCADIAI2AgwgAyAANgIICyAFQQhqIQAMAQsCQCAKRQ0AAkAgAygCHCICQQJ0QYiOE2oiACgCACADRgRAIAAgBTYCACAFDQFB3IsTIAlBfiACd3E2AgAMAgsgCkEQQRQgCigCECADRhtqIAU2AgAgBUUNAQsgBSAKNgIYIAMoAhAiAARAIAUgADYCECAAIAU2AhgLIAMoAhQiAEUNACAFIAA2AhQgACAFNgIYCwJAIAFBD00EQCADIAEgBGoiAEEDcjYCBCAAIANqIgAgACgCBEEBcjYCBAwBCyADIARBA3I2AgQgAyAEaiICIAFBAXI2AgQgASACaiABNgIAIAgEQCAIQXhxQYCME2ohBEHsixMoAgAhAAJ/QQEgCEEDdnQiBSAGcUUEQEHYixMgBSAGcjYCACAEDAELIAQoAggLIQUgBCAANgIIIAUgADYCDCAAIAQ2AgwgACAFNgIIC0HsixMgAjYCAEHgixMgATYCAAsgA0EIaiEACyALQRBqJAAgAAvKDAEHfwJAIABFDQAgAEEIayICIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAiACKAIAIgFrIgJB6IsTKAIASQ0BIAAgAWohAEHsixMoAgAgAkcEQCABQf8BTQRAIAIoAggiBCABQQN2IgdBA3RBgIwTakYaIAQgAigCDCIBRgRAQdiLE0HYixMoAgBBfiAHd3E2AgAMAwsgBCABNgIMIAEgBDYCCAwCCyACKAIYIQYCQCACIAIoAgwiA0cEQCACKAIIIgEgAzYCDCADIAE2AggMAQsCQCACQRRqIgEoAgAiBA0AIAJBEGoiASgCACIEDQBBACEDDAELA0AgASEHIAQiA0EUaiIBKAIAIgQNACADQRBqIQEgAygCECIEDQALIAdBADYCAAsgBkUNAQJAIAIoAhwiBEECdEGIjhNqIgEoAgAgAkYEQCABIAM2AgAgAw0BQdyLE0HcixMoAgBBfiAEd3E2AgAMAwsgBkEQQRQgBigCECACRhtqIAM2AgAgA0UNAgsgAyAGNgIYIAIoAhAiAQRAIAMgATYCECABIAM2AhgLIAIoAhQiAUUNASADIAE2AhQgASADNgIYDAELIAUoAgQiAUEDcUEDRw0AQeCLEyAANgIAIAUgAUF+cTYCBCACIABBAXI2AgQgACACaiAANgIADwsgAiAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEBB8IsTKAIAIAVGBEBB8IsTIAI2AgBB5IsTQeSLEygCACAAaiIANgIAIAIgAEEBcjYCBCACQeyLEygCAEcNA0HgixNBADYCAEHsixNBADYCAA8LQeyLEygCACAFRgRAQeyLEyACNgIAQeCLE0HgixMoAgAgAGoiADYCACACIABBAXI2AgQgACACaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgQgAUEDdiIHQQN0QYCME2pGGiAEIAUoAgwiAUYEQEHYixNB2IsTKAIAQX4gB3dxNgIADAILIAQgATYCDCABIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgNHBEAgBSgCCCIBQeiLEygCAEkaIAEgAzYCDCADIAE2AggMAQsCQCAFQRRqIgEoAgAiBA0AIAVBEGoiASgCACIEDQBBACEDDAELA0AgASEHIAQiA0EUaiIBKAIAIgQNACADQRBqIQEgAygCECIEDQALIAdBADYCAAsgBkUNAAJAIAUoAhwiBEECdEGIjhNqIgEoAgAgBUYEQCABIAM2AgAgAw0BQdyLE0HcixMoAgBBfiAEd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAM2AgAgA0UNAQsgAyAGNgIYIAUoAhAiAQRAIAMgATYCECABIAM2AhgLIAUoAhQiAUUNACADIAE2AhQgASADNgIYCyACIABBAXI2AgQgACACaiAANgIAIAJB7IsTKAIARw0BQeCLEyAANgIADwsgBSABQX5xNgIEIAIgAEEBcjYCBCAAIAJqIAA2AgALIABB/wFNBEAgAEF4cUGAjBNqIQECf0HYixMoAgAiBEEBIABBA3Z0IgBxRQRAQdiLEyAAIARyNgIAIAEMAQsgASgCCAshACABIAI2AgggACACNgIMIAIgATYCDCACIAA2AggPC0EfIQEgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiBCAEQYDgH2pBEHZBBHEiBHQiAyADQYCAD2pBEHZBAnEiA3RBD3YgASAEciADcmsiAUEBdCAAIAFBFWp2QQFxckEcaiEBCyACIAE2AhwgAkIANwIQIAFBAnRBiI4TaiEEAkACQAJAQdyLEygCACIDQQEgAXQiBXFFBEBB3IsTIAMgBXI2AgAgBCACNgIAIAIgBDYCGAwBCyAAQRkgAUEBdmtBACABQR9HG3QhASAEKAIAIQMDQCADIgQoAgRBeHEgAEYNAiABQR12IQMgAUEBdCEBIAQgA0EEcWpBEGoiBSgCACIDDQALIAUgAjYCACACIAQ2AhgLIAIgAjYCDCACIAI2AggMAQsgBCgCCCIAIAI2AgwgBCACNgIIIAJBADYCGCACIAQ2AgwgAiAANgIIC0H4ixNB+IsTKAIAQQFrIgJBfyACGzYCAAsLoAgBC38gAEUEQCABEMsBDwsgAUFATwRAQejKEkEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEDIABBCGsiBSgCBCIIQXhxIQICQCAIQQNxRQRAQQAgA0GAAkkNAhogA0EEaiACTQRAIAUhBCACIANrQbiPEygCAEEBdE0NAgtBAAwCCyACIAVqIQcCQCACIANPBEAgAiADayICQRBJDQEgBSAIQQFxIANyQQJyNgIEIAMgBWoiAyACQQNyNgIEIAcgBygCBEEBcjYCBCADIAIQzgEMAQtB8IsTKAIAIAdGBEBB5IsTKAIAIAJqIgIgA00NAiAFIAhBAXEgA3JBAnI2AgQgAyAFaiIIIAIgA2siA0EBcjYCBEHkixMgAzYCAEHwixMgCDYCAAwBC0HsixMoAgAgB0YEQEHgixMoAgAgAmoiAiADSQ0CAkAgAiADayIEQRBPBEAgBSAIQQFxIANyQQJyNgIEIAMgBWoiAyAEQQFyNgIEIAIgBWoiAiAENgIAIAIgAigCBEF+cTYCBAwBCyAFIAhBAXEgAnJBAnI2AgQgAiAFaiIDIAMoAgRBAXI2AgRBACEEQQAhAwtB7IsTIAM2AgBB4IsTIAQ2AgAMAQsgBygCBCIGQQJxDQEgBkF4cSACaiIJIANJDQEgCSADayELAkAgBkH/AU0EQCAHKAIIIgIgBkEDdiIMQQN0QYCME2pGGiACIAcoAgwiBEYEQEHYixNB2IsTKAIAQX4gDHdxNgIADAILIAIgBDYCDCAEIAI2AggMAQsgBygCGCEKAkAgByAHKAIMIgZHBEAgBygCCCICQeiLEygCAEkaIAIgBjYCDCAGIAI2AggMAQsCQCAHQRRqIgIoAgAiBA0AIAdBEGoiAigCACIEDQBBACEGDAELA0AgAiEMIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAxBADYCAAsgCkUNAAJAIAcoAhwiBEECdEGIjhNqIgIoAgAgB0YEQCACIAY2AgAgBg0BQdyLE0HcixMoAgBBfiAEd3E2AgAMAgsgCkEQQRQgCigCECAHRhtqIAY2AgAgBkUNAQsgBiAKNgIYIAcoAhAiAgRAIAYgAjYCECACIAY2AhgLIAcoAhQiAkUNACAGIAI2AhQgAiAGNgIYCyALQQ9NBEAgBSAIQQFxIAlyQQJyNgIEIAUgCWoiAyADKAIEQQFyNgIEDAELIAUgCEEBcSADckECcjYCBCADIAVqIgMgC0EDcjYCBCAFIAlqIgIgAigCBEEBcjYCBCADIAsQzgELIAUhBAsgBAsiBARAIARBCGoPCyABEMsBIgRFBEBBAA8LIAQgAEF8QXggAEEEaygCACIFQQNxGyAFQXhxaiIFIAEgASAFSxsQpgEaIAAQzAEgBAuJDAEGfyAAIAFqIQUCQAJAIAAoAgQiAkEBcQ0AIAJBA3FFDQEgACgCACICIAFqIQECQCAAIAJrIgBB7IsTKAIARwRAIAJB/wFNBEAgACgCCCIEIAJBA3YiB0EDdEGAjBNqRhogACgCDCICIARHDQJB2IsTQdiLEygCAEF+IAd3cTYCAAwDCyAAKAIYIQYCQCAAIAAoAgwiA0cEQCAAKAIIIgJB6IsTKAIASRogAiADNgIMIAMgAjYCCAwBCwJAIABBFGoiAigCACIEDQAgAEEQaiICKAIAIgQNAEEAIQMMAQsDQCACIQcgBCIDQRRqIgIoAgAiBA0AIANBEGohAiADKAIQIgQNAAsgB0EANgIACyAGRQ0CAkAgACgCHCIEQQJ0QYiOE2oiAigCACAARgRAIAIgAzYCACADDQFB3IsTQdyLEygCAEF+IAR3cTYCAAwECyAGQRBBFCAGKAIQIABGG2ogAzYCACADRQ0DCyADIAY2AhggACgCECICBEAgAyACNgIQIAIgAzYCGAsgACgCFCICRQ0CIAMgAjYCFCACIAM2AhgMAgsgBSgCBCICQQNxQQNHDQFB4IsTIAE2AgAgBSACQX5xNgIEIAAgAUEBcjYCBCAFIAE2AgAPCyAEIAI2AgwgAiAENgIICwJAIAUoAgQiAkECcUUEQEHwixMoAgAgBUYEQEHwixMgADYCAEHkixNB5IsTKAIAIAFqIgE2AgAgACABQQFyNgIEIABB7IsTKAIARw0DQeCLE0EANgIAQeyLE0EANgIADwtB7IsTKAIAIAVGBEBB7IsTIAA2AgBB4IsTQeCLEygCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPCyACQXhxIAFqIQECQCACQf8BTQRAIAUoAggiBCACQQN2IgdBA3RBgIwTakYaIAQgBSgCDCICRgRAQdiLE0HYixMoAgBBfiAHd3E2AgAMAgsgBCACNgIMIAIgBDYCCAwBCyAFKAIYIQYCQCAFIAUoAgwiA0cEQCAFKAIIIgJB6IsTKAIASRogAiADNgIMIAMgAjYCCAwBCwJAIAVBFGoiBCgCACICDQAgBUEQaiIEKAIAIgINAEEAIQMMAQsDQCAEIQcgAiIDQRRqIgQoAgAiAg0AIANBEGohBCADKAIQIgINAAsgB0EANgIACyAGRQ0AAkAgBSgCHCIEQQJ0QYiOE2oiAigCACAFRgRAIAIgAzYCACADDQFB3IsTQdyLEygCAEF+IAR3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogAzYCACADRQ0BCyADIAY2AhggBSgCECICBEAgAyACNgIQIAIgAzYCGAsgBSgCFCICRQ0AIAMgAjYCFCACIAM2AhgLIAAgAUEBcjYCBCAAIAFqIAE2AgAgAEHsixMoAgBHDQFB4IsTIAE2AgAPCyAFIAJBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsgAUH/AU0EQCABQXhxQYCME2ohAgJ/QdiLEygCACIEQQEgAUEDdnQiAXFFBEBB2IsTIAEgBHI2AgAgAgwBCyACKAIICyEBIAIgADYCCCABIAA2AgwgACACNgIMIAAgATYCCA8LQR8hAiABQf///wdNBEAgAUEIdiICIAJBgP4/akEQdkEIcSICdCIEIARBgOAfakEQdkEEcSIEdCIDIANBgIAPakEQdkECcSIDdEEPdiACIARyIANyayICQQF0IAEgAkEVanZBAXFyQRxqIQILIAAgAjYCHCAAQgA3AhAgAkECdEGIjhNqIQQCQAJAQdyLEygCACIDQQEgAnQiBXFFBEBB3IsTIAMgBXI2AgAgBCAANgIAIAAgBDYCGAwBCyABQRkgAkEBdmtBACACQR9HG3QhAiAEKAIAIQMDQCADIgQoAgRBeHEgAUYNAiACQR12IQMgAkEBdCECIAQgA0EEcWpBEGoiBSgCACIDDQALIAUgADYCACAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC1wCAX8BfgJAAn9BACAARQ0AGiAArSABrX4iA6ciAiAAIAFyQYCABEkNABpBfyACIANCIIinGwsiAhDLASIARQ0AIABBBGstAABBA3FFDQAgAEEAIAIQqAEaCyAAC1IBAn9B2L8SKAIAIgEgAEEHakF4cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQA0UNAQtB2L8SIAA2AgAgAQ8LQejKEkEwNgIAQX8LBAAjAAsGACAAJAALEAAjACAAa0FwcSIAJAAgAAsiAQF+IAEgAq0gA61CIIaEIAQgABEPACIFQiCIpyQBIAWnCwvFrRKnAQBBgAgL9xIBAAAAAgAAAAIAAAAFAAAABAAAAAAAAAABAAAAAQAAAAEAAAAGAAAABgAAAAEAAAACAAAAAgAAAAEAAAAAAAAABgAAAAEAAAABAAAABAAAAAQAAAABAAAABAAAAAQAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAgAAAAMAAAAEAAAABAAAAAEAAABZb3UgZGlkbid0IGNhbGwgb25pZ19pbml0aWFsaXplKCkgZXhwbGljaXRseQAtKyAgIDBYMHgAQWxudW0AbWlzbWF0Y2gAJWQuJWQuJWQAXQBFVUMtVFcAU2hpZnRfSklTAEVVQy1LUgBLT0k4LVIARVVDLUpQAE1PTgBVUy1BU0NJSQBVVEYtMTZMRQBVVEYtMzJMRQBVVEYtMTZCRQBVVEYtMzJCRQBJU08tODg1OS05AFVURi04AElTTy04ODU5LTgASVNPLTg4NTktNwBJU08tODg1OS0xNgBJU08tODg1OS02AEJpZzUASVNPLTg4NTktMTUASVNPLTg4NTktNQBJU08tODg1OS0xNABJU08tODg1OS00AElTTy04ODU5LTEzAElTTy04ODU5LTMASVNPLTg4NTktMgBDUDEyNTEASVNPLTg4NTktMTEASVNPLTg4NTktMQBHQjE4MDMwAElTTy04ODU5LTEwAE9uaWd1cnVtYSAlZC4lZC4lZCA6IENvcHlyaWdodCAoQykgMjAwMi0yMDE4IEsuS29zYWtvAG5vIHN1cHBvcnQgaW4gdGhpcyBjb25maWd1cmF0aW9uAHJlZ3VsYXIgZXhwcmVzc2lvbiBoYXMgJyVzJyB3aXRob3V0IGVzY2FwZQBXb3JkAEFscGhhAEVVQy1DTgBGQUlMAChudWxsKQAARgBBAEkATAAAAEYAQQBJAEwAAAAAYWJvcnQAQmxhbmsAIyVkAEFscGhhAFsATUlTTUFUQ0gAAE0ASQBTAE0AQQBUAEMASAAAAE0ASQBTAE0AQQBUAEMASAAAAAAtMFgrMFggMFgtMHgrMHggMHgAZmFpbCB0byBtZW1vcnkgYWxsb2NhdGlvbgBDbnRybABIaXJhZ2FuYQBNQVgALQBPTklHLU1PTklUT1I6ICUtNHMgJXMgYXQ6ICVkIFslZCAtICVkXSBsZW46ICVkCgAATQBBAFgAAABNAEEAWAAAAABEaWdpdABtYXRjaC1zdGFjayBsaW1pdCBvdmVyAEFsbnVtAGluZgBjaGFyYWN0ZXIgY2xhc3MgaGFzICclcycgd2l0aG91dCBlc2NhcGUARVJST1IAPT4AAEUAUgBSAE8AUgAAAEUAUgBSAE8AUgAAAABwYXJzZSBkZXB0aCBsaW1pdCBvdmVyAGFsbnVtAEdyYXBoAEthdGFrYW5hAENPVU5UAElORgA8PQAAQwBPAFUATgBUAAAAQwBPAFUATgBUAAAAAExvd2VyAHJldHJ5LWxpbWl0LWluLW1hdGNoIG92ZXIAbmFuAGFscGhhAFRPVEFMX0NPVU5UAEFTQ0lJAABUAE8AVABBAEwAXwBDAE8AVQBOAFQAAABUAE8AVABBAEwAXwBDAE8AVQBOAFQAAAAAUHJpbnQAWERpZ2l0AHJldHJ5LWxpbWl0LWluLXNlYXJjaCBvdmVyAGJsYW5rAENNUABOQU4AAEMATQBQAAAAQwBNAFAAAAAAUHVuY3QAc3ViZXhwLWNhbGwtbGltaXQtaW4tc2VhcmNoIG92ZXIAY250cmwAQ250cmwALgBkaWdpdABCbGFuawBTcGFjZQB1bmRlZmluZWQgdHlwZSAoYnVnKQBQdW5jdABVcHBlcgBncmFwaABpbnRlcm5hbCBwYXJzZXIgZXJyb3IgKGJ1ZykAUHJpbnQAWERpZ2l0AGxvd2VyAHN0YWNrIGVycm9yIChidWcpAHByaW50AFVwcGVyAEFTQ0lJAHVuZGVmaW5lZCBieXRlY29kZSAoYnVnKQBwdW5jdABTcGFjZQBXb3JkAHVuZXhwZWN0ZWQgYnl0ZWNvZGUgKGJ1ZykAZGVmYXVsdCBtdWx0aWJ5dGUtZW5jb2RpbmcgaXMgbm90IHNldABMb3dlcgBzcGFjZQB1cHBlcgBHcmFwaABjYW4ndCBjb252ZXJ0IHRvIHdpZGUtY2hhciBvbiBzcGVjaWZpZWQgbXVsdGlieXRlLWVuY29kaW5nAHhkaWdpdABEaWdpdABmYWlsIHRvIGluaXRpYWxpemUAaW52YWxpZCBhcmd1bWVudABhc2NpaQBlbmQgcGF0dGVybiBhdCBsZWZ0IGJyYWNlAHdvcmQAZW5kIHBhdHRlcm4gYXQgbGVmdCBicmFja2V0ADpdAGVtcHR5IGNoYXItY2xhc3MAcmVkdW5kYW50IG5lc3RlZCByZXBlYXQgb3BlcmF0b3IAcHJlbWF0dXJlIGVuZCBvZiBjaGFyLWNsYXNzAG5lc3RlZCByZXBlYXQgb3BlcmF0b3IgJXMgYW5kICVzIHdhcyByZXBsYWNlZCB3aXRoICclcycAZW5kIHBhdHRlcm4gYXQgZXNjYXBlAD8AZW5kIHBhdHRlcm4gYXQgbWV0YQAqAGVuZCBwYXR0ZXJuIGF0IGNvbnRyb2wAKwBpbnZhbGlkIG1ldGEtY29kZSBzeW50YXgAPz8AaW52YWxpZCBjb250cm9sLWNvZGUgc3ludGF4ACo/AGNoYXItY2xhc3MgdmFsdWUgYXQgZW5kIG9mIHJhbmdlACs/AGNoYXItY2xhc3MgdmFsdWUgYXQgc3RhcnQgb2YgcmFuZ2UAdW5tYXRjaGVkIHJhbmdlIHNwZWNpZmllciBpbiBjaGFyLWNsYXNzACsgYW5kID8/AHRhcmdldCBvZiByZXBlYXQgb3BlcmF0b3IgaXMgbm90IHNwZWNpZmllZAArPyBhbmQgPwAPAAAADgAAAHQ+AwB8PgMA6AP0AU0B+gDIAKcAjwB9AG8AZABbAFMATQBHAEMAPwA7ADgANQAyADAALQArACoAKAAmACUAJAAiACEAIAAfAB4AHQAdABwAGwAaABoAGQAYABgAFwAXABYAFgAVABUAFAAUABQAEwATABMAEgASABIAEQARABEAEAAQABAAEAAPAA8ADwAPAA4ADgAOAA4ADgAOAA0ADQANAA0ADQANAAwADAAMAAwADAAMAAsACwALAAsACwALAAsACwALAAoACgAKAAoA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b2RlIHJhbmdlcyBhcmUgc3BlY2lmaWVkAHRvbyBzaG9ydCBtdWx0aWJ5dGUgY29kZSBzdHJpbmcAdG9vIGJpZyBiYWNrcmVmIG51bWJlcgBpbnZhbGlkIGJhY2tyZWYgbnVtYmVyL25hbWUAbnVtYmVyZWQgYmFja3JlZi9jYWxsIGlzIG5vdCBhbGxvd2VkLiAodXNlIG5hbWUpAHRvbyBtYW55IGNhcHR1cmVzAHRvbyBiaWcgd2lkZS1jaGFyIHZhbHVlAHRvbyBsb25nIHdpZGUtY2hhciB2YWx1ZQB1bmRlZmluZWQgb3BlcmF0b3IAaW52YWxpZCBjb2RlIHBvaW50IHZhbHVlAGdyb3VwIG5hbWUgaXMgZW1wdHkAaW52YWxpZCBncm91cCBuYW1lIDwlbj4AaW52YWxpZCBjaGFyIGluIGdyb3VwIG5hbWUgPCVuPgB1bmRlZmluZWQgbmFtZSA8JW4+IHJlZmVyZW5jZQB1bmRlZmluZWQgZ3JvdXAgPCVuPiByZWZlcmVuY2UAbXVsdGlwbGV4IGRlZmluZWQgbmFtZSA8JW4+AG11bHRpcGxleCBkZWZpbml0aW9uIG5hbWUgPCVuPiBjYWxsAG5ldmVyIGVuZGluZyByZWN1cnNpb24AZ3JvdXAgbnVtYmVyIGlzIHRvbyBiaWcgZm9yIGNhcHR1cmUgaGlzdG9yeQBpbnZhbGlkIGNoYXJhY3RlciBwcm9wZXJ0eSBuYW1lIHslbn0AaW52YWxpZCBpZi1lbHNlIHN5bnRheABpbnZhbGlkIGFic2VudCBncm91cCBwYXR0ZXJuAGludmFsaWQgYWJzZW50IGdyb3VwIGdlbmVyYXRvciBwYXR0ZXJuAGludmFsaWQgY2FsbG91dCBwYXR0ZXJuAGludmFsaWQgY2FsbG91dCBuYW1lAHVuZGVmaW5lZCBjYWxsb3V0IG5hbWUAaW52YWxpZCBjYWxsb3V0IGJvZHkAaW52YWxpZCBjYWxsb3V0IHRhZyBuYW1lAGludmFsaWQgY2FsbG91dCBhcmcAbm90IHN1cHBvcnRlZCBlbmNvZGluZyBjb21iaW5hdGlvbgBpbnZhbGlkIGNvbWJpbmF0aW9uIG9mIG9wdGlvbnMAdmVyeSBpbmVmZmljaWVudCBwYXR0ZXJuAGxpYnJhcnkgaXMg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ALYJAAC5CQAAvAkAAMQJAADHCQAAyAkAAMsJAADOCQAA1wkAANcJAADcCQAA3QkAAN8JAADjCQAA5gkAAP4JAAABCgAAAwoAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdgoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADxCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAAB3CwAAggsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAAC+CwAAwgsAAMYLAADICwAAygsAAM0LAADQCwAA0AsAANcLAADXCwAA5gsAAPoLAAAADAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAOQwAADwMAABEDAAARgwAAEgMAABKDAAATQwAAFUMAABWDAAAWAwAAFoMAABdDAAAXQwAAGAMAABjDAAAZgwAAG8MAAB3DAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvAwAAMQMAADGDAAAyAwAAMoMAADNDAAA1QwAANYMAADdDAAA3gwAAOAMAADjDAAA5gwAAO8MAADxDAAA8gwAAAANAAAMDQAADg0AABANAAASDQAARA0AAEYNAABIDQAASg0AAE8NAABUDQAAYw0AAGYNAAB/DQAAgQ0AAIMNAACFDQAAlg0AAJoNAACxDQAAsw0AALsNAAC9DQAAvQ0AAMANAADGDQAAyg0AAMoNAADPDQAA1A0AANYNAADWDQAA2A0AAN8NAADmDQAA7w0AAPINAAD0DQAAAQ4A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AKoAAACqAAAAtQAAALUAAAC6AAAAugAAAN8AAAD2AAAA+AAAAP8AAAABAQAAAQEAAAMBAAADAQAABQEAAAUBAAAHAQAABwEAAAkBAAAJAQAACwEAAAsBAAANAQAADQEAAA8BAAAPAQAAEQEAABEBAAATAQAAEwEAABUBAAAVAQAAFwEAABcBAAAZAQAAGQEAABsBAAAbAQAAHQEAAB0BAAAfAQAAHwEAACEBAAAhAQAAIwEAACMBAAAlAQAAJQEAACcBAAAnAQAAKQEAACkBAAArAQAAKwEAAC0BAAAtAQAALwEAAC8BAAAxAQAAMQEAADMBAAAzAQAANQEAADUBAAA3AQAAOAEAADoBAAA6AQAAPAEAADwBAAA+AQAAPgEAAEABAABAAQAAQgEAAEIBAABEAQAARAEAAEYBAABGAQAASAEAAEkBAABLAQAASwEAAE0BAABNAQAATwEAAE8BAABRAQAAUQEAAFMBAABTAQAAVQEAAFUBAABXAQAAVwEAAFkBAABZAQAAWwEAAFsBAABdAQAAXQEAAF8BAABfAQAAYQEAAGEBAABjAQAAYwEAAGUBAABlAQAAZwEAAGcBAABpAQAAaQEAAGsBAABrAQAAbQEAAG0BAABvAQAAbwEAAHEBAABxAQAAcwEAAHMBAAB1AQAAdQEAAHcBAAB3AQAAegEAAHoBAAB8AQAAfAEAAH4BAACAAQAAgwEAAIMBAACFAQAAhQEAAIgBAACIAQAAjAEAAI0BAACSAQAAkgEAAJUBAACVAQAAmQEAAJsBAACeAQAAngEAAKEBAAChAQAAowEAAKMBAAClAQAApQEAAKgBAACoAQAAqgEAAKsBAACtAQAArQEAALABAACwAQAAtAEAALQBAAC2AQAAtgEAALkBAAC6AQAAvQEAAL8BAADGAQAAxgEAAMkBAADJAQAAzAEAAMwBAADOAQAAzgEAANABAADQAQAA0gEAANIBAADUAQAA1AEAANYBAADWAQAA2AEAANgBAADaAQAA2gEAANwBAADdAQAA3wEAAN8BAADhAQAA4QEAAOMBAADjAQAA5QEAAOUBAADnAQAA5wEAAOkBAADpAQAA6wEAAOsBAADtAQAA7QEAAO8BAADwAQAA8wEAAPMBAAD1AQAA9QEAAPkBAAD5AQAA+wEAAPsBAAD9AQAA/QEAAP8BAAD/AQAAAQIAAAECAAADAgAAAwIAAAUCAAAFAgAABwIAAAcCAAAJAgAACQIAAAsCAAALAgAADQIAAA0CAAAPAgAADwIAABECAAARAgAAEwIAABMCAAAVAgAAFQIAABcCAAAXAgAAGQIAABkCAAAbAgAAGwIAAB0CAAAdAgAAHwIAAB8CAAAhAgAAIQIAACMCAAAjAgAAJQIAACUCAAAnAgAAJwIAACkCAAApAgAAKwIAACsCAAAtAgAALQIAAC8CAAAvAgAAMQIAADECAAAzAgAAOQIAADwCAAA8AgAAPwIAAEACAABCAgAAQgIAAEcCAABHAgAASQIAAEkCAABLAgAASwIAAE0CAABNAgAATwIAAJMCAACVAgAAuAIAAMACAADBAgAA4AIAAOQCAABFAwAARQMAAHEDAABxAwAAcwMAAHMDAAB3AwAAdwMAAHoDAAB9AwAAkAMAAJADAACsAwAAzgMAANADAADRAwAA1QMAANcDAADZAwAA2QMAANsDAADbAwAA3QMAAN0DAADfAwAA3wMAAOEDAADhAwAA4wMAAOMDAADlAwAA5QMAAOcDAADnAwAA6QMAAOkDAADrAwAA6wMAAO0DAADtAwAA7wMAAPMDAAD1AwAA9QMAAPgDAAD4AwAA+wMAAPwDAAAwBAAAXwQAAGEEAABhBAAAYwQAAGMEAABlBAAAZQQAAGcEAABnBAAAaQQAAGkEAABrBAAAawQAAG0EAABtBAAAbwQAAG8EAABxBAAAcQQAAHMEAABzBAAAdQQAAHUEAAB3BAAAdwQAAHkEAAB5BAAAewQAAHsEAAB9BAAAfQQAAH8EAAB/BAAAgQQAAIEEAACLBAAAiwQAAI0EAACNBAAAjwQAAI8EAACRBAAAkQQAAJMEAACTBAAAlQQAAJUEAACXBAAAlwQAAJkEAACZBAAAmwQAAJsEAACdBAAAnQQAAJ8EAACfBAAAoQQAAKEEAACjBAAAowQAAKUEAAClBAAApwQAAKcEAACpBAAAqQQAAKsEAACrBAAArQQAAK0EAACvBAAArwQAALEEAACxBAAAswQAALMEAAC1BAAAtQQAALcEAAC3BAAAuQQAALkEAAC7BAAAuwQAAL0EAAC9BAAAvwQAAL8EAADCBAAAwgQAAMQEAADEBAAAxgQAAMYEAADIBAAAyAQAAMoEAADKBAAAzAQAAMwEAADOBAAAzwQAANEEAADRBAAA0wQAANMEAADVBAAA1QQAANcEAADXBAAA2QQAANkEAADbBAAA2wQAAN0EAADdBAAA3wQAAN8EAADhBAAA4QQAAOMEAADjBAAA5QQAAOUEAADnBAAA5wQAAOkEAADpBAAA6wQAAOsEAADtBAAA7QQAAO8EAADvBAAA8QQAAPEEAADzBAAA8wQAAPUEAAD1BAAA9wQAAPcEAAD5BAAA+QQAAPsEAAD7BAAA/QQAAP0EAAD/BAAA/wQAAAEFAAABBQAAAwUAAAMFAAAFBQAABQUAAAcFAAAHBQAACQUAAAkFAAALBQAACwUAAA0FAAANBQAADwUAAA8FAAARBQAAEQUAABMFAAATBQAAFQUAABUFAAAXBQAAFwUAABkFAAAZBQAAGwUAABsFAAAdBQAAHQUAAB8FAAAfBQAAIQUAACEFAAAjBQAAIwUAACUFAAAlBQAAJwUAACcFAAApBQAAKQUAACsFAAArBQAALQUAAC0FAAAvBQAALwUAAGAFAACIBQAA0BAAAPoQAAD9EAAA/xAAAPgTAAD9EwAAgBwAAIgcAAAAHQAAvx0AAAEeAAABHgAAAx4AAAMeAAAFHgAABR4AAAceAAAHHgAACR4AAAkeAAALHgAACx4AAA0eAAANHgAADx4AAA8eAAARHgAAER4AABMeAAATHgAAFR4AABUeAAAXHgAAFx4AABkeAAAZHgAAGx4AABseAAAdHgAAHR4AAB8eAAAfHgAAIR4AACEeAAAjHgAAIx4AACUeAAAlHgAAJx4AACceAAApHgAAKR4AACseAAArHgAALR4AAC0eAAAvHgAALx4AADEeAAAxHgAAMx4AADMeAAA1HgAANR4AADceAAA3HgAAOR4AADkeAAA7HgAAOx4AAD0eAAA9HgAAPx4AAD8eAABBHgAAQR4AAEMeAABDHgAARR4AAEUeAABHHgAARx4AAEkeAABJHgAASx4AAEseAABNHgAATR4AAE8eAABPHgAAUR4AAFEeAABTHgAAUx4AAFUeAABVHgAAVx4AAFceAABZHgAAWR4AAFseAABbHgAAXR4AAF0eAABfHgAAXx4AAGEeAABhHgAAYx4AAGMeAABlHgAAZR4AAGceAABnHgAAaR4AAGkeAABrHgAAax4AAG0eAABtHgAAbx4AAG8eAABxHgAAcR4AAHMeAABzHgAAdR4AAHUeAAB3HgAAdx4AAHkeAAB5HgAAex4AAHseAAB9HgAAfR4AAH8eAAB/HgAAgR4AAIEeAACDHgAAgx4AAIUeAACFHgAAhx4AAIceAACJHgAAiR4AAIseAACLHgAAjR4AAI0eAACPHgAAjx4AAJEeAACRHgAAkx4AAJMeAACVHgAAnR4AAJ8eAACfHgAAoR4AAKEeAACjHgAAox4AAKUeAAClHgAApx4AAKceAACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAhx8AAJAfAACXHwAAoB8AAKcfAACwHwAAtB8AALYfAAC3HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAA0B8AANMfAADWHwAA1x8AAOAfAADnHwAA8h8AAPQfAAD2HwAA9x8AAHEgAABxIAAAfyAAAH8gAACQIAAAnCAAAAohAAAKIQAADiEAAA8hAAATIQAAEyEAAC8hAAAvIQAANCEAADQhAAA5IQAAOSEAADwhAAA9IQAARiEAAEkhAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHEsAABxLAAAcywAAHQsAAB2LAAAfSwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOQsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAnaYAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAxpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacA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XR8AAF8fAAB9HwAAgB8AALQfAAC2HwAAxB8AAMYfAADTHwAA1h8AANsfAADdHwAA7x8AAPIfAAD0HwAA9h8AAP4fAAAAIAAAJyAAACogAABkIAAAZiAAAHEgAAB0IAAAjiAAAJAgAACcIAAAoCAAAMAgAADQIAAA8CAAAAAhAACLIQAAkCEAACYkAABAJAAASiQAAGAkAABzKwAAdisAAJUrAACXKwAA8ywAAPksAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAHAtAAB/LQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAADgLQAAXS4AAIAuAACZLgAAmy4AAPMuAAAALwAA1S8AAPAvAAD7LwAAADAAAD8wAABBMAAAljAAAJkwAAD/MAAABTEAAC8xAAAxMQAAjjEAAJAxAADjMQAA8DEAAB4yAAAgMgAAjKQAAJCkAADGpAAA0KQAACumAABApgAA96YAAACnAADKpwAA0KcAANGnAADTpwAA06cAANWnAADZpwAA8qcAACyoAAAwqAAAOagAAECoAAB3qAAAgKgAAMWoAADOqAAA2agAAOCoAABTqQAAX6kAAHypAACAqQAAzakAAM+pAADZqQAA3qkAAP6pAAAAqgAANqoAAECqAABNqgAAUKoAAFmqAABcqgAAwqoAANuqAAD2qgAAAasAAAarAAAJqwAADqsAABGrAAAWqwAAIKsAACarAAAoqwAALqsAADCrAABrqwAAcKsAAO2rAADwqwAA+asAAACsAACj1wAAsNcAAMbXAADL1wAA+9cAAADgAABt+gAAcPoAANn6AAAA+wAABvsAABP7AAAX+wAAHfsAADb7AAA4+wAAPPsAAD77AAA++wAAQPsAAEH7AABD+wAARPsAAEb7AADC+wAA0/sAAI/9AACS/QAAx/0AAM/9AADP/QAA8P0AABn+AAAg/gAAUv4AAFT+AABm/gAAaP4AAGv+AABw/gAAdP4AAHb+AAD8/gAA//4AAP/+AAAB/wAAvv8AAML/AADH/wAAyv8AAM//AADS/wAA1/8AANr/AADc/wAA4P8AAOb/AADo/wAA7v8AAPn/AAD9/wAAAAABAAsAAQANAAEAJgABACgAAQA6AAEA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AAIBAAACAQAABAEAAAQBAAAGAQAABgEAAAgBAAAIAQAACgEAAAoBAAAMAQAADAEAAA4BAAAOAQAAEAEAABABAAASAQAAEgEAABQBAAAUAQAAFgEAABYBAAAYAQAAGAEAABoBAAAaAQAAHAEAABwBAAAeAQAAHgEAACABAAAgAQAAIgEAACIBAAAkAQAAJAEAACYBAAAmAQAAKAEAACgBAAAqAQAAKgEAACwBAAAsAQAALgEAAC4BAAAwAQAAMAEAADIBAAAyAQAANAEAADQBAAA2AQAANgEAADkBAAA5AQAAOwEAADsBAAA9AQAAPQEAAD8BAAA/AQAAQQEAAEEBAABDAQAAQwEAAEUBAABFAQAARwEAAEcBAABKAQAASgEAAEwBAABMAQAATgEAAE4BAABQAQAAUAEAAFIBAABSAQAAVAEAAFQBAABWAQAAVgEAAFgBAABYAQAAWgEAAFoBAABcAQAAXAEAAF4BAABeAQAAYAEAAGABAABiAQAAYgEAAGQBAABkAQAAZgEAAGYBAABoAQAAaAEAAGoBAABqAQAAbAEAAGwBAABuAQAAbgEAAHABAABwAQAAcgEAAHIBAAB0AQAAdAEAAHYBAAB2AQAAeAEAAHkBAAB7AQAAewEAAH0BAAB9AQAAgQEAAIIBAACEAQAAhAEAAIYBAACHAQAAiQEAAIsBAACOAQAAkQEAAJMBAACUAQAAlgEAAJgBAACcAQAAnQEAAJ8BAACgAQAAogEAAKIBAACkAQAApAEAAKYBAACnAQAAqQEAAKkBAACsAQAArAEAAK4BAACvAQAAsQEAALMBAAC1AQAAtQEAALcBAAC4AQAAvAEAALwBAADEAQAAxAEAAMcBAADHAQAAygEAAMoBAADNAQAAzQEAAM8BAADPAQAA0QEAANEBAADTAQAA0wEAANUBAADVAQAA1wEAANcBAADZAQAA2QEAANsBAADbAQAA3gEAAN4BAADgAQAA4AEAAOIBAADiAQAA5AEAAOQBAADmAQAA5gEAAOgBAADoAQAA6gEAAOoBAADsAQAA7AEAAO4BAADuAQAA8QEAAPEBAAD0AQAA9AEAAPYBAAD4AQAA+gEAAPoBAAD8AQAA/AEAAP4BAAD+AQAAAAIAAAACAAACAgAAAgIAAAQCAAAEAgAABgIAAAYCAAAIAgAACAIAAAoCAAAKAgAADAIAAAwCAAAOAgAADgIAABACAAAQAgAAEgIAABICAAAUAgAAFAIAABYCAAAWAgAAGAIAABgCAAAaAgAAGgIAABwCAAAcAgAAHgIAAB4CAAAgAgAAIAIAACICAAAiAgAAJAIAACQCAAAmAgAAJgIAACgCAAAoAgAAKgIAACoCAAAsAgAALAIAAC4CAAAuAgAAMAIAADACAAAyAgAAMgIAADoCAAA7AgAAPQIAAD4CAABBAgAAQQIAAEMCAABGAgAASAIAAEgCAABKAgAASgIAAEwCAABMAgAATgIAAE4CAABwAwAAcAMAAHIDAAByAwAAdgMAAHYDAAB/AwAAfwMAAIYDAACGAwAAiAMAAIoDAACMAwAAjAMAAI4DAACPAwAAkQMAAKEDAACjAwAAqwMAAM8DAADPAwAA0gMAANQDAADYAwAA2AMAANoDAADaAwAA3AMAANwDAADeAwAA3gMAAOADAADgAwAA4gMAAOIDAADkAwAA5AMAAOYDAADmAwAA6AMAAOgDAADqAwAA6gMAAOwDAADsAwAA7gMAAO4DAAD0AwAA9AMAAPcDAAD3AwAA+QMAAPoDAAD9AwAALwQAAGAEAABgBAAAYgQAAGIEAABkBAAAZAQAAGYEAABmBAAAaAQAAGgEAABqBAAAagQAAGwEAABsBAAAbgQAAG4EAABwBAAAcAQAAHIEAAByBAAAdAQAAHQEAAB2BAAAdgQAAHgEAAB4BAAAegQAAHoEAAB8BAAAfAQAAH4EAAB+BAAAgAQAAIAEAACKBAAAigQAAIwEAACMBAAAjgQAAI4EAACQBAAAkAQAAJIEAACSBAAAlAQAAJQEAACWBAAAlgQAAJgEAACYBAAAmgQAAJoEAACcBAAAnAQAAJ4EAACeBAAAoAQAAKAEAACiBAAAogQAAKQEAACkBAAApgQAAKYEAACoBAAAqAQAAKoEAACqBAAArAQAAKwEAACuBAAArgQAALAEAACwBAAAsgQAALIEAAC0BAAAtAQAALYEAAC2BAAAuAQAALgEAAC6BAAAugQAALwEAAC8BAAAvgQAAL4EAADABAAAwQQAAMMEAADDBAAAxQQAAMUEAADHBAAAxwQAAMkEAADJBAAAywQAAMsEAADNBAAAzQQAANAEAADQBAAA0gQAANIEAADUBAAA1AQAANYEAADWBAAA2AQAANgEAADaBAAA2gQAANwEAADcBAAA3gQAAN4EAADgBAAA4AQAAOIEAADiBAAA5AQAAOQEAADmBAAA5gQAAOgEAADoBAAA6gQAAOoEAADsBAAA7AQAAO4EAADuBAAA8AQAAPAEAADyBAAA8gQAAPQEAAD0BAAA9gQAAPYEAAD4BAAA+AQAAPoEAAD6BAAA/AQAAPwEAAD+BAAA/gQAAAAFAAAABQAAAgUAAAIFAAAEBQAABAUAAAYFAAAGBQAACAUAAAgFAAAKBQAACgUAAAwFAAAMBQAADgUAAA4FAAAQBQAAEAUAABIFAAASBQAAFAUAABQFAAAWBQAAFgUAABgFAAAYBQAAGgUAABoFAAAcBQAAHAUAAB4FAAAeBQAAIAUAACAFAAAiBQAAIgUAACQFAAAkBQAAJgUAACYFAAAoBQAAKAUAACoFAAAqBQAALAUAACwFAAAuBQAALgUAADEFAABWBQAAoBAAAMUQAADHEAAAxxAAAM0QAADNEAAAoBMAAPUTAACQHAAAuhwAAL0cAAC/HAAAAB4AAAAeAAACHgAAAh4AAAQeAAAEHgAABh4AAAYeAAAIHgAACB4AAAoeAAAKHgAADB4AAAweAAAOHgAADh4AABAeAAAQHgAAEh4AABIeAAAUHgAAFB4AABYeAAAWHgAAGB4AABgeAAAaHgAAGh4AABweAAAcHgAAHh4AAB4eAAAgHgAAIB4AACIeAAAiHgAAJB4AACQeAAAmHgAAJh4AACgeAAAoHgAAKh4AACoeAAAsHgAALB4AAC4eAAAuHgAAMB4AADAeAAAyHgAAMh4AADQeAAA0HgAANh4AADYeAAA4HgAAOB4AADoeAAA6HgAAPB4AADweAAA+HgAAPh4AAEAeAABAHgAAQh4AAEIeAABEHgAARB4AAEYeAABGHgAASB4AAEgeAABKHgAASh4AAEweAABMHgAATh4AAE4eAABQHgAAUB4AAFIeAABSHgAAVB4AAFQeAABWHgAAVh4AAFgeAABYHgAAWh4AAFoeAABcHgAAXB4AAF4eAABeHgAAYB4AAGAeAABiHgAAYh4AAGQeAABkHgAAZh4AAGYeAABoHgAAaB4AAGoeAABqHgAAbB4AAGweAABuHgAAbh4AAHAeAABwHgAAch4AAHIeAAB0HgAAdB4AAHYeAAB2HgAAeB4AAHgeAAB6HgAAeh4AAHweAAB8HgAAfh4AAH4eAACAHgAAgB4AAIIeAACCHgAAhB4AAIQeAACGHgAAhh4AAIgeAACIHgAAih4AAIoeAACMHgAAjB4AAI4eAACOHgAAkB4AAJAeAACSHgAAkh4AAJQeAACUHgAAnh4AAJ4eAACgHgAAoB4AAKIeAACiHgAApB4AAKQeAACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AALgfAAC7HwAAyB8AAMsfAADYHwAA2x8AAOgfAADsHwAA+B8AAPsfAAACIQAAAiEAAAchAAAHIQAACyEAAA0hAAAQIQAAEiEAABUhAAAVIQAAGSEAAB0hAAAkIQAAJCEAACYhAAAmIQAAKCEAACghAAAqIQAALSEAADAhAAAzIQAAPiEAAD8hAABFIQAARSEAAGAhAABvIQAAgyEAAIMhAAC2JAAAzyQAAAAsAAAvLAAAYCwAAGAsAABiLAAAZCwAAGcsAABnLAAAaSwAAGksAABrLAAAaywAAG0sAABwLAAAciwAAHIsAAB1LAAAdSwAAH4sAACALAAAgiwAAIIsAACELAAAhCwAAIYsAACGLAAAiCwAAIgsAACKLAAAiiwAAIwsAACMLAAAjiwAAI4sAACQLAAAkCwAAJIsAACSLAAAlCwAAJQsAACWLAAAliwAAJgsAACYLAAAmiwAAJosAACcLAAAnCwAAJ4sAACeLAAAoCwAAKAsAACiLAAAoiwAAKQsAACkLAAApiwAAKYsAACoLAAAqCwAAKosAACqLAAArCwAAKwsAACuLAAAriwAALAsAACwLAAAsiwAALIsAAC0LAAAtCwAALYsAAC2LAAAuCwAALgsAAC6LAAAuiwAALwsAAC8LAAAviwAAL4sAADALAAAwCwAAMIsAADCLAAAxCwAAMQsAADGLAAAxiwAAMgsAADILAAAyiwAAMosAADMLAAAzCwAAM4sAADOLAAA0CwAANAsAADSLAAA0iwAANQsAADULAAA1iwAANYsAADYLAAA2CwAANosAADaLAAA3CwAANwsAADeLAAA3iwAAOAsAADgLAAA4iwAAOIsAADrLAAA6ywAAO0sAADtLAAA8iwAAPIsAABApgAAQKYAAEKmAABCpgAARKYAAESmAABGpgAARqYAAEimAABIpgAASqYAAEqmAABMpgAATKYAAE6mAABOpgAAUKYAAFCmAABSpgAAUqYAAFSmAABUpgAAVqYAAFamAABYpgAAWKYAAFqmAABapgAAXKYAAFymAABepgAAXqYAAGCmAABgpgAAYqYAAGKmAABkpgAAZKYAAGamAABmpgAAaKYAAGimAABqpgAAaqYAAGymAABspgAAgKYAAICmAACCpgAAgqYAAISmAACEpgAAhqYAAIamAACIpgAAiKYAAIqmAACKpgAAjKYAAIymAACOpgAAjqYAAJCmAACQpgAAkqYAAJKmAACUpgAAlKYAAJamAACWpgAAmKYAAJimAACapgAAmqYAACKnAAAipwAAJKcAACSnAAAmpwAAJqcAACinAAAopwAAKqcAACqnAAAspwAALKcAAC6nAAAupwAAMqcAADKnAAA0pwAANKcAADanAAA2pwAAOKcAADinAAA6pwAAOqcAADynAAA8pwAAPqcAAD6nAABApwAAQKcAAEKnAABCpwAARKcAAESnAABGpwAARqcAAEinAABIpwAASqcAAEqnAABMpwAATKcAAE6nAABOpwAAUKcAAFCnAABSpwAAUqcAAFSnAABUpwAAVqcAAFanAABYpwAAWKcAAFqnAABapwAAXKcAAFynAABepwAAXqcAAGCnAABgpwAAYqcAAGKnAABkpwAAZKcAAGanAABmpwAAaKcAAGinAABqpwAAaqcAAGynAABspwAAbqcAAG6nAAB5pwAAeacAAHunAAB7pwAAfacAAH6nAACApwAAgKcAAIKnAACCpwAAhKcAAISnAACGpwAAhqcAAIunAACLpwAAjacAAI2nAACQpwAAkKcAAJKnAACSpwAAlqcAAJanAACYpwAAmKcAAJqnAACapwAAnKcAAJynAACepwAAnqcAAKCnAACgpwAAoqcAAKKnAACkpwAApKcAAKanAACmpwAAqKcAAKinAACqpwAArqcAALCnAAC0pwAAtqcAALanAAC4pwAAuKcAALqnAAC6pwAAvKcAALynAAC+pwAAvqcAAMCnAADApwAAwqcAAMKnAADEpwAAx6cAAMmnAADJpwAA0KcAANCnAADWpwAA1qcAANinAADYpwAA9acAAPWnAAAh/wAAOv8AAAAEAQAnBAEAsAQBANMEAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAIAMAQCyDAEAoBgBAL8YAQBAbgEAX24BAADUAQAZ1AEANNQBAE3UAQBo1AEAgdQBAJzUAQCc1AEAntQBAJ/UAQCi1AEAotQBAKXUAQCm1AEAqdQBAKzUAQCu1AEAtdQBANDUAQDp1AEABNUBAAXVAQAH1QEACtUBAA3VAQAU1QEAFtUBABzVAQA41QEAOdUBADvVAQA+1QEAQNUBAETVAQBG1QEARtUBAErVAQBQ1QEAbNUBAIXVAQCg1QEAudUBANTVAQDt1QEACNYBACHWAQA81gEAVdYBAHDWAQCJ1gEAqNYBAMDWAQDi1gEA+tYBABzXAQA01wEAVtcBAG7XAQCQ1wEAqNcBAMrXAQDK1wEAAOkBACHpAQAw8QEASfEBAFDxAQBp8QEAcPEBAInxAQAAAAAAAwAAADAAAAA5AAAAQQAAAEYAAABhAAAAZgAAAAAAAAD2AgAAMAAAADkAAABBAAAAWgAAAF8AAABfAAAAYQAAAHoAAACqAAAAqgAAALUAAAC1AAAAugAAALoAAADAAAAA1gAAANgAAAD2AAAA+AAAAMECAADGAgAA0QIAAOACAADkAgAA7AIAAOwCAADuAgAA7gIAAAADAAB0AwAAdgMAAHcDAAB6AwAAfQMAAH8DAAB/AwAAhgMAAIYDAACIAwAAigMAAIwDAACMAwAAjgMAAKEDAACjAwAA9QMAAPcDAACBBAAAgwQAAC8FAAAxBQAAVgUAAFkFAABZBQAAYAUAAIgFAACRBQAAvQUAAL8FAAC/BQAAwQUAAMIFAADEBQAAxQUAAMcFAADHBQAA0AUAAOoFAADvBQAA8gUAABAGAAAaBgAAIAYAAGkGAABuBgAA0wYAANUGAADcBgAA3wYAAOgGAADqBgAA/AYAAP8GAAD/BgAAEAcAAEoHAABNBwAAsQcAAMAHAAD1BwAA+gcAAPoHAAD9BwAA/QcAAAAIAAAtCAAAQAgAAFsIAABgCAAAaggAAHAIAACHCAAAiQgAAI4IAACYCAAA4QgAAOMIAABjCQAAZgkAAG8JAABxCQAAgwkAAIUJAACMCQAAjwkAAJAJAACTCQAAqAkAAKoJAACwCQAAsgkAALIJAAC2CQAAuQkAALwJAADECQAAxwkAAMgJAADLCQAAzgkAANcJAADXCQAA3AkAAN0JAADfCQAA4wkAAOYJAADxCQAA/AkAAPwJAAD+CQAA/gkAAAEKAAADCgAABQoAAAoKAAAPCgAAEAoAABMKAAAoCgAAKgoAADAKAAAyCgAAMwoAADUKAAA2CgAAOAoAADkKAAA8CgAAPAoAAD4KAABCCgAARwoAAEgKAABLCgAATQoAAFEKAABRCgAAWQoAAFwKAABeCgAAXgoAAGYKAAB1CgAAgQoAAIMKAACFCgAAjQoAAI8KAACRCgAAkwoAAKgKAACqCgAAsAoAALIKAACzCgAAtQoAALkKAAC8CgAAxQoAAMcKAADJCgAAywoAAM0KAADQCgAA0AoAAOAKAADjCgAA5goAAO8KAAD5CgAA/woAAAELAAADCwAABQsAAAwLAAAPCwAAEAsAABMLAAAoCwAAKgsAADALAAAyCwAAMwsAADULAAA5CwAAPAsAAEQLAABHCwAASAsAAEsLAABNCwAAVQsAAFcLAABcCwAAXQsAAF8LAABjCwAAZgsAAG8LAABxCwAAcQsAAIILAACDCwAAhQsAAIoLAACOCwAAkAsAAJILAACVCwAAmQsAAJoLAACcCwAAnAsAAJ4LAACfCwAAowsAAKQLAACoCwAAqgsAAK4LAAC5CwAAvgsAAMILAADGCwAAyAsAAMoLAADNCwAA0AsAANALAADXCwAA1wsAAOYLAADvCwAAAAwAAAwMAAAODAAAEAwAABIMAAAoDAAAKgwAADkMAAA8DAAARAwAAEYMAABIDAAASgwAAE0MAABVDAAAVgwAAFgMAABaDAAAXQwAAF0MAABgDAAAYwwAAGYMAABvDAAAgAwAAIMMAACFDAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvAwAAMQMAADGDAAAyAwAAMoMAADNDAAA1QwAANYMAADdDAAA3gwAAOAMAADjDAAA5gwAAO8MAADxDAAA8gwAAAANAAAMDQAADg0AABANAAASDQAARA0AAEYNAABIDQAASg0AAE4NAABUDQAAVw0AAF8NAABjDQAAZg0AAG8NAAB6DQAAfw0AAIENAACDDQAAhQ0AAJYNAACaDQAAsQ0AALMNAAC7DQAAvQ0AAL0NAADADQAAxg0AAMoNAADKDQAAzw0AANQNAADWDQAA1g0AANgNAADfDQAA5g0AAO8NAADyDQAA8w0AAAEOAAA6DgAAQA4AAE4OAABQDgAAWQ4AAIEOAACCDgAAhA4AAIQOAACGDgAAig4AAIwOAACjDgAApQ4AAKUOAACnDgAAvQ4AAMAOAADEDgAAxg4AAMYOAADIDgAAzQ4AANAOAADZDgAA3A4AAN8OAAAADwAAAA8AABgPAAAZDwAAIA8AACkPAAA1DwAANQ8AADcPAAA3DwAAOQ8AADkPAAA+DwAARw8AAEkPAABsDwAAcQ8AAIQPAACGDwAAlw8AAJkPAAC8DwAAxg8AAMYPAAAAEAAASRAAAFAQAACdEAAAoBAAAMUQAADHEAAAxxAAAM0QAADNEAAA0BAAAPoQAAD8EAAASBIAAEoSAABNEgAAUBIAAFYSAABYEgAAWBIAAFoSAABdEgAAYBIAAIgSAACKEgAAjRIAAJASAACwEgAAshIAALUSAAC4EgAAvhIAAMASAADAEgAAwhIAAMUSAADIEgAA1hIAANgSAAAQEwAAEhMAABUTAAAYEwAAWhMAAF0TAABfEwAAgBMAAI8TAACgEwAA9RMAAPgTAAD9EwAAARQAAGwWAABvFgAAfxYAAIEWAACaFgAAoBYAAOoWAADuFgAA+BYAAAAXAAAVFwAAHxcAADQXAABAFwAAUxcAAGAXAABsFwAAbhcAAHAXAAByFwAAcxcAAIAXAADTFwAA1xcAANcXAADcFwAA3RcAAOAXAADpFwAACxgAAA0YAAAPGAAAGRgAACAYAAB4GAAAgBgAAKoYAACwGAAA9RgAAAAZAAAeGQAAIBkAACsZAAAwGQAAOxkAAEYZAABtGQAAcBkAAHQZAACAGQAAqxkAALAZAADJGQAA0BkAANkZAAAAGgAAGxoAACAaAABeGgAAYBoAAHwaAAB/GgAAiRoAAJAaAACZGgAApxoAAKcaAACwGgAAzhoAAAAbAABMGwAAUBsAAFkbAABrGwAAcxsAAIAbAADzGwAAABwAADccAABAHAAASRwAAE0cAAB9HAAAgBwAAIgcAACQHAAAuhwAAL0cAAC/HAAA0BwAANIcAADUHAAA+hwAAAAdAAAVHwAAGB8AAB0fAAAgHwAARR8AAEgfAABNHwAAUB8AAFcfAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAfR8AAIAfAAC0HwAAth8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMwfAADQHwAA0x8AANYfAADbHwAA4B8AAOwfAADyHwAA9B8AAPYfAAD8HwAAPyAAAEAgAABUIAAAVCAAAHEgAABxIAAAfyAAAH8gAACQIAAAnCAAANAgAADwIAAAAiEAAAIhAAAHIQAAByEAAAohAAATIQAAFSEAABUhAAAZIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAAtIQAALyEAADkhAAA8IQAAPyEAAEUhAABJIQAATiEAAE4hAABgIQAAiCEAALYkAADpJAAAACwAAOQsAADrLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAG8tAAB/LQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAADgLQAA/y0AAC8uAAAvLgAABTAAAAcwAAAhMAAALzAAADEwAAA1MAAAODAAADwwAABBMAAAljAAAJkwAACaMAAAnTAAAJ8wAAChMAAA+jAAAPwwAAD/MAAABTEAAC8xAAAxMQAAjjEAAKAxAAC/MQAA8DEAAP8xAAAANAAAv00AAABOAACMpAAA0KQAAP2kAAAApQAADKYAABCmAAArpgAAQKYAAHKmAAB0pgAAfaYAAH+mAADxpgAAF6cAAB+nAAAipwAAiKcAAIunAADKpwAA0KcA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AIQDAACKAwAAjAMAAIwDAACOAwAAoQMAAKMDAAAvBQAAMQUAAFYFAABZBQAAigUAAI0FAACPBQAAkQUAAMcFAADQBQAA6gUAAO8FAAD0BQAAAAYAAA0HAAAPBwAASgcAAE0HAACxBwAAwAcAAPoHAAD9BwAALQgAADAIAAA+CAAAQAgAAFsIAABeCAAAXggAAGAIAABqCAAAcAgAAI4IAACQCAAAkQgAAJgIAACDCQAAhQkAAIwJAACPCQAAkAkAAJMJAACoCQAAqgkAALAJAACyCQAAsgkAALYJAAC5CQAAvAkAAMQJAADHCQAAyAkAAMsJAADOCQAA1wkAANcJAADcCQAA3QkAAN8JAADjCQAA5gkAAP4JAAABCgAAAwoAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdgoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADxCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAAB3CwAAggsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAAC+CwAAwgsAAMYLAADICwAAygsAAM0LAADQCwAA0AsAANcLAADXCwAA5gsAAPoLAAAADAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAOQwAADwMAABEDAAARgwAAEgMAABKDAAATQwAAFUMAABWDAAAWAwAAFoMAABdDAAAXQwAAGAMAABjDAAAZgwAAG8MAAB3DAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvAwAAMQMAADGDAAAyAwAAMoMAADNDAAA1QwAANYMAADdDAAA3gwAAOAMAADjDAAA5gwAAO8MAADxDAAA8gwAAAANAAAMDQAADg0AABANAAASDQAARA0AAEYNAABIDQAASg0AAE8NAABUDQAAYw0AAGYNAAB/DQAAgQ0AAIMNAACFDQAAlg0AAJoNAACxDQAAsw0AALsNAAC9DQAAvQ0AAMANAADGDQAAyg0AAMoNAADPDQAA1A0AANYNAADWDQAA2A0AAN8NAADmDQAA7w0AAPINAAD0DQAAAQ4AADoOAAA/DgAAWw4AAIEOAACCDgAAhA4AAIQOAACGDgAAig4AAIwOAACjDgAApQ4AAKUOAACnDgAAvQ4AAMAOAADEDgAAxg4AAMYOAADIDgAAzQ4AANAOAADZDgAA3A4AAN8OAAAADwAARw8AAEkPAABsDwAAcQ8AAJcPAACZDwAAvA8AAL4PAADMDwAAzg8AANoPAAAAEAAAxRAAAMcQAADHEAAAzRAAAM0QAADQEAAASBIAAEoSAABNEgAAUBIAAFYSAABYEgAAWBIAAFoSAABdEgAAYBIAAIgSAACKEgAAjRIAAJASAACwEgAAshIAALUSAAC4EgAAvhIAAMASAADAEgAAwhIAAMUSAADIEgAA1hIAANgSAAAQEwAAEhMAABUTAAAYEwAAWhMAAF0TAAB8EwAAgBMAAJkTAACgEwAA9RMAAPgTAAD9EwAAABQAAJwWAACgFgAA+BYAAAAXAAAVFwAAHxcAADYXAABAFwAAUxcAAGAXAABsFwAAbhcAAHAXAAByFwAAcxcAAIAXAADdFwAA4BcAAOkXAADwFwAA+RcAAAAYAAAZGAAAIBgAAHgYAACAGAAAqhgAALAYAAD1GAAAABkAAB4ZAAAgGQAAKxkAADAZAAA7GQAAQBkAAEAZAABEGQAAbRkAAHAZAAB0GQAAgBkAAKsZAACwGQAAyRkAANAZAADaGQAA3hkAABsaAAAeGgAAXhoAAGAaAAB8GgAAfxoAAIkaAACQGgAAmRoAAKAaAACtGgAAsBoAAM4aAAAAGwAATBsAAFAbAAB+GwAAgBsAAPMbAAD8GwAANxwAADscAABJHAAATRwAAIgcAACQHAAAuhwAAL0cAADHHAAA0BwAAPocAAAAHQAAFR8AABgfAAAdHwAAIB8AAEUfAABIHwAATR8AAFAfAABXHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAH0fAACAHwAAtB8AALYfAADEHwAAxh8AANMfAADWHwAA2x8AAN0fAADvHwAA8h8AAPQfAAD2HwAA/h8AAAAgAABkIAAAZiAAAHEgAAB0IAAAjiAAAJAgAACcIAAAoCAAAMAgAADQIAAA8CAAAAAhAACLIQAAkCEAACYkAABAJAAASiQAAGAkAABzKwAAdisAAJUrAACXKwAA8ywAAPksAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAHAtAAB/LQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAADgLQAAXS4AAIAuAACZLgAAmy4AAPMuAAAALwAA1S8AAPAvAAD7LwAAADAAAD8wAABBMAAAljAAAJkwAAD/MAAABTEAAC8xAAAxMQAAjjEAAJAxAADjMQAA8DEAAB4yAAAgMgAAjKQAAJCkAADGpAAA0KQAACumAABApgAA96YAAACnAADKpwAA0KcAANGnAADTpwAA06cAANWnAADZpwAA8qcAACyoAAAwqAAAOagAAECoAAB3qAAAgKgAAMWoAADOqAAA2agAAOCoAABTqQAAX6kAAHypAACAqQAAzakAAM+pAADZqQAA3qkAAP6pAAAAqgAANqoAAECqAABNqgAAUKoAAFmqAABcqgAAwqoAANuqAAD2qgAAAasAAAarAAAJqwAADqsAABGrAAAWqwAAIKsAACarAAAoqwAALqsAADCrAABrqwAAcKsAAO2rAADwqwAA+asAAACsAACj1wAAsNcAAMbXAADL1wAA+9cAAADYAABt+gAAcPoAANn6AAAA+wAABvsAABP7AAAX+wAAHfsAADb7AAA4+wAAPPsAAD77AAA++wAAQPsAAEH7AABD+wAARPsAAEb7AADC+wAA0/sAAI/9AACS/QAAx/0AAM/9AADP/QAA8P0AABn+AAAg/gAAUv4AAFT+AABm/gAAaP4AAGv+AABw/gAAdP4AAHb+AAD8/gAA//4AAP/+AAAB/wAAvv8AAML/AADH/wAAyv8AAM//AADS/wAA1/8AANr/AADc/wAA4P8AAOb/AADo/wAA7v8AAPn/AAD9/wAAAAABAAsAAQANAAEAJgABACgAAQA6AAEAPAABAD0AAQA/AAEATQABAFAAAQBdAAEAgAABAPoAAQAAAQEAAgEBAAcBAQAzAQEANwEBAI4BAQCQAQEAnAEBAKABAQCgAQEA0AEBAP0BAQCAAgEAnAIBAKACAQDQAgEA4AIBAPsCAQAAAwEAIwMBAC0DAQBKAwEAUAMBAHoDAQCAAwEAnQMBAJ8DAQDDAwEAyAMBANUDAQAABAEAnQQBAKAEAQCpBAEAsAQBANMEAQDYBAEA+wQBAAAFAQAnBQEAMAUBAGMFAQBvBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAAAYBADYHAQBABwEAVQcBAGAHAQBnBwEAgAcBAIUHAQCHBwEAsAcBALIHAQC6BwEAAAgBAAUIAQAICAEACAgBAAoIAQA1CAEANwgBADgIAQA8CAEAPAgBAD8IAQBVCAEAVwgBAJ4IAQCnCAEArwgBAOAIAQDyCAEA9AgBAPUIAQD7CAEAGwkBAB8JAQA5CQEAPwkBAD8JAQCACQEAtwkBALwJAQDPCQEA0gkBAAMKAQAFCgEABgoBAAwKAQATCgEAFQoBABcKAQAZCgEANQoBADgKAQA6CgEAPwoBAEgKAQBQCgEAWAoBAGAKAQCfCgEAwAoBAOYKAQDrCgEA9goBAAALAQA1CwEAOQsBAFULAQBYCwEAcgsBAHgLAQCRCwEAmQsBAJwLAQCpCwEArwsBAAAMAQBIDAEAgAwBALIMAQDADAEA8gwBAPoMAQAnDQEAMA0BADkNAQBgDgEAfg4BAIAOAQCpDgEAqw4BAK0OAQCwDgEAsQ4BAAAPAQAnDwEAMA8BAFkPAQBwDwEAiQ8BALAPAQDLDwEA4A8BAPYPAQAAEAEATRABAFIQAQB1EAEAfxABAMIQAQDNEAEAzRABANAQAQDoEAEA8BABAPkQAQAAEQEANBEBADYRAQBHEQEAUBEBAHYRAQCAEQEA3xEBAOERAQD0EQEAABIBABESAQATEgEAPhIBAIASAQCGEgEAiBIBAIgSAQCKEgEAjRIBAI8SAQCdEgEAnxIBAKkSAQCwEgEA6hIBAPASAQD5EgEAABMBAAMTAQAFEwEADBMBAA8TAQAQEwEAExMBACgTAQAqEwEAMBMBADITAQAzEwEANRMBADkTAQA7EwEARBMBAEcTAQBIEwEASxMBAE0TAQBQEwEAUBMBAFcTAQBXEwEAXRMBAGMTAQBmEwEAbBMBAHATAQB0EwEAABQBAFsUAQBdFAEAYRQBAIAUAQDHFAEA0BQBANkUAQCAFQEAtRUBALgVAQDdFQEAABYBAEQWAQBQFgEAWRYBAGAWAQBsFgEAgBYBALkWAQDAFgEAyRYBAAAXAQAaFwEAHRcBACsXAQAwFwEARhcBAAAYAQA7GAEAoBgBAPIYAQD/GAEABhkBAAkZAQAJGQEADBkBABMZAQAVGQEAFhkBABgZAQA1GQEANxkBADgZAQA7GQEARhkBAFAZAQBZGQEAoBkBAKcZAQCqGQEA1xkBANoZAQDkGQEAABoBAEcaAQBQGgEAohoBALAaAQD4GgEAABwBAAgcAQAKHAEANhwBADgcAQBFHAEAUBwBAGwcAQBwHAEAjxwBAJIcAQCnHAEAqRwBALYcAQAAHQEABh0BAAgdAQAJHQEACx0BADYdAQA6HQEAOh0BADwdAQA9HQEAPx0BAEcdAQBQHQEAWR0BAGAdAQBlHQEAZx0BAGgdAQBqHQEAjh0BAJAdAQCRHQEAkx0BAJgdAQCgHQEAqR0BAOAeAQD4HgEAsB8BALAfAQDAHwEA8R8BAP8fAQCZIwEAACQBAG4kAQBwJAEAdCQBAIAkAQBDJQEAkC8BAPIvAQAAMAEALjQBADA0AQA4NAEAAEQBAEZGAQAAaAEAOGoBAEBqAQBeagEAYGoBAGlqAQBuagEAvmoBAMBqAQDJagEA0GoBAO1qAQDwagEA9WoBAABrAQBFawEAUGsBAFlrAQBbawEAYWsBAGNrAQB3awEAfWsBAI9rAQBAbgEAmm4BAABvAQBKbwEAT28BAIdvAQCPbwEAn28BAOBvAQDkbwEA8G8BAPFvAQAAcAEA94cBAACIAQDVjAEAAI0BAAiNAQDwrwEA868BAPWvAQD7rwEA/a8BAP6vAQAAsAEAIrEBAFCxAQBSsQEAZLEBAGexAQBwsQEA+7IBAAC8AQBqvAEAcLwBAHy8AQCAvAEAiLwBAJC8AQCZvAEAnLwBAKO8AQAAzwEALc8BADDPAQBGzwEAUM8BAMPPAQAA0AEA9dABAADRAQAm0QEAKdEBAOrRAQAA0gEARdIBAODSAQDz0gEAANMBAFbTAQBg0wEAeNMBAADUAQBU1AEAVtQBAJzUAQCe1AEAn9QBAKLUAQCi1AEApdQBAKbUAQCp1AEArNQBAK7UAQC51AEAu9QBALvUAQC91AEAw9QBAMXUAQAF1QEAB9UBAArVAQAN1QEAFNUBABbVAQAc1QEAHtUBADnVAQA71QEAPtUBAEDVAQBE1QEARtUBAEbVAQBK1QEAUNUBAFLVAQCl1gEAqNYBAMvXAQDO1wEAi9oBAJvaAQCf2gEAodoBAK/aAQAA3wEAHt8BAADgAQAG4AEACOABABjgAQAb4AEAIeABACPgAQAk4AEAJuABACrgAQAA4QEALOEBADDhAQA94QEAQOEBAEnhAQBO4QEAT+EBAJDiAQCu4gEAwOIBAPniAQD/4gEA/+IBAODnAQDm5wEA6OcBAOvnAQDt5wEA7ucBAPDnAQD+5wEAAOgBAMToAQDH6AEA1ugBAADpAQBL6QEAUOkBAFnpAQBe6QEAX+kBAHHsAQC07AEAAe0BAD3tAQAA7gEAA+4BAAXuAQAf7gEAIe4BACLuAQAk7gEAJO4BACfuAQAn7gEAKe4BADLuAQA07gEAN+4BADnuAQA57gEAO+4BADvuAQBC7gEAQu4BAEfuAQBH7gEASe4BAEnuAQBL7gEAS+4BAE3uAQBP7gEAUe4BAFLuAQBU7gEAVO4BAFfuAQBX7gEAWe4BAFnuAQBb7gEAW+4BAF3uAQBd7gEAX+4BAF/uAQBh7gEAYu4BAGTuAQBk7gEAZ+4BAGruAQBs7gEAcu4BAHTuAQB37gEAee4BAHzuAQB+7gEAfu4BAIDuAQCJ7gEAi+4BAJvuAQCh7gEAo+4BAKXuAQCp7gEAq+4BALvuAQDw7gEA8e4BAADwAQAr8AEAMPABAJPwAQCg8AEArvABALHwAQC/8AEAwfABAM/wAQDR8AEA9fABAADxAQCt8QEA5vEBAALyAQAQ8gEAO/IBAEDyAQBI8gEAUPIBAFHyAQBg8gEAZfIBAADzAQDX9gEA3fYBAOz2AQDw9gEA/PYBAAD3AQBz9wEAgPcBANj3AQDg9wEA6/cBAPD3AQDw9wEAAPgBAAv4AQAQ+AEAR/gBAFD4AQBZ+AEAYPgBAIf4AQCQ+AEArfgBALD4AQCx+AEAAPkBAFP6AQBg+gEAbfoBAHD6AQB0+gEAePoBAHz6AQCA+gEAhvoBAJD6AQCs+gEAsPoBALr6AQDA+gEAxfoBAND6AQDZ+gEA4PoBAOf6AQDw+gEA9voBAAD7AQCS+wEAlPsBAMr7AQDw+wEA+fsBAAAAAgDfpgIAAKcCADi3AgBAtwIAHbgCACC4AgChzgIAsM4CAODrAgAA+AIAHfoCAAAAAwBKEwMAAQAOAAEADgAgAA4AfwAOAAABDgDvAQ4AAAAPAP3/DwAAABAA/f8QAEHgkAULEwIAAAAACwEANQsBADkLAQA/CwEAQYCRBQsSAgAAAAAbAABMGwAAUBsAAH4bAEGgkQULEwIAAACgpgAA96YAAABoAQA4agEAQcCRBQsTAgAAANBqAQDtagEA8GoBAPVqAQBB4JEFCxICAAAAwBsAAPMbAAD8GwAA/xsAQYCSBQtyDgAAAIAJAACDCQAAhQkAAIwJAACPCQAAkAkAAJMJAACoCQAAqgkAALAJAACyCQAAsgkAALYJAAC5CQAAvAkAAMQJAADHCQAAyAkAAMsJAADOCQAA1wkAANcJAADcCQAA3QkAAN8JAADjCQAA5gkAAP4JAEGAkwULIwQAAAAAHAEACBwBAAocAQA2HAEAOBwBAEUcAQBQHAEAbBwBAEGwkwULIgQAAAAcBgAAHAYAAA4gAAAPIAAAKiAAAC4gAABmIAAAaSAAQeCTBQtGAwAAAOoCAADrAgAABTEAAC8xAACgMQAAvzEAAAAAAAADAAAAABABAE0QAQBSEAEAdRABAH8QAQB/EAEAAQAAAAAoAAD/KABBsJQFC7csAgAAAAAaAAAbGgAAHhoAAB8aAAABAAAAQBcAAFMXAAC9AgAAAAAAAB8AAAB/AAAAnwAAAK0AAACtAAAAeAMAAHkDAACAAwAAgwMAAIsDAACLAwAAjQMAAI0DAACiAwAAogMAADAFAAAwBQAAVwUAAFgFAACLBQAAjAUAAJAFAACQBQAAyAUAAM8FAADrBQAA7gUAAPUFAAAFBgAAHAYAABwGAADdBgAA3QYAAA4HAAAPBwAASwcAAEwHAACyBwAAvwcAAPsHAAD8BwAALggAAC8IAAA/CAAAPwgAAFwIAABdCAAAXwgAAF8IAABrCAAAbwgAAI8IAACXCAAA4ggAAOIIAACECQAAhAkAAI0JAACOCQAAkQkAAJIJAACpCQAAqQkAALEJAACxCQAAswkAALUJAAC6CQAAuwkAAMUJAADGCQAAyQkAAMoJAADPCQAA1gkAANgJAADbCQAA3gkAAN4JAADkCQAA5QkAAP8JAAAACgAABAoAAAQKAAALCgAADgoAABEKAAASCgAAKQoAACkKAAAxCgAAMQoAADQKAAA0CgAANwoAADcKAAA6CgAAOwoAAD0KAAA9CgAAQwoAAEYKAABJCgAASgoAAE4KAABQCgAAUgoAAFgKAABdCgAAXQoAAF8KAABlCgAAdwoAAIAKAACECgAAhAoAAI4KAACOCgAAkgoAAJIKAACpCgAAqQoAALEKAACxCgAAtAoAALQKAAC6CgAAuwoAAMYKAADGCgAAygoAAMoKAADOCgAAzwoAANEKAADfCgAA5AoAAOUKAADyCgAA+AoAAAALAAAACwAABAsAAAQLAAANCwAADgsAABELAAASCwAAKQsAACkLAAAxCwAAMQsAADQLAAA0CwAAOgsAADsLAABFCwAARgsAAEkLAABKCwAATgsAAFQLAABYCwAAWwsAAF4LAABeCwAAZAsAAGULAAB4CwAAgQsAAIQLAACECwAAiwsAAI0LAACRCwAAkQsAAJYLAACYCwAAmwsAAJsLAACdCwAAnQsAAKALAACiCwAApQsAAKcLAACrCwAArQsAALoLAAC9CwAAwwsAAMULAADJCwAAyQsAAM4LAADPCwAA0QsAANYLAADYCwAA5QsAAPsLAAD/CwAADQwAAA0MAAARDAAAEQwAACkMAAApDAAAOgwAADsMAABFDAAARQwAAEkMAABJDAAATgwAAFQMAABXDAAAVwwAAFsMAABcDAAAXgwAAF8MAABkDAAAZQwAAHAMAAB2DAAAjQwAAI0MAACRDAAAkQwAAKkMAACpDAAAtAwAALQMAAC6DAAAuwwAAMUMAADFDAAAyQwAAMkMAADODAAA1AwAANcMAADcDAAA3wwAAN8MAADkDAAA5QwAAPAMAADwDAAA8wwAAP8MAAANDQAADQ0AABENAAARDQAARQ0AAEUNAABJDQAASQ0AAFANAABTDQAAZA0AAGUNAACADQAAgA0AAIQNAACEDQAAlw0AAJkNAACyDQAAsg0AALwNAAC8DQAAvg0AAL8NAADHDQAAyQ0AAMsNAADODQAA1Q0AANUNAADXDQAA1w0AAOANAADlDQAA8A0AAPENAAD1DQAAAA4AADsOAAA+DgAAXA4A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AQAAcAEAAHIBAAByAQAAdAEAAHQBAAB2AQAAdgEAAHgBAAB5AQAAewEAAHsBAAB9AQAAfQEAAH8BAAB/AQAAgQEAAIIBAACEAQAAhAEAAIYBAACHAQAAiQEAAIsBAACOAQAAkQEAAJMBAACUAQAAlgEAAJgBAACcAQAAnQEAAJ8BAACgAQAAogEAAKIBAACkAQAApAEAAKYBAACnAQAAqQEAAKkBAACsAQAArAEAAK4BAACvAQAAsQEAALMBAAC1AQAAtQEAALcBAAC4AQAAvAEAALwBAADEAQAAxQEAAMcBAADIAQAAygEAAMsBAADNAQAAzQEAAM8BAADPAQAA0QEAANEBAADTAQAA0wEAANUBAADVAQAA1wEAANcBAADZAQAA2QEAANsBAADbAQAA3gEAAN4BAADgAQAA4AEAAOIBAADiAQAA5AEAAOQBAADmAQAA5gEAAOgBAADoAQAA6gEAAOoBAADsAQAA7AEAAO4BAADuAQAA8QEAAPIBAAD0AQAA9AEAAPYBAAD4AQAA+gEAAPoBAAD8AQAA/AEAAP4BAAD+AQAAAAIAAAACAAACAgAAAgIAAAQCAAAEAgAABgIAAAYCAAAIAgAACAIAAAoCAAAKAgAADAIAAAwCAAAOAgAADgIAABACAAAQAgAAEgIAABICAAAUAgAAFAIAABYCAAAWAgAAGAIAABgCAAAaAgAAGgIAABwCAAAcAgAAHgIAAB4CAAAgAgAAIAIAACICAAAiAgAAJAIAACQCAAAmAgAAJgIAACgCAAAoAgAAKgIAACoCAAAsAgAALAIAAC4CAAAuAgAAMAIAADACAAAyAgAAMgIAADoCAAA7AgAAPQIAAD4CAABBAgAAQQIAAEMCAABGAgAASAIAAEgCAABKAgAASgIAAEwCAABMAgAATgIAAE4CAABFAwAARQMAAHADAABwAwAAcgMAAHIDAAB2AwAAdgMAAH8DAAB/AwAAhgMAAIYDAACIAwAAigMAAIwDAACMAwAAjgMAAI8DAACRAwAAoQMAAKMDAACrAwAAwgMAAMIDAADPAwAA0QMAANUDAADWAwAA2AMAANgDAADaAwAA2gMAANwDAADcAwAA3gMAAN4DAADgAwAA4AMAAOIDAADiAwAA5AMAAOQDAADmAwAA5gMAAOgDAADoAwAA6gMAAOoDAADsAwAA7AMAAO4DAADuAwAA8AMAAPEDAAD0AwAA9QMAAPcDAAD3AwAA+QMAAPoDAAD9AwAALwQAAGAEAABgBAAAYgQAAGIEAABkBAAAZAQAAGYEAABmBAAAaAQAAGgEAABqBAAAagQAAGwEAABsBAAAbgQAAG4EAABwBAAAcAQAAHIEAAByBAAAdAQAAHQEAAB2BAAAdgQAAHgEAAB4BAAAegQAAHoEAAB8BAAAfAQAAH4EAAB+BAAAgAQAAIAEAACKBAAAigQAAIwEAACMBAAAjgQAAI4EAACQBAAAkAQAAJIEAACSBAAAlAQAAJQEAACWBAAAlgQAAJgEAACYBAAAmgQAAJoEAACcBAAAnAQAAJ4EAACeBAAAoAQAAKAEAACiBAAAogQAAKQEAACkBAAApgQAAKYEAACoBAAAqAQAAKoEAACqBAAArAQAAKwEAACuBAAArgQAALAEAACwBAAAsgQAALIEAAC0BAAAtAQAALYEAAC2BAAAuAQAALgEAAC6BAAAugQAALwEAAC8BAAAvgQAAL4EAADABAAAwQQAAMMEAADDBAAAxQQAAMUEAADHBAAAxwQAAMkEAADJBAAAywQAAMsEAADNBAAAzQQAANAEAADQBAAA0gQAANIEAADUBAAA1AQAANYEAADWBAAA2AQAANgEAADaBAAA2gQAANwEAADcBAAA3gQAAN4EAADgBAAA4AQAAOIEAADiBAAA5AQAAOQEAADmBAAA5gQAAOgEAADoBAAA6gQAAOoEAADsBAAA7AQAAO4EAADuBAAA8AQAAPAEAADyBAAA8gQAAPQEAAD0BAAA9gQAAPYEAAD4BAAA+AQAAPoEAAD6BAAA/AQAAPwEAAD+BAAA/gQAAAAFAAAABQAAAgUAAAIFAAAEBQAABAUAAAYFAAAGBQAACAUAAAgFAAAKBQAACgUAAAwFAAAMBQAADgUAAA4FAAAQBQAAEAUAABIFAAASBQAAFAUAABQFAAAWBQAAFgUAABgFAAAYBQAAGgUAABoFAAAcBQAAHAUAAB4FAAAeBQAAIAUAACAFAAAiBQAAIgUAACQFAAAkBQAAJgUAACYFAAAoBQAAKAUAACoFAAAqBQAALAUAACwFAAAuBQAALgUAADEFAABWBQAAhwUAAIcFAACgEAAAxRAAAMcQAADHEAAAzRAAAM0QAAD4EwAA/RMAAIAcAACIHAAAkBwAALocAAC9HAAAvxwAAAAeAAAAHgAAAh4AAAIeAAAEHgAABB4AAAYeAAAGHgAACB4AAAgeAAAKHgAACh4AAAweAAAMHgAADh4AAA4eAAAQHgAAEB4AABIeAAASHgAAFB4AABQeAAAWHgAAFh4AABgeAAAYHgAAGh4AABoeAAAcHgAAHB4AAB4eAAAeHgAAIB4AACAeAAAiHgAAIh4AACQeAAAkHgAAJh4AACYeAAAoHgAAKB4AACoeAAAqHgAALB4AACweAAAuHgAALh4AADAeAAAwHgAAMh4AADIeAAA0HgAANB4AADYeAAA2HgAAOB4AADgeAAA6HgAAOh4AADweAAA8HgAAPh4AAD4eAABAHgAAQB4AAEIeAABCHgAARB4AAEQeAABGHgAARh4AAEgeAABIHgAASh4AAEoeAABMHgAATB4AAE4eAABOHgAAUB4AAFAeAABSHgAAUh4AAFQeAABUHgAAVh4AAFYeAABYHgAAWB4AAFoeAABaHgAAXB4AAFweAABeHgAAXh4AAGAeAABgHgAAYh4AAGIeAABkHgAAZB4AAGYeAABmHgAAaB4AAGgeAABqHgAAah4AAGweAABsHgAAbh4AAG4eAABwHgAAcB4AAHIeAAByHgAAdB4AAHQeAAB2HgAAdh4AAHgeAAB4HgAAeh4AAHoeAAB8HgAAfB4AAH4eAAB+HgAAgB4AAIAeAACCHgAAgh4AAIQeAACEHgAAhh4AAIYeAACIHgAAiB4AAIoeAACKHgAAjB4AAIweAACOHgAAjh4AAJAeAACQHgAAkh4AAJIeAACUHgAAlB4AAJoeAACbHgAAnh4AAJ4eAACgHgAAoB4AAKIeAACiHgAApB4AAKQeAACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AAIAfAACvHwAAsh8AALQfAAC3HwAAvB8AAMIfAADEHwAAxx8AAMwfAADYHwAA2x8AAOgfAADsHwAA8h8AAPQfAAD3HwAA/B8AACYhAAAmIQAAKiEAACshAAAyIQAAMiEAAGAhAABvIQAAgyEAAIMhAAC2JAAAzyQAAAAsAAAvLAAAYCwAAGAsAABiLAAAZCwAAGcsAABnLAAAaSwAAGksAABrLAAAaywAAG0sAABwLAAAciwAAHIsAAB1LAAAdSwAAH4sAACALAAAgiwAAIIsAACELAAAhCwAAIYsAACGLAAAiCwAAIgsAACKLAAAiiwAAIwsAACMLAAAjiwAAI4sAACQLAAAkCwAAJIsAACSLAAAlCwAAJQsAACWLAAAliwAAJgsAACYLAAAmiwAAJosAACcLAAAnCwAAJ4sAACeLAAAoCwAAKAsAACiLAAAoiwAAKQsAACkLAAApiwAAKYsAACoLAAAqCwAAKosAACqLAAArCwAAKwsAACuLAAAriwAALAsAACwLAAAsiwAALIsAAC0LAAAtCwAALYsAAC2LAAAuCwAALgsAAC6LAAAuiwAALwsAAC8LAAAviwAAL4sAADALAAAwCwAAMIsAADCLAAAxCwAAMQsAADGLAAAxiwAAMgsAADILAAAyiwAAMosAADMLAAAzCwAAM4sAADOLAAA0CwAANAsAADSLAAA0iwAANQsAADULAAA1iwAANYsAADYLAAA2CwAANosAADaLAAA3CwAANwsAADeLAAA3iwAAOAsAADgLAAA4iwAAOIsAADrLAAA6ywAAO0sAADtLAAA8iwAAPIsAABApgAAQKYAAEKmAABCpgAARKYAAESmAABGpgAARqYAAEimAABIpgAASqYAAEqmAABMpgAATKYAAE6mAABOpgAAUKYAAFCmAABSpgAAUqYAAFSmAABUpgAAVqYAAFamAABYpgAAWKYAAFqmAABapgAAXKYAAFymAABepgAAXqYAAGCmAABgpgAAYqYAAGKmAABkpgAAZKYAAGamAABmpgAAaKYAAGimAABqpgAAaqYAAGymAABspgAAgKYAAICmAACCpgAAgqYAAISmAACEpgAAhqYAAIamAACIpgAAiKYAAIqmAACKpgAAjKYAAIymAACOpgAAjqYAAJCmAACQpgAAkqYAAJKmAACUpgAAlKYAAJamAACWpgAAmKYAAJimAACapgAAmqYAACKnAAAipwAAJKcAACSnAAAmpwAAJqcAACinAAAopwAAKqcAACqnAAAspwAALKcAAC6nAAAupwAAMqcAADKnAAA0pwAANKcAADanAAA2pwAAOKcAADinAAA6pwAAOqcAADynAAA8pwAAPqcAAD6nAABApwAAQKcAAEKnAABCpwAARKcAAESnAABGpwAARqcAAEinAABIpwAASqcAAEqnAABMpwAATKcAAE6nAABOpwAAUKcAAFCnAABSpwAAUqcAAFSnAABUpwAAVqcAAFanAABYpwAAWKcAAFqnAABapwAAXKcAAFynAABepwAAXqcAAGCnAABgpwAAYqcAAGKnAABkpwAAZKcAAGanAABmpwAAaKcAAGinAABqpwAAaqcAAGynAABspwAAbqcAAG6nAAB5pwAAeacAAHunAAB7pwAAfacAAH6nAACApwAAgKcAAIKnAACCpwAAhKcAAISnAACGpwAAhqcAAIunAACLpwAAjacAAI2nAACQpwAAkKcAAJKnAACSpwAAlqcAAJanAACYpwAAmKcAAJqnAACapwAAnKcAAJynAACepwAAnqcAAKCnAACgpwAAoqcAAKKnAACkpwAApKcAAKanAACmpwAAqKcAAKinAACqpwAArqcAALCnAAC0pwAAtqcAALanAAC4pwAAuKcAALqnAAC6pwAAvKcAALynAAC+pwAAvqcAAMCnAADApwAAwqcAAMKnAADEpwAAx6cAAMmnAADJpwAA0KcAANCnAADWpwAA1qcAANinAADYpwAA9acAAPWnAABwqwAAv6sAAAD7AAAG+wAAE/sAABf7AAAh/wAAOv8AAAAEAQAnBAEAsAQBANMEAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAIAMAQCyDAEAoBgBAL8YAQBAbgEAX24BAADpAQAh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AABOHgAAUB4AAFAeAABSHgAAUh4AAFQeAABUHgAAVh4AAFYeAABYHgAAWB4AAFoeAABaHgAAXB4AAFweAABeHgAAXh4AAGAeAABgHgAAYh4AAGIeAABkHgAAZB4AAGYeAABmHgAAaB4AAGgeAABqHgAAah4AAGweAABsHgAAbh4AAG4eAABwHgAAcB4AAHIeAAByHgAAdB4AAHQeAAB2HgAAdh4AAHgeAAB4HgAAeh4AAHoeAAB8HgAAfB4AAH4eAAB+HgAAgB4AAIAeAACCHgAAgh4AAIQeAACEHgAAhh4AAIYeAACIHgAAiB4AAIoeAACKHgAAjB4AAIweAACOHgAAjh4AAJAeAACQHgAAkh4AAJIeAACUHgAAlB4AAJ4eAACeHgAAoB4AAKAeAACiHgAAoh4AAKQeAACkHgAAph4AAKYeAACoHgAAqB4AAKoeAACqHgAArB4AAKweAACuHgAArh4AALAeAACwHgAAsh4AALIeAAC0HgAAtB4AALYeAAC2HgAAuB4AALgeAAC6HgAAuh4AALweAAC8HgAAvh4AAL4eAADAHgAAwB4AAMIeAADCHgAAxB4AAMQeAADGHgAAxh4AAMgeAADIHgAAyh4AAMoeAADMHgAAzB4AAM4eAADOHgAA0B4AANAeAADSHgAA0h4AANQeAADUHgAA1h4AANYeAADYHgAA2B4AANoeAADaHgAA3B4AANweAADeHgAA3h4AAOAeAADgHgAA4h4AAOIeAADkHgAA5B4AAOYeAADmHgAA6B4AAOgeAADqHgAA6h4AAOweAADsHgAA7h4AAO4eAADwHgAA8B4AAPIeAADyHgAA9B4AAPQeAAD2HgAA9h4AAPgeAAD4HgAA+h4AAPoeAAD8HgAA/B4AAP4eAAD+HgAACB8AAA8fAAAYHwAAHR8AACgfAAAvHwAAOB8AAD8fAABIHwAATR8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAABfHwAAaB8AAG8fAACIHwAAjx8AAJgfAACfHwAAqB8AAK8fAAC4HwAAvB8AAMgfAADMHwAA2B8AANsfAADoHwAA7B8AAPgfAAD8HwAAJiEAACYhAAAqIQAAKyEAADIhAAAyIQAAYCEAAG8hAACDIQAAgyEAALYkAADPJAAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEan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AAC/HgAAwR4AAMEeAADDHgAAwx4AAMUeAADFHgAAxx4AAMceAADJHgAAyR4AAMseAADLHgAAzR4AAM0eAADPHgAAzx4AANEeAADRHgAA0x4AANMeAADVHgAA1R4AANceAADXHgAA2R4AANkeAADbHgAA2x4AAN0eAADdHgAA3x4AAN8eAADhHgAA4R4AAOMeAADjHgAA5R4AAOUeAADnHgAA5x4AAOkeAADpHgAA6x4AAOseAADtHgAA7R4AAO8eAADvHgAA8R4AAPEeAADzHgAA8x4AAPUeAAD1HgAA9x4AAPceAAD5HgAA+R4AAPseAAD7HgAA/R4AAP0eAAD/HgAABx8AABAfAAAVHwAAIB8AACcfAAAwHwAANx8AAEAfAABFHwAAUB8AAFcfAABgHwAAZx8AAHAfAAB9HwAAgB8AAIcfAACQHwAAlx8AAKAfAACnHwAAsB8AALQfAAC2HwAAtx8AAL4fAAC+HwAAwh8AAMQfAADGHwAAxx8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHMsAABzLAAAdiwAAHYsAACBLAAAgSwAAIMsAACDLAAAhSwAAIUsAACHLAAAhywAAIksAACJLAAAiywAAIssAACNLAAAjSwAAI8sAACPLAAAkSwAAJEsAACTLAAAkywAAJUsAACVLAAAlywAAJcsAACZLAAAmSwAAJssAACbLAAAnSwAAJ0sAACfLAAAnywAAKEsAAChLAAAoywAAKMsAAClLAAApSwAAKcsAACnLAAAqSwAAKksAACrLAAAqywAAK0sAACtLAAArywAAK8sAACxLAAAsSwAALMsAACzLAAAtSwAALUsAAC3LAAAtywAALksAAC5LAAAuywAALssAAC9LAAAvSwAAL8sAAC/LAAAwSwAAMEsAADDLAAAwywAAMUsAADFLAAAxywAAMcsAADJLAAAySwAAMssAADLLAAAzSwAAM0sAADPLAAAzywAANEsAADRLAAA0ywAANMsAADVLAAA1SwAANcsAADXLAAA2SwAANksAADbLAAA2ywAAN0sAADdLAAA3ywAAN8sAADhLAAA4SwAAOMsAADjLAAA7CwAAOwsAADuLAAA7iwAAPMsAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAQaYAAEGmAABDpgAAQ6YAAEWmAABFpgAAR6YAAEemAABJpgAASaYAAEumAABLpgAATaYAAE2mAABPpgAAT6YAAFGmAABRpgAAU6YAAFOmAABVpgAAVaYAAFemAABXpgAAWaYAAFmmAABbpgAAW6YAAF2mAABdpgAAX6YAAF+mAABhpgAAYaYAAGOmAABjpgAAZaYAAGWmAABnpgAAZ6YAAGmmAABppgAAa6YAAGumAABtpgAAbaYAAIGmAACBpgAAg6YAAIOmAACFpgAAhaYAAIemAACHpgAAiaYAAImmAACLpgAAi6YAAI2mAACNpgAAj6YAAI+mAACRpgAAkaYAAJOmAACTpgAAlaYAAJWmAACXpgAAl6YAAJmmAACZpgAAm6YAAJumAAAjpwAAI6cAACWnAAAlpwAAJ6cAACenAAAppwAAKacAACunAAArpwAALacAAC2nAAAvpwAAL6cAADOnAAAzpwAANacAADWnAAA3pwAAN6cAADmnAAA5pwAAO6cAADunAAA9pwAAPacAAD+nAAA/pwAAQacAAEGnAABDpwAAQ6cAAEWnAABFpwAAR6cAAEenAABJpwAASacAAEunAABLpwAATacAAE2nAABPpwAAT6cAAFGnAABRpwAAU6cAAFOnAABVpwAAVacAAFenAABXpwAAWacAAFmnAABbpwAAW6cAAF2nAABdpwAAX6cAAF+nAABhpwAAYacAAGOnAABjpwAAZacAAGWnAABnpwAAZ6cAAGmnAABppwAAa6cAAGunAABtpwAAbacAAG+nAABvpwAAeqcAAHqnAAB8pwAAfKcAAH+nAAB/pwAAgacAAIGnAACDpwAAg6cAAIWnAACFpwAAh6cAAIenAACMpwAAjKcAAJGnAACRpwAAk6cAAJSnAACXpwAAl6cAAJmnAACZpwAAm6cAAJunAACdpwAAnacAAJ+nAACfpwAAoacAAKGnAACjpwAAo6cAAKWnAAClpwAAp6cAAKenAACppwAAqacAALWnAAC1pwAAt6cAALenAAC5pwAAuacAALunAAC7pwAAvacAAL2nAAC/pwAAv6cAAMGnAADBpwAAw6cAAMOnAADIpwAAyKcAAMqnAADKpwAA0acAANGnAADXpwAA16cAANmnAADZpwAA9qcAAPanAABTqwAAU6sAAHCrAAC/qwAAAPsAAAb7AAAT+wAAF/sAAEH/AABa/wAAKAQBAE8EAQDYBAEA+wQBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAwAwBAPIMAQDAGAEA3xgBAGBuAQB/bgEAIukBAEPpAQBBoOQGC8cncwIAAGEAAAB6AAAAtQAAALUAAADfAAAA9gAAAPgAAAD/AAAAAQEAAAEBAAADAQAAAwEAAAUBAAAFAQAABwEAAAcBAAAJAQAACQEAAAsBAAALAQAADQEAAA0BAAAPAQAADwEAABEBAAARAQAAEwEAABMBAAAVAQAAFQEAABcBAAAXAQAAGQEAABkBAAAbAQAAGwEAAB0BAAAdAQAAHwEAAB8BAAAhAQAAIQEAACMBAAAjAQAAJQEAACUBAAAnAQAAJwEAACkBAAApAQAAKwEAACsBAAAtAQAALQEAAC8BAAAvAQAAMQEAADEBAAAzAQAAMwEAADUBAAA1AQAANwEAADcBAAA6AQAAOgEAADwBAAA8AQAAPgEAAD4BAABAAQAAQAEAAEIBAABCAQAARAEAAEQBAABGAQAARgEAAEgBAABJAQAASwEAAEsBAABNAQAATQEAAE8BAABPAQAAUQEAAFEBAABTAQAAUwEAAFUBAABVAQAAVwEAAFcBAABZAQAAWQEAAFsBAABbAQAAXQEAAF0BAABfAQAAXwEAAGEBAABhAQAAYwEAAGMBAABlAQAAZQEAAGcBAABnAQAAaQEAAGkBAABrAQAAawEAAG0BAABtAQAAbwEAAG8BAABxAQAAcQEAAHMBAABzAQAAdQEAAHUBAAB3AQAAdwEAAHoBAAB6AQAAfAEAAHwBAAB+AQAAgAEAAIMBAACDAQAAhQEAAIUBAACIAQAAiAEAAIwBAACMAQAAkgEAAJIBAACVAQAAlQEAAJkBAACaAQAAngEAAJ4BAAChAQAAoQEAAKMBAACjAQAApQEAAKUBAACoAQAAqAEAAK0BAACtAQAAsAEAALABAAC0AQAAtAEAALYBAAC2AQAAuQEAALkBAAC9AQAAvQEAAL8BAAC/AQAAxQEAAMYBAADIAQAAyQEAAMsBAADMAQAAzgEAAM4BAADQAQAA0AEAANIBAADSAQAA1AEAANQBAADWAQAA1gEAANgBAADYAQAA2gEAANoBAADcAQAA3QEAAN8BAADfAQAA4QEAAOEBAADjAQAA4wEAAOUBAADlAQAA5wEAAOcBAADpAQAA6QEAAOsBAADrAQAA7QEAAO0BAADvAQAA8AEAAPIBAADzAQAA9QEAAPUBAAD5AQAA+QEAAPsBAAD7AQAA/QEAAP0BAAD/AQAA/wEAAAECAAABAgAAAwIAAAMCAAAFAgAABQIAAAcCAAAHAgAACQIAAAkCAAALAgAACwIAAA0CAAANAgAADwIAAA8CAAARAgAAEQIAABMCAAATAgAAFQIAABUCAAAXAgAAFwIAABkCAAAZAgAAGwIAABsCAAAdAgAAHQIAAB8CAAAfAgAAIwIAACMCAAAlAgAAJQIAACcCAAAnAgAAKQIAACkCAAArAgAAKwIAAC0CAAAtAgAALwIAAC8CAAAxAgAAMQIAADMCAAAzAgAAPAIAADwCAAA/AgAAQAIAAEICAABCAgAARwIAAEcCAABJAgAASQIAAEsCAABLAgAATQIAAE0CAABPAgAAVAIAAFYCAABXAgAAWQIAAFkCAABbAgAAXAIAAGACAABhAgAAYwIAAGMCAABlAgAAZgIAAGgCAABsAgAAbwIAAG8CAABxAgAAcgIAAHUCAAB1AgAAfQIAAH0CAACAAgAAgAIAAIICAACDAgAAhwIAAIwCAACSAgAAkgIAAJ0CAACeAgAARQMAAEUDAABxAwAAcQMAAHMDAABzAwAAdwMAAHcDAAB7AwAAfQMAAJADAACQAwAArAMAAM4DAADQAwAA0QMAANUDAADXAwAA2QMAANkDAADbAwAA2wMAAN0DAADdAwAA3wMAAN8DAADhAwAA4QMAAOMDAADjAwAA5QMAAOUDAADnAwAA5wMAAOkDAADpAwAA6wMAAOsDAADtAwAA7QMAAO8DAADzAwAA9QMAAPUDAAD4AwAA+AMAAPsDAAD7AwAAMAQAAF8EAABhBAAAYQQAAGMEAABjBAAAZQQAAGUEAABnBAAAZwQAAGkEAABpBAAAawQAAGsEAABtBAAAbQQAAG8EAABvBAAAcQQAAHEEAABzBAAAcwQAAHUEAAB1BAAAdwQAAHcEAAB5BAAAeQQAAHsEAAB7BAAAfQQAAH0EAAB/BAAAfwQAAIEEAACBBAAAiwQAAIsEAACNBAAAjQQAAI8EAACPBAAAkQQAAJEEAACTBAAAkwQAAJUEAACVBAAAlwQAAJcEAACZBAAAmQQAAJsEAACbBAAAnQQAAJ0EAACfBAAAnwQAAKEEAAChBAAAowQAAKMEAAClBAAApQQAAKcEAACnBAAAqQQAAKkEAACrBAAAqwQAAK0EAACtBAAArwQAAK8EAACxBAAAsQQAALMEAACzBAAAtQQAALUEAAC3BAAAtwQAALkEAAC5BAAAuwQAALsEAAC9BAAAvQQAAL8EAAC/BAAAwgQAAMIEAADEBAAAxAQAAMYEAADGBAAAyAQAAMgEAADKBAAAygQAAMwEAADMBAAAzgQAAM8EAADRBAAA0QQAANMEAADTBAAA1QQAANUEAADXBAAA1wQAANkEAADZBAAA2wQAANsEAADdBAAA3QQAAN8EAADfBAAA4QQAAOEEAADjBAAA4wQAAOUEAADlBAAA5wQAAOcEAADpBAAA6QQAAOsEAADrBAAA7QQAAO0EAADvBAAA7wQAAPEEAADxBAAA8wQAAPMEAAD1BAAA9QQAAPcEAAD3BAAA+QQAAPkEAAD7BAAA+wQAAP0EAAD9BAAA/wQAAP8EAAABBQAAAQUAAAMFAAADBQAABQUAAAUFAAAHBQAABwUAAAkFAAAJBQAACwUAAAsFAAANBQAADQUAAA8FAAAPBQAAEQUAABEFAAATBQAAEwUAABUFAAAVBQAAFwUAABcFAAAZBQAAGQUAABsFAAAbBQAAHQUAAB0FAAAfBQAAHwUAACEFAAAhBQAAIwUAACMFAAAlBQAAJQUAACcFAAAnBQAAKQUAACkFAAArBQAAKwUAAC0FAAAtBQAALwUAAC8FAABhBQAAhwUAANAQAAD6EAAA/RAAAP8QAAD4EwAA/RMAAIAcAACIHAAAeR0AAHkdAAB9HQAAfR0AAI4dAACOHQAAAR4AAAEeAAADHgAAAx4AAAUeAAAFHgAABx4AAAceAAAJHgAACR4AAAseAAALHgAADR4AAA0eAAAPHgAADx4AABEeAAARHgAAEx4AABMeAAAVHgAAFR4AABceAAAXHgAAGR4AABkeAAAbHgAAGx4AAB0eAAAdHgAAHx4AAB8eAAAhHgAAIR4AACMeAAAjHgAAJR4AACUeAAAnHgAAJx4AACkeAAApHgAAKx4AACseAAAtHgAALR4AAC8eAAAvHgAAMR4AADEeAAAzHgAAMx4AADUeAAA1HgAANx4AADceAAA5HgAAOR4AADseAAA7HgAAPR4AAD0eAAA/HgAAPx4AAEEeAABBHgAAQx4AAEMeAABFHgAARR4AAEceAABHHgAASR4AAEkeAABLHgAASx4AAE0eAABNHgAATx4AAE8eAABRHgAAUR4AAFMeAABTHgAAVR4AAFUeAABXHgAAVx4AAFkeAABZHgAAWx4AAFseAABdHgAAXR4AAF8eAABfHgAAYR4AAGEeAABjHgAAYx4AAGUeAABlHgAAZx4AAGceAABpHgAAaR4AAGseAABrHgAAbR4AAG0eAABvHgAAbx4AAHEeAABxHgAAcx4AAHMeAAB1HgAAdR4AAHceAAB3HgAAeR4AAHkeAAB7HgAAex4AAH0eAAB9HgAAfx4AAH8eAACBHgAAgR4AAIMeAACDHgAAhR4AAIUeAACHHgAAhx4AAIkeAACJHgAAix4AAIseAACNHgAAjR4AAI8eAACPHgAAkR4AAJEeAACTHgAAkx4AAJUeAACbHgAAoR4AAKEeAACjHgAAox4AAKUeAAClHgAApx4AAKceAACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAtB8AALYfAAC3HwAAvB8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADMHwAAzB8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAAD8HwAA/B8AAE4hAABOIQAAcCEAAH8hAACEIQAAhCEAANAkAADpJAAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcywAAHMsAAB2LAAAdiwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOMsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAm6YAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAvpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAG+nAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAkacAAJGnAACTpwAAlKcAAJenAACXpwAAmacAAJmnAACbpwAAm6cAAJ2nAACdpwAAn6cAAJ+nAAChpwAAoacAAKOnAACjpwAApacAAKWnAACnpwAAp6cAAKmnAACppwAAtacAALWnAAC3pwAAt6cAALmnAAC5pwAAu6cAALunAAC9pwAAvacAAL+nAAC/pwAAwacAAMGnAADDpwAAw6cAAMinAADIpwAAyqcAAMqnAADRpwAA0acAANenAADXpwAA2acAANmnAAD2pwAA9qcAAFOrAABTqwAAcKsAAL+rAAAA+wAABvsAABP7AAAX+wAAQf8AAFr/AAAoBAEATwQBANgEAQD7BAEAlwUBAKEFAQCjBQEAsQUBALMFAQC5BQEAuwUBALwFAQDADAEA8gwBAMAYAQDfGAEAYG4BAH9uAQAi6QEAQ+kBAAAAAAADAAAAoBMAAPUTAAD4EwAA/RMAAHCrAAC/qwAAAQAAALAPAQDLDwEAQfCLBwvTK7oCAAB4AwAAeQMAAIADAACDAwAAiwMAAIsDAACNAwAAjQMAAKIDAACiAwAAMAUAADAFAABXBQAAWAUAAIsFAACMBQAAkAUAAJAFAADIBQAAzwUAAOsFAADuBQAA9QUAAP8FAAAOBwAADgcAAEsHAABMBwAAsgcAAL8HAAD7BwAA/AcAAC4IAAAvCAAAPwgAAD8IAABcCAAAXQgAAF8IAABfCAAA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CQAAggkAAIMJAACFCQAAjAkAAI8JAACQCQAAkwkAAKgJAACqCQAAsAkAALIJAACyCQAAtgkAALkJAAC9CQAAvQkAAL8JAADACQAAxwkAAMgJAADLCQAAzAkAAM4JAADOCQAA3AkAAN0JAADfCQAA4QkAAOYJAAD9CQAAAwoAAAMKAAAFCgAACgoAAA8KAAAQCgAAEwoAACgKAAAqCgAAMAoAADIKAAAzCgAANQoAADYKAAA4CgAAOQoAAD4KAABACgAAWQoAAFwKAABeCgAAXgoAAGYKAABvCgAAcgoAAHQKAAB2CgAAdgoAAIMKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvQoAAMAKAADJCgAAyQoAAMsKAADMCgAA0AoAANAKAADgCgAA4QoAAOYKAADxCgAA+QoAAPkKAAACCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAAD0LAAA9CwAAQAsAAEALAABHCwAASAsAAEsLAABMCwAAXAsAAF0LAABfCwAAYQsAAGYLAAB3CwAAgwsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAAC/CwAAvwsAAMELAADCCwAAxgsAAMgLAADKCwAAzAsAANALAADQCwAA5gsAAPoLAAABDAAAAwwAAAUMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPQwAAD0MAABBDAAARAwAAFgMAABaDAAAXQwAAF0MAABgDAAAYQwAAGYMAABvDAAAdwwAAIAMAACCDAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvQwAAL4MAADADAAAwQwAAMMMAADEDAAAxwwAAMgMAADKDAAAywwAAN0MAADeDAAA4AwAAOEMAADmDAAA7wwAAPEMAADyDAAAAg0AAAwNAAAODQAAEA0AABINAAA6DQAAPQ0AAD0NAAA/DQAAQA0AAEYNAABIDQAASg0AAEwNAABODQAATw0AAFQNAABWDQAAWA0AAGENAABmDQAAfw0AAIINAACDDQAAhQ0AAJYNAACa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CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdQoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADvCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAABvCwAAcQsAAHELAACCCwAAgwsAAIULAACKCwAAjgsAAJALAACSCwAAlQsAAJkLAACaCwAAnAsAAJwLAACeCwAAnwsAAKMLAACkCwAAqAsAAKoLAACuCwAAuQsAAL4LAADCCwAAxgsAAMgLAADKCwAAzQsAANALAADQCwAA1wsAANcLAADmCwAA7wsAAAAMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPAwAAEQMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABYDAAAWgwAAF0MAABdDAAAYAwAAGMMAABmDAAAbwwAAIAMAACDDAAAhQwAAIwMAACODAAAkAwAAJIMAACoDAAAqgwAALMMAAC1DAAAuQwAALwMAADEDAAAxgwAAMgMAADKDAAAzQwAANUMAADWDAAA3QwAAN4MAADgDAAA4wwAAOYMAADvDAAA8QwAAPIMAAAADQAADA0AAA4NAAAQDQAAEg0AAEQNAABGDQAASA0AAEoNAABODQAAVA0AAFcNAABfDQAAYw0AAGYNAABvDQAAeg0AAH8NAACBDQAAgw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAADKDQAAyg0AAM8NAADUDQAA1g0AANYNAADYDQAA3w0AAOYNAADvDQAA8g0AAPMNAAABDgAAOg4AAEAOAABODgAAUA4AAFkOAACBDgAAgg4AAIQOAACEDgAAhg4AAIoOAACMDgAAow4AAKUOAAClDgAApw4AAL0OAADADgAAxA4AAMYOAADG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vx4AAMEeAADBHgAAwx4AAMMeAADFHgAAxR4AAMceAADHHgAAyR4AAMkeAADLHgAAyx4AAM0eAADNHgAAzx4AAM8eAADRHgAA0R4AANMeAADTHgAA1R4AANUeAADXHgAA1x4AANkeAADZHgAA2x4AANseAADdHgAA3R4AAN8eAADfHgAA4R4AAOEeAADjHgAA4x4AAOUeAADlHgAA5x4AAOceAADpHgAA6R4AAOseAADrHgAA7R4AAO0eAADvHgAA7x4AAPEeAADxHgAA8x4AAPMeAAD1HgAA9R4AAPceAAD3HgAA+R4AAPkeAAD7HgAA+x4AAP0eAAD9HgAA/x4AAAcfAAAQHwAAFR8AACAfAAAnHwAAMB8AADcfAABAHwAARR8AAFAfAABXHwAAYB8AAGcfAABwHwAAfR8AAIAfAACHHwAAkB8AAJcfAACgHwAApx8AALAfAAC0HwAAth8AALcfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADQHwAA0x8AANYfAADXHwAA4B8AAOcfAADyHwAA9B8AAPYfAAD3HwAACiEAAAohAAAOIQAADyEAABMhAAATIQAALyEAAC8hAAA0IQAANCEAADkhAAA5IQAAPCEAAD0hAABGIQAASSEAAE4hAABOIQAAhCEAAIQhAAAwLAAAXywAAGEsAABhLAAAZSwAAGYsAABoLAAAaCwAAGosAABqLAAAbCwAAGwsAABxLAAAcSwAAHMsAAB0LAAAdiwAAHssAACBLAAAgSwAAIMsAACDLAAAhSwAAIUsAACHLAAAhywAAIksAACJLAAAiywAAIssAACNLAAAjSwAAI8sAACPLAAAkSwAAJEsAACTLAAAkywAAJUsAACVLAAAlywAAJcsAACZLAAAmSwAAJssAACbLAAAnSwAAJ0sAACfLAAAnywAAKEsAAChLAAAoywAAKMsAAClLAAApSwAAKcsAACnLAAAqSwAAKksAACrLAAAqywAAK0sAACtLAAArywAAK8sAACxLAAAsSwAALMsAACzLAAAtSwAALUsAAC3LAAAtywAALksAAC5LAAAuywAALssAAC9LAAAvSwAAL8sAAC/LAAAwSwAAMEsAADDLAAAwywAAMUsAADFLAAAxywAAMcsAADJLAAAySwAAMssAADLLAAAzSwAAM0sAADPLAAAzywAANEsAADRLAAA0ywAANMsAADVLAAA1SwAANcsAADXLAAA2SwAANksAADbLAAA2ywAAN0sAADdLAAA3ywAAN8sAADhLAAA4SwAAOMsAADkLAAA7CwAAOwsAADuLAAA7iwAAPMsAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAQaYAAEGmAABDpgAAQ6YAAEWmAABFpgAAR6YAAEemAABJpgAASaYAAEumAABLpgAATaYAAE2mAABPpgAAT6YAAFGmAABRpgAAU6YAAFOmAABVpgAAVaYAAFemAABXpgAAWaYAAFmmAABbpgAAW6YAAF2mAABdpgAAX6YAAF+mAABhpgAAYaYAAGOmAABjpgAAZaYAAGWmAABnpgAAZ6YAAGmmAABppgAAa6YAAGumAABtpgAAbaYAAIGmAACBpgAAg6YAAIOmAACFpgAAhaYAAIemAACHpgAAiaYAAImmAACLpgAAi6YAAI2mAACNpgAAj6YAAI+mAACRpgAAkaYAAJOmAACTpgAAlaYAAJWmAACXpgAAl6YAAJmmAACZpgAAm6YAAJumAAAjpwAAI6cAACWnAAAlpwAAJ6cAACenAAAppwAAKacAACunAAArpwAALacAAC2nAAAvpwAAMacAADOnAAAzpwAANacAADWnAAA3pwAAN6cAADmnAAA5pwAAO6cAADunAAA9pwAAPacAAD+nAAA/pwAAQacAAEGnAABDpwAAQ6cAAEWnAABFpwAAR6cAAEenAABJpwAASacAAEunAABLpwAATacAAE2nAABPpwAAT6cAAFGnAABRpwAAU6cAAFOnAABVpwAAVacAAFenAABXpwAAWacAAFmnAABbpwAAW6cAAF2nAABdpwAAX6cAAF+nAABhpwAAYacAAGOnAABjpwAAZacAAGWnAABnpwAAZ6cAAGmnAABppwAAa6cAAGunAABtpwAAbacAAG+nAABvpwAAcacAAHinAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAjqcAAI6nAACRpwAAkacAAJOnAACVpwAAl6cAAJenAACZpwAAmacAAJunAACbpwAAnacAAJ2nAACfpwAAn6cAAKGnAAChpwAAo6cAAKOnAAClpwAApacAAKenAACnpwAAqacAAKmnAACvpwAA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AACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AALgfAAC7HwAAyB8AAMsfAADYHwAA2x8AAOgfAADsHwAA+B8AAPsfAAACIQAAAiEAAAchAAAHIQAACyEAAA0hAAAQIQAAEiEAABUhAAAVIQAAGSEAAB0hAAAkIQAAJCEAACYhAAAmIQAAKCEAACghAAAqIQAALSEAADAhAAAzIQAAPiEAAD8hAABFIQAARSEAAIMhAACDIQAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEanAABGpwAASKcAAEinAABKpwAASqcAAEynAABMpwAATqcAAE6nAABQpwAAUKcAAFKnAABSpwAAVKcAAFSnAABWpwAAVqcAAFinAABYpwAAWqcAAFqnAABcpwAAXKcAAF6nAABepwAAYKcAAGCnAABipwAAYqcAAGSnAABkpwAAZqcAAGanAABopwAAaKcAAGqnAABqpwAAbKcAAGynAABupwAAbqcAAHmnAAB5pwAAe6cAAHunAAB9pwAAfqcAAICnAACApwAAgqcAAIKnAACEpwAAhKcAAIanAACGpwAAi6cAAIunAACNpwAAjacAAJCnAACQpwAAkqcAAJKnAACWpwAAlqcAAJinAACYpwAAmqcAAJqn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ADAFAABXBQAAWAUAAIsFAACMBQAAkAUAAJAFAADIBQAAzwUAAOsFAADuBQAA9QUAAP8FAAAOBwAADgcAAEsHAABMBwAAsgcAAL8HAAD7BwAA/AcAAC4IAAAvCAAAPwgAAD8IAABcCAAAXQgAAF8IAABfCAAAawgAAG8IAACPCAAAjwgAAJIIAACXCAAAhAkAAIQJAACNCQAAjgkAAJEJAACSCQAAqQkAAKkJAACxCQAAsQkAALMJAAC1CQAAugkAALsJAADFCQAAxgkAAMkJAADKCQAAzwkAANYJAADYCQAA2wkAAN4JAADeCQAA5AkAAOUJAAD/CQAAAAoAAAQKAAAECgAACwoAAA4KAAARCgAAEgoAACkKAAApCgAAMQoAADEKAAA0CgAANAoAADcKAAA3CgAAOgoAADsKAAA9CgAAPQoAAEMKAABGCgAASQoAAEoKAABOCgAAUAoAAFIKAABYCgAAXQoAAF0KAABfCgAAZQoAAHcKAACACgAAhAoAAIQKAACOCgAAjgoAAJIKAACSCgAAqQoAAKkKAACxCgAAsQoAALQKAAC0CgAAugoAALsKAADGCgAAxgoAAMoKAADKCgAAzgoAAM8KAADRCgAA3woAAOQKAADlCgAA8goAAPgKAAAACwAAAAsAAAQLAAAECwAADQsAAA4LAAARCwAAEgsAACkLAAApCwAAMQsAADELAAA0CwAANAsAADoLAAA7CwAARQsAAEYLAABJCwAASgsAAE4LAABUCwAAWAsAAFsLAABeCwAAXgsAAGQLAABlCwAAeAsAAIELAACECwAAhAsAAIsLAACNCwAAkQsAAJELAACWCwAAmAsAAJsLAACbCwAAnQsAAJ0LAACgCwAAogsAAKULAACnCwAAqwsAAK0LAAC6CwAAvQsAAMMLAADFCwAAyQsAAMkLAADOCwAAzwsAANELAADWCwAA2AsAAOULAAD7CwAA/wsAAA0MAAANDAAAEQwAABEMAAApDAAAKQwAADoMAAA7DAAARQwAAEUMAABJDAAASQwAAE4MAABUDAAAVwwAAFcMAABbDAAAXAwAAF4MAABfDAAAZAwAAGUMAABwDAAAdgwAAI0MAACNDAAAkQwAAJEMAACpDAAAqQwAALQMAAC0DAAAugwAALsMAADFDAAAxQwAAMkMAADJDAAAzgwAANQMAADXDAAA3AwA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AD0AAwH//wAAQgCdAEcADQH//wAA//8AAP//AAD//wAA//8AAP//AABMACQB//8AAFIANwD//wAA//8AAFUAlwD//wAA//8AAP//AABYAIcA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAXABWAP//AABhANIA//8AAP//AAD//wAAZACBAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABsAI0A//8AAHEAJwB2ACcA//8AAP//AAB9ANMAgACaAP//AAD//wAAjQBaAP//AACSAM4A//8AAP//AACVAJkA//8AAKEA2AGuAFMAswBaAP//AAD//wAA//8AALkAoQC9AKEA//8AAMIAdADHAJwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADMAI0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzgCUANMALQD//wAA//8AAP//AAD//wAA2ADIAf//AAD//wAA4gDbAf//AAD//wAA//8AAO8AHgH//wAA//8AAP//AAD//wAA+gATAgABGAL//wAA//8AAP//AAAHASUA//8AAP//AAD//wAA//8AAP//AAD//wAACQHtAf//AAD//wAAEgE4AP//AAD//wAAGQGRAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACEBNwH//wAA//8AAP//AAD//wAAKwEIAv//AAD//wAA//8AAP//AAA1AW0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADoBGQL//wAA//8AAP//AABdAUQB//8AAP//AABlASYA//8AAGoB1AD//wAAhQGFAIgBkwD//wAA//8AAP//AAD//wAA//8AAP//AACNAcwAogE/AaoBvwH//wAAswHcAf//AAC9AY0AywEMAv//AAD//wAA//8AAP//AADsAZsA//8AAP//AAD//wAA//8AAP//AADxAegB/gG1AAMC+wEKAhgB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AABoCPAH//wAA//8AAP//AAD//wAA//8AACUC7wH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALwKPAP//AAD//wAA//8AADcCYgH//wAA//8AAP//AAD//wAAQAJ8AP//AABDApQA//8AAP//AAD//wAAUAILAv//AAD//wAA//8AAP//AAD//wAA//8AAFwClgD//wAA//8AAF8CKwD//wAA//8AAP//AABiAgACdAIRAf//AAD//wAA//8AAIICFgD//wAA//8AAIcC1wCNAmwA//8AAP//AACSAiUB//8AAP//AAD//wAA//8AAP//AAD//wAAngIWAP//AACnAgUCsQIGAv//AADAAjkA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADFAswA//8AAP//AAD//wAA//8AAMgCbwDeAn4A//8AAP//AAD//wAA4wJ+AP//AADpAtkA//8AAP//AADsAiMB//8AAP//AAD//wAA//8AAP//AAD//wAA9QJKAf//AAD//wAABAOBAQ8DHAEaAzQB//8AACEDnwH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAKAPrAf//AAD//wAA//8AADEDEwE0A5kA//8AAP//AAD//wAA//8AAP//AAD//wAAOQPSAP//AAD//wAA//8AAEwDOgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABPAyEB//8AAFgD1AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAXAP6Af//AAD//wAA//8AAP//AABkA9UA//8AAP//AABnA5EA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGwDIAL//wAA//8AAP//AAD//wAAfAOaAIEDnwD//wAAhgN0AP//AACPA2sA//8AAJQDbwD//wAA//8AAP//AACZAw0B//8AAP//AACgA34B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAwwMLAc8DIgD//wAA//8AAP//AAD//wAA1AMOAP//AADaAzcA//8AAP//AADlAxUA//8AAP//AADsA6AB/wPjAf//AAD//wAA//8AABQEewD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAGwT/Af//AAD//wAA//8AAP//AAD//wAAKQSmAf//AAD//wAA//8AAP//AAD//wAA//8AADcE2gH//wAA//8AAEkEswFhBHMA//8AAP//AABmBHMAbgStAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAiwR7AP//AACNBPgB//8AAP//AAD//wAAlAS3Af//AAD//wAA//8AAP//AAD//wAA//8AAJ8EQQK4BDQCxwSrAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA1AQXAuIECwHnBEYC//8AAP//AAD//wAA//8AAP//AAD2BD8C//8AAP//AAD//wAA//8AAP//AAACBc0B//8AAP//AAD//wAA//8AAP//AAAMBTUB//8AAP//AAASBSEA//8AABkFwQH//wAA//8AAP//AAD//wAA//8AAP//AAAlBW0B//8AAP//AABJBaAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFMFDAFYBdYA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAZwVZAP//AAD//wAA//8AAP//AABuBXcA//8AAP//AAD//wAAcwVPAX8F5QH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAjAVVAJMFvAH//wAA//8AAP//AACkBZsA//8AAP//AAC0BXUA//8AAP//AAC5BSsA//8AAP//AADBBcoA0wU1Av//AAD//wAA//8AAP//AAD//wAA2wXmAP//AADeBYkA//8AAP//AAD//wAA//8AAOEFJgH//wAA//8AAP//AAD//wAA//8AAOsFlgEEBk4C//8AACsG6AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAC4GaQAyBtkB//8AAP//AAD//wAA//8AAP//AAD//wAARAbIAP//AABJBr4B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFIGMQL//wAA//8AAP//AAD//wAA//8AAFkGZwD//wAAawYfAnwGhgH//wAA//8AAIkG6wCOBhoA//8AAP//AAD//wAAlAZmAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AALIGOgL//wAA//8AAP//AADABhwAxQZYAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADLBhwA//8AANEGygD//wAA//8AAP//AAD//wAA//8AAP//AADXBjIB//8AAOMGkwH//wAA//8AAP//AAD//wAA//8AAP//AAD5BiECDgcbAP//AAD//wAA//8AAP//AAD//wAA//8AABMHagD//wAA//8AABcHBwD//wAA//8AAB0HuQH//wAA//8AADAHTAE6BycC//8AAP//AAD//wAA//8AAP//AABLByUC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGUH3QD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGoHlQH//wAAeAf1AX8H3QD//wAA//8AAP//AACJB9wA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACLB3EAkQdlAf//AAD//wAAoweDAKgHywCtB2sB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMQHKALiB3MB//8AAAII5wD//wAA//8AAAUIPgL//wAAKgjEAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA1CM0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADgIswD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAD0IDQD//wAA//8AAP//AAD//wAA//8AAP//AABDCG0A//8AAEgI/QH//wAA//8AAP//AABVCBYB//8AAP//AAD//wAA//8AAP//AABmCJgBcwhIAf//AAB7COAB//8AAIcIaQD//wAA//8AAP//AAD//wAA//8AAJII4gH//wAA//8AAKMI3wD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAApghoAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKsIpAG8CAYA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADCCBkA//8AAMcIgAH//wAA//8AAP//AADSCMsB5gjGAf//AAD//wAA8AgCAP//AAD//wAA9ggZAQ8JNAD//wAA//8AAP//AAAYCdUB//8AACEJ0QD//wAA//8AACwJNAD//wAAMQkdADkJkwD//wAA//8AAEEJMgL//wAA//8AAP//AAD//wAA//8AAEoJWQD//wAA//8AAFcJGQBgCWoA//8AAP//AAD//wAAaAkvAf//AABwCfIB//8AAP//AAD//wAA//8AAP//AAB6CS4A//8AAH8JLQD//wAAhglyAI0J7gGYCVcA//8AAP//AAD//wAA//8AAKUJPgH//wAA//8AAP//AACtCSkA//8AAP//AACzCaIB//8AAP//AADLCXkA0gm7Af//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADoCdsA7Ql2AP//AAD//wAA//8AAP//AADyCZIA/QmIAAcKJgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AABoKUgEkCp0A//8AAP//AAApCjoB//8AAP//AAD//wAANAp6AP//AAD//wAA//8AAP//AAA5CjAA//8AAD4KDQL//wAA//8AAFcKhAD//wAA//8AAP//AABaChEB//8AAP//AABdCjMB//8AAP//AAD//wAA//8AAP//AABnCvMB//8AAP//AABzCgwB//8AAP//AAD//wAA//8AAHwKCwD//wAAgwofAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAiQo1AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACUCvcB//8AAP//AAD//wAAngorAv//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAtAoRALkKNQD//wAA//8AAP//AAD//wAA//8AAL4KeADDCucB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAM8K9AH//wAA2QoaAP//AADeCm4A//8AAP//AADzClwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD4CqAA//8AAP//AAD//wAA//8AAP0KdQEOC0kB//8AAP//AAD//wAA//8AAP//AAD//wAAGgsQAB8LyQH//wAA//8AAP//AAD//wAA//8AACcLXAE8C1MA//8AAEULdgBQC+UA//8AAP//AAD//wAA//8AAFgLeAD//wAA//8AAP//AAD//wAA//8AAF4L4AD//wAAZAt8AP//AAD//wAAcAuiAP//AAD//wAAeAtcAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAhQuVAP//AACKCx0B//8AAP//AACfCzgB//8AAKoLVQD//wAA//8AAP//AAD//wAA//8AAP//AACvC6UBxAtUAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzwvXAN0LAgH//wAA4wuKAf//AAAEDHEAEAzbAP//AAD//wAA//8AAP//AAD//wAA//8AABYMRQH//wAA//8AAP//AAD//wAA//8AAP//AAAiDEsA//8AACgMTAJJDFYA//8AAP//AAD//wAA//8AAP//AABRDPYB//8AAFsM0wH//wAA//8AAP//AAD//wAA//8AAP//AABkDBAA//8AAP//AAD//wAAagyKAP//AABtDBwC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAIEMcgD//wAAhgwsAf//AACRDO0A//8AAP//AAD//wAA//8AAP//AAD//wAAmwzhAf//AAD//wAA//8AAP//AACqDPUAsAwKAsIMuwDIDJABzgwhAP//AAD//wAA//8AANMMZAH//wAA7AwFAfAMBQH//wAA//8AAPUM3gD//wAA//8AAP//AAD//wAA//8AAP//AAD6DF0A//8AAP8M8gD//wAA//8AAP//AAAFDW0A//8AAA8NywD//wAA//8AABkNEAEeDQgA//8AACQNggD//wAA//8AAP//AAD//wAAKQ1dADIN9QD//wAA//8AAP//AAD//wAANw3SAf//AAD//wAA//8AAP//AABDDYQB//8AAEwNhwBiDQQC//8AAG4NSgL//wAA//8AAI8NWACeDcoB//8AAP//AACoDewB//8AAP//AAC2DV4A//8AAP//AAD//wAA//8AALoNXgC/DYAA//8AAP//AADFDTYA//8AANAN2AD//wAA//8AANgNYQD//wAA3Q2EAP//AAD//wAA//8AAP//AAD//wAA//8AAO0NAwD//wAA8w2MAf//AAD//wAACg6CAP//AAD//wAA//8AAP//AAD//wAAEg4RAv//AAApDmEA//8AAP//AAD//wAA//8AADEO8QE6DloBVA5nAf//AABsDhMA//8AAP//AACBDqQA//8AAIMOTQD//wAA//8AAJEO6QD//wAA//8AAP//AAD//wAAlA5lAP//AAD//wAA//8AAJkO4wD//wAA//8AAP//AAD//wAA//8AAP//AACeDoAA//8AAKMOHgD//wAAqA5uAP//AACtDqYA//8AAP//AAC5DqwAvA7eAP//AADHDhQC0A4yANQOHgD//wAA//8AAN4OGwHvDqoA8w6qAPgO+gD//wAA//8AAP0OvAADD7YA//8AAAgP9wD//wAADQ/3ABQPmgH//wAA//8AAB4PxgD//wAA//8AACAPLgH//wAAKA/kATEPIAE6D9QB//8AAP//AABHD8cBUQ8fAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAXQ89Av//AAB9DwkB//8AAIIPogD//wAA//8AAIcP1gGdD+UA//8AAP//AACiD+IA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKoPfQH//wAA//8AAP//AAD//wAA//8AALsPlwD//wAAyQ8VAM4P8AH//wAA//8AAOYPIgD//wAA7g9BAf//AAD4D70A//8AAP//AAD9Dx0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAhAUAQ8QrwH//wAA//8AACoQPQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALxDZAP//AAD//wAA//8AAEEQPAJiEE4A//8AAHQQWwH//wAA//8AAP//AAD//wAA//8AAIQQfwCJEPwBkRAsAP//AAD//wAA//8AAP//AACYEIsAnRCLAP//AAD//wAApBBEAP//AACoEL0B//8AAP//AAD//wAAtxBAAP//AAD//wAAuhBFAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAL8QAwHHEFcA//8AAM4QowD//wAA//8AANMQowD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANsQSwL//wAA/BBNAP//AAD//wAA//8AAP//AAABEWoB//8AABMRDgL//wAAIRFVAf//AAD//wAA//8AADcRAAH//wAA//8AADwRVABBEfQA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEkRDwBXEb8A//8AAFsRxgD//wAA//8AAP//AABnEQYB//8AAP//AAD//wAAahHtAG8RAQJ5EdAB//8AAP//AAD//wAA//8AAP//AAD//wAAixFQAZMRlAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKQRIgL//wAA//8AAKwRNgH//wAA//8AAP//AAC2EasB//8AAP//AAD//wAA//8AAMYRYgDNEWkB//8AAP//AAD//wAA//8AAP//AAD//wAA3RHmAecRbAH//wAA//8AAPIR6QH//wAA//8AAPwRKgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAJEkwA//8AAP//AAD//wAAGBKHAf//AAD//wAA//8AAP//AAA1EmsAQRI5AP//AABIEmEB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFYSYgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFsSiQH//wAA//8AAG4SHgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAfhLJAIwSGACUEikB//8AAP//AAD//wAAphLqAP//AAD//wAArhK3ALMSGgL//wAAvBI5AMESBQD//wAA//8AAP//AAD//wAAxxLBAP//AAD//wAAzBImAv//AAD//wAA5hLdAf4SRAD//wAACBPeAf//AAD//wAA//8AAP//AAAfEykC//8AAP//AAAvE54B//8AAP//AAD//wAA//8AAP//AABCE1ACSRNwAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAE4TPAD//wAAUxOmAP//AAD//wAA//8AAP//AAD//wAAWBPJAF8T8gD//wAAZBPCAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGkT4AD//wAAehNsAP//AAD//wAA//8AAIoT+gCeE4wAoxOMAP//AACqEyAA//8AAP//AAD//wAArxNwAP//AAC4EzEA//8AALwTQwLWE8UB//8AAP//AADjE0AC//8AAP//AAD//wAA//8AAPgTbwH//wAAChSwAR8UKAD//wAA//8AAP//AAAtFI4B//8AAP//AAD//wAA//8AAP//AAD//wAAOhRUAkQUsQH//wAA//8AAP//AAD//wAAVBQ7Af//AAD//wAA//8AAP//AABpFOEA//8AAP//AAD//wAA//8AAHEUTgH//wAAfBRWAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAI4UDACTFHEB//8AALcU9gD//wAAvBSxAMEUZwD//wAA//8AAP//AADGFMMA//8AAP//AAD//wAAzRSnANsUGAD//wAA4BR6Af//AAD//wAA//8AAP//AAD0FLEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPwU4QD//wAA//8AAAEVKgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAFhWhASAVAQH//wAA//8AACUVfwH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABAFSAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEkVjwH//wAA//8AAP//AABQFcMB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFwV4wBkFRAB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAB0FRcA//8AAP//AAD//wAAfRWYAP//AACCFc4AkxW4AJgV6wD//wAA//8AAP//AACkFVECwxU5AdAVmADcFdAA4RUJAv//AAD//wAA8hV2AfsVJwH//wAA//8AAP//AAD//wAADhacAf//AAD//wAAJBY+AP//AAD//wAA//8AAP//AAD//wAA//8AACkWJAL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEMWUwH//wAA//8AAFcWWwD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFwWMwD//wAAYBZbAP//AAD//wAA//8AAGkWlgD//wAA//8AAHUWAQB7FpAA//8AAIAW0QH//wAA//8AAIwWkAD//wAA//8AAP//AAD//wAAlhYJAP//AAD//wAAnBZRAf//AAD//wAA//8AAKUWyAD//wAA//8AAP//AAD//wAArxbsAP//AAD//wAA//8AAP//AAD//wAA//8AALQWnAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADIFjsA//8AAM0WMAH//wAA//8AANYWmQH//wAA6xbXAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD9FkIAAhf7AP//AAD//wAA//8AAP//AAAHF/sADhcjABMX/AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAGBfqAP//AAAdF4kA//8AAP//AAD//wAALRcsAv//AAD//wAA//8AAE8XuQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFQXKgD//wAA//8AAP//AABmF5IB//8AAG4XQgD//wAA//8AAHYXdwGLFyMA//8AAJQXDwH//wAA//8AAP//AAD//wAA//8AAJ4XtAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAshf/AP//AAD//wAA//8AALcX6gH//wAA//8AAP//AADAF6cA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMMX0QD//wAA//8AAP//AAD//wAA//8AAP//AADIF6kA//8AAP//AAD//wAA//8AAM0XGgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOkXjgDuF18B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AABQYtgD//wAAHxiOAP//AAAoGPMA//8AAP//AAD//wAAMBioADoYAAD//wAA//8AAEIY7wD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABHGPkB//8AAP//AAD//wAAXRgCAv//AAD//wAAixjiAP//AAD//wAA//8AAP//AAD//wAAkBgkAJUYBwGeGKQA//8AAP//AAD//wAApRgtArkYBgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAyxhQAP//AADQGH8A//8AAP//AAD//wAA1xj/AP//AAD//wAA3xhgAP//AAD//wAA//8AAP//AAD//wAA//8AAOQYDwD//wAA//8AAP//AAD//wAA//8AAP//AADpGMAB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP4YCAH//wAA//8AAP//AAD//wAABRlPAv//AAD//wAA//8AAP//AAAmGXkA//8AAP//AAD//wAA//8AAP//AAD//wAAKxk7AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA1GSMC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEAZAQFJGUcC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGoZtQD//wAA//8AAP//AAD//wAAdBlZAf//AAD//wAA//8AAP//AAD//wAA//8AAJoZegD//wAA//8AAP//AAD//wAApBn4AKkZ7wD//wAA//8AALAZ8QD//wAA//8AAP//AAD//wAAuRmFAP//AAD//wAA//8AAP//AAD//wAAyBleAf//AADaGTAC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADxGfYA//8AAP//AAD//wAA//8AAPcZqAD//wAA/BnCAf//AAD//wAA//8AAAUaPQEqGggB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALxpNAVMasABYGvkAXRpoAP//AAD//wAA//8AAP//AABwGisBehqrAP//AAD//wAA//8AAP//AAB9GjoA//8AAP//AAD//wAA//8AAP//AAD//wAAhxpOAP//AAD//wAAjRpfAJIaSwH//wAA//8AAP//AAD//wAA//8AAJ0a5wCoGswB//8AAP//AACzGgcB//8AAP//AAD//wAAuBp8Af//AAD//wAA//8AAP//AAD//wAA0BotAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA2xp0AegaBwL//wAA//8AAP//AAD3GtAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8aLwAEG60AChvBABobCgH//wAA//8AAP//AAD//wAA//8AAP//AAAlG7gBOBvkAP//AAD//wAA//8AAD0bJQD//wAA//8AAP//AAD//wAA//8AAEMbZQD//wAATBuXAVYbrABiG5sB//8AAP//AAD//wAA//8AAP//AABrG7wAcBtJAv//AAD//wAA//8AAP//AAD//wAAkRtAAZsbFQL//wAA//8AAP//AAD//wAA//8AAKYb+AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAK0bxwCyG4gB//8AAP//AAD//wAA//8AAP//AAD//wAA0BvfAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAN8bRwH//wAA//8AAOcbQgH//wAA//8AAP//AAD//wAA//8AAO8bowEDHO4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAAgcPwD//wAADRwJAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAYHL4AHxyzAP//AAD//wAA//8AACkcNwL//wAA//8AAP//AAD//wAA//8AAD8cEwH//wAAThwVAf//AAD//wAA//8AAP//AABhHL4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAHEcMAD//wAAhxy6Af//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAlxxGAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADEHCQA//8AAP//AAD//wAAyhydAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADVHD4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADeHEYA//8AAOQcrQD//wAA//8AAP//AAD//wAA//8AAP//AAD6HKcB//8AAP//AAD//wAADB0bAP//AAAVHWAB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACkdsgE+HTgC//8AAP//AAD//wAA//8AAP//AABkHbsA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAaR2sAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAB6HTIAkB1GAP//AAD//wAA//8AAP//AAD//wAAlR1jAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAJodQwH//wAA//8AAP//AAD//wAA//8AAP//AAClHXgB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAsB2CAf//AAD//wAA//8AAP//AAD//wAA//8AALsdtADAHdoA//8AAP//AADFHa4B4x1NAv//AAAEHkgC//8AAP//AAD//wAA//8AACAesgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALR7PAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA+HgMCSh7fAf//AAD//wAA//8AAP//AAD//wAAWx4SAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAF4e1gD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGMetQH//wAA//8AAP//AAD//wAA//8AAP//AAB+Hp4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAI0eQwD//wAA//8AAP//AAD//wAA//8AAP//AACSHvQAlx6vAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACcHkMA//8AAP//AAD//wAA//8AAP//AACnHncA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAC5HnUA//8AAP//AAD//wAA//8AAMEeEgL//wAA0x7uAP//AAD//wAA3x79AP//AAD//wAA//8AAOQeTwD//wAA6h79AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA8h5JAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD3Hr0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/Hv4B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAAwfuQD//wAA//8AAP//AAD//wAA//8AABYfMQD//wAA//8AAP//AAD//wAALB89ADgfeQH//wAA//8AAP//AAD//wAASx9PAP//AAD//wAAXR8UAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAYR/DAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAcB+6AHUfHwF+H+kA//8AAIkfYwH//wAA//8AAKEfQgK1HzkCxB9fAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADLH1IA//8AAP//AADPH8QA1R8bAv//AAD//wAA//8AAOgfhgD//wAA//8AAPQfpQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA+R+lAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAAMgrgAIIBIB//8AAP//AAD//wAA//8AAP//AAAbICgB//8AAP//AAD//wAA//8AAP//AAAtIC4C//8AAP//AAD//wAA//8AAP//AAA+IDMA//8AAP//AAD//wAA//8AAFQgsgBZIDsCaCAiAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAeyCLAf//AAD//wAA//8AAJMgVwH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKggxQC3IMIA//8AAP//AAD//wAA//8AAMQgSQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMwgSgD//wAA//8AAP//AADRICwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA1CA2Av//AAD//wAA6CDoAP//AAD//wAA//8AAP//AAD0IFIA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD9IFEA//8AAP//AAD//wAA//8AAP//AAAFIQoB//8AAP//AAD//wAADCHPAP//AAAPIUoA//8AAP//AAD//wAA//8AAP//AAAXIR0C//8AACohPAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAyIdwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAOSGRAf//AABNIV0B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABpIY0B//8AAP//AAD//wAA//8AAP//AAD//wAAdyFYAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACWIbcA//8AAP//AAChIVQB//8AAP//AAD//wAA//8AAP//AAD//wAAtCETAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAuSEEAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAvyGoAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANUhqgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPAhFgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/iGwAP//AAD//wAA//8AAP//AAD//wAA//8AAAQibgH//wAA//8AABoixQD//wAA//8AACEiKgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACYixAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADAirgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADYi7AA+IhcB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAE8iEgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABaIkQC//8AAP//AABwInIB//8AAP//AAD//wAAlCK/AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAsyJBAP//AAD//wAAviK0AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAziLPAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA4SJRAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD2IgIB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAHI8cA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAEyNFAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAB4j5AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAKiPxAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAvI/4A//8AAP//AAA4IwoA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAD4jtgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAWyMEAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGUjUAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABuI+YA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAfSPTAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACOI9oA//8AAJUjMwL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAqSP+AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAK4jZAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AALIjewH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzCPwAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADRI84B//8AAP//AAD//wAA//8AAOIj8AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADqI2AA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPkjTAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8jLwL//wAA//8AAP//AAD//wAA//8AABYkZAD//wAAHyQvAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA1JM0A//8AAP//AAD//wAA//8AAP//AABFJLgAVSRHAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAWiQPAv//AABwJPkA//8AAP//AAD//wAAdySKAP//AAD//wAA//8AAP//AAD//wAA//8AAIckEAL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACqJGYA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACxJGMA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AALgkqQH//wAA//8AAMkkOAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAM4kwAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADVJMAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOkkQQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAO0kcAH//wAA//8AAAMlQAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAdJYMB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA3JboA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEElUgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABgJYUB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABzJUUC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACXJa8A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKwl1QD//wAA//8AAP//AAD//wAA//8AAP//AAC8JUgA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADBJUcA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMolaAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA1yVIAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOslUwJsYW5hAGxpbmEAegB5aQBtbgBjbgBtYWthAHlpaWkAbWFuaQBpbmthbm5hZGEAY2kAbG8AbGFvAGxhb28Aenp6egBtaWFvAHllemkAaW5ua28AY28AbWUAbG9lAGdyYW4AcGkAbGluZWFyYQBtYXJrAGNhcmkAY2FyaWFuAHBvAG1lbmRla2lrYWt1aQBncmVrAHBlAG1lZXRlaW1heWVrAGlua2hhcm9zaHRoaQBnZW9yAGdyZWVrAG1ybwBtcm9vAGthbmEAbWVybwBtAGdvbm0AY2FrbQBpbm9zbWFueWEAaW5tYW5pY2hhZWFuAGluYXJtZW5pYW4AaW5tcm8AaW5taWFvAGMAaW5jaGFrbWEAY29tbW9uAG1hbmRhaWMAaW5teWFubWFyAGlubWFrYXNhcgBxYWFpAGluaWRlb2dyYXBoaWNzeW1ib2xzYW5kcHVuY3R1YXRpb24AaW5raG1lcgBjYW5zAHByZXBlbmRlZGNvbmNhdGVuYXRpb25tYXJrAGxtAG1hcmMAY29ubmVjdG9ycHVuY3R1YXRpb24AaW5ydW5pYwBpbmNhcmlhbgBpbmF2ZXN0YW4AY29tYmluaW5nbWFyawBpbmN1bmVpZm9ybW51bWJlcnNhbmRwdW5jdHVhdGlvbgBtZXJjAGluY2hvcmFzbWlhbgBwZXJtAGluYWhvbQBpbmlwYWV4dGVuc2lvbnMAaW5jaGVyb2tlZQBpbnNoYXJhZGEAbWFrYXNhcgBpbmFycm93cwBsYwBtYXNhcmFtZ29uZGkAaW5jdW5laWZvcm0AbWMAY2MAaW56YW5hYmF6YXJzcXVhcmUAbGluZXNlcGFyYXRvcgBhcm1uAHFtYXJrAGFybWkAaW5zYW1hcml0YW4AYXJtZW5pYW4AaW5tYXJjaGVuAGlubWFzYXJhbWdvbmRpAHFhYWMAcGMAaW5zY3JpcHRpb25hbHBhcnRoaWFuAGxhdG4AbGF0aW4AcmkAaW50aGFhbmEAaW5raG1lcnN5bWJvbHMAaW5rYXRha2FuYQBpbmN5cmlsbGljAGludGhhaQBpbmNoYW0AaW5rYWl0aGkAenMAbXRlaQBpbml0aWFscHVuY3R1YXRpb24AY3MAaW5zeXJpYWMAcGNtAGludGFrcmkAcHMAbWFuZABpbmthbmFleHRlbmRlZGEAbWVuZABtb2RpAGthdGFrYW5hAGlkZW8AcHJ0aQB5ZXppZGkAaW5pZGVvZ3JhcGhpY2Rlc2NyaXB0aW9uY2hhcmFjdGVycwB4aWRjb250aW51ZQBicmFpAGFzY2lpAHByaXZhdGV1c2UAYXJhYmljAGlubXlhbm1hcmV4dGVuZGVkYQBpbnJ1bWludW1lcmFsc3ltYm9scwBsZXR0ZXIAaW5uYW5kaW5hZ2FyaQBpbm1lZXRlaW1heWVrAGlub2xkbm9ydGhhcmFiaWFuAGluY2prY29tcGF0aWJpbGl0eWZvcm1zAGtuZGEAa2FubmFkYQBpbmNqa2NvbXBhdGliaWxpdHlpZGVvZ3JhcGhzAGwAaW5tb2RpAGluc3BlY2lhbHMAaW50cmFuc3BvcnRhbmRtYXBzeW1ib2xzAGlubWVuZGVraWtha3VpAGxldHRlcm51bWJlcgBpbm1lZGVmYWlkcmluAHhpZGMAaW5jaGVzc3N5bWJvbHMAaW5lbW90aWNvbnMAaW5saW5lYXJhAGlubGFvAGJyYWhtaQBpbm9sZGl0YWxpYwBpbm1pc2NlbGxhbmVvdXNtYXRoZW1hdGljYWxzeW1ib2xzYQBtb25nb2xpYW4AeGlkcwBwc2FsdGVycGFobGF2aQBncmxpbmsAa2l0cwBpbnN1bmRhbmVzZQBpbm9sZHNvZ2RpYW4AZ290aGljAGluYW5jaWVudHN5bWJvbHMAbWVyb2l0aWNjdXJzaXZlAGthbGkAY29udHJvbABwYXR0ZXJud2hpdGVzcGFjZQBpbmFkbGFtAHNrAGx0AGlubWFuZGFpYwBpbmNvbW1vbmluZGljbnVtYmVyZm9ybXMAaW5jamtjb21wYXRpYmlsaXR5aWRlb2dyYXBoc3N1cHBsZW1lbnQAc28AaWRjAGlub2xkc291dGhhcmFiaWFuAHBhbG0AaW5seWNpYW4AaW50b3RvAGlkc2JpbmFyeW9wZXJhdG9yAGlua2FuYXN1cHBsZW1lbnQAaW5jamtzdHJva2VzAHNvcmEAYmFtdW0AaW5vcHRpY2FsY2hhcmFjdGVycmVjb2duaXRpb24AaW5kb21pbm90aWxlcwBiYXRrAGdyZXh0AGJhdGFrAHBhdHdzAGlubWFsYXlhbGFtAGlubW9kaWZpZXJ0b25lbGV0dGVycwBpbnNtYWxsa2FuYWV4dGVuc2lvbgBiYXNzAGlkcwBwcmludABpbmxpbmVhcmJpZGVvZ3JhbXMAaW50YWl0aGFtAGlubXVzaWNhbHN5bWJvbHMAaW56bmFtZW5ueW11c2ljYWxub3RhdGlvbgBzYW1yAGluc3lsb3RpbmFncmkAaW5uZXdhAHNhbWFyaXRhbgBzAGpvaW5jAGluY29udHJvbHBpY3R1cmVzAGxpc3UAcGF1YwBpbm1pc2NlbGxhbmVvdXNzeW1ib2xzAGluYW5jaWVudGdyZWVrbXVzaWNhbG5vdGF0aW9uAGlubWlzY2VsbGFuZW91c3N5bWJvbHNhbmRhcnJvd3MAc20AaW5taXNjZWxsYW5lb3Vzc3ltYm9sc2FuZHBpY3RvZ3JhcGhzAGludWdhcml0aWMAcGQAaXRhbABhbG51bQB6aW5oAGlud2FyYW5nY2l0aQBpbmxhdGluZXh0ZW5kZWRhAGluc2F1cmFzaHRyYQBpbnRhaWxlAGlub2xkdHVya2ljAGlkY29udGludWUAaW5oYW5pZmlyb2hpbmd5YQBzYwBpZHN0AGlubGF0aW5leHRlbmRlZGUAbG93ZXIAYmFsaQBpbmhpcmFnYW5hAGluY2F1Y2FzaWFuYWxiYW5pYW4AaW5kZXNlcmV0AGJsYW5rAGluc3BhY2luZ21vZGlmaWVybGV0dGVycwBjaGVyb2tlZQBpbmx5ZGlhbgBwaG9lbmljaWFuAGNoZXIAYmVuZ2FsaQBtYXJjaGVuAGlud2FuY2hvAGdyYXBoZW1lbGluawBiYWxpbmVzZQBpZHN0YXJ0AGludGFtaWwAaW5tdWx0YW5pAGNoYW0AY2hha21hAGthaXRoaQBpbm1haGFqYW5pAGdyYXBoZW1lYmFzZQBpbm9naGFtAGNhc2VkAGlubWVldGVpbWF5ZWtleHRlbnNpb25zAGtob2praQBpbmFuY2llbnRncmVla251bWJlcnMAcnVucgBraGFyAG1hbmljaGFlYW4AbG93ZXJjYXNlAGNhbmFkaWFuYWJvcmlnaW5hbABpbm9sY2hpa2kAcGxyZABpbmV0aGlvcGljAHNpbmQAY3djbQBpbmVhcmx5ZHluYXN0aWNjdW5laWZvcm0AbGwAemwAaW5zaW5oYWxhAGlua2h1ZGF3YWRpAHhpZHN0YXJ0AHhkaWdpdABiaWRpYwBjaG9yYXNtaWFuAGluc2lkZGhhbQBpbmNvdW50aW5ncm9kbnVtZXJhbHMAYWhvbQBjaHJzAGtobXIAaW5vbGR1eWdodXIAaW5ncmFudGhhAGJhbXUAaW5zY3JpcHRpb25hbHBhaGxhdmkAZ29uZwBtb25nAGlubGF0aW5leHRlbmRlZGMAaW5uZXd0YWlsdWUAYWRsbQBpbm9zYWdlAGluZ2VuZXJhbHB1bmN0dWF0aW9uAGdlb3JnaWFuAGtoYXJvc2h0aGkAc2luaGFsYQBraG1lcgBzdGVybQBjYXNlZGxldHRlcgBtdWx0YW5pAGd1bmphbGFnb25kaQBtYXRoAGluY3lyaWxsaWNzdXBwbGVtZW50AGluZ2VvcmdpYW4AZ290aABpbmNoZXJva2Vlc3VwcGxlbWVudABnbGFnb2xpdGljAHF1b3RhdGlvbm1hcmsAdWlkZW8AaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmEAam9pbmNvbnRyb2wAcnVuaWMAaW5tb25nb2xpYW4AZW1vamkAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmUAZ3JhbnRoYQBpbnRpcmh1dGEAaW5oYXRyYW4AYWRsYW0AbHUAaW5raGl0YW5zbWFsbHNjcmlwdABrdGhpAGluZ3VybXVraGkAc3VuZGFuZXNlAGlub2xkaHVuZ2FyaWFuAHRha3JpAGludGFtaWxzdXBwbGVtZW50AG9yaXlhAGludmFpAGJyYWgAaW5taXNjZWxsYW5lb3VzdGVjaG5pY2FsAHZhaQB2YWlpAHNhdXIAZ3VydQB0YWlsZQBpbmhlcml0ZWQAcGF1Y2luaGF1AHphbmIAcHVuY3QAbGluYgBndXJtdWtoaQB0YWtyAGlubmFiYXRhZWFuAGlua2FuYnVuAGxvZ2ljYWxvcmRlcmV4Y2VwdGlvbgBpbmJoYWlrc3VraQBpbmNqa3VuaWZpZWRpZGVvZ3JhcGhzZXh0ZW5zaW9uYwBncmFwaGVtZWV4dGVuZABpbmVsYmFzYW4AaW5zb3Jhc29tcGVuZwBoYW4AaGFuaQBsaW1idQB1bmFzc2lnbmVkAHJhZGljYWwAaGFubwBsb3dlcmNhc2VsZXR0ZXIAY250cmwAaW5jamt1bmlmaWVkaWRlb2dyYXBocwBsaW5lYXJiAGluYW5hdG9saWFuaGllcm9nbHlwaHMAaGFudW5vbwBpbmtob2praQBpbmxhdGluZXh0ZW5kZWRhZGRpdGlvbmFsAGluZW5jbG9zZWRhbHBoYW51bWVyaWNzAGFuYXRvbGlhbmhpZXJvZ2x5cGhzAG4AZW1vamltb2RpZmllcgBzZABoaXJhAHNpZGQAbGltYgBiaGtzAHBobGkAbmFuZGluYWdhcmkAbm8Ac2F1cmFzaHRyYQBpbnRhbmdzYQBjd3QAYmhhaWtzdWtpAGluZ3JlZWthbmRjb3B0aWMAbmtvAG5rb28AdGVybQBvc2FnZQB4cGVvAHRuc2EAdGFuZ3NhAGlua2F5YWhsaQBwAGlub3JpeWEAaW55ZXppZGkAaW5hcmFiaWMAaW5waG9lbmljaWFuAGluc2hhdmlhbgBiaWRpY29udHJvbABpbmVuY2xvc2VkaWRlb2dyYXBoaWNzdXBwbGVtZW50AHdhcmEAbXVsdABpbm1lcm9pdGljaGllcm9nbHlwaHMAc2luaABzaGF2aWFuAGlua2FuZ3hpcmFkaWNhbHMAZW5jbG9zaW5nbWFyawBhcmFiAGluc2luaGFsYWFyY2hhaWNudW1iZXJzAGJyYWlsbGUAaW5oYW51bm9vAG9zbWEAYmVuZwBpbmJhc2ljbGF0aW4AaW5hcmFiaWNwcmVzZW50YXRpb25mb3Jtc2EAY3BtbgByZWdpb25hbGluZGljYXRvcgBpbmVuY2xvc2VkYWxwaGFudW1lcmljc3VwcGxlbWVudABlbW9qaW1vZGlmaWVyYmFzZQBpbmdyZWVrZXh0ZW5kZWQAbGVwYwBpbmRvZ3JhAGZvcm1hdABseWNpAGx5Y2lhbgBkaWEAaW5waGFpc3Rvc2Rpc2MAZGkAZGlhawB1bmtub3duAGdyYmFzZQBteW1yAG15YW5tYXIAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmQAZW1vZABpbmdlb21ldHJpY3NoYXBlcwBpbmN5cHJvbWlub2FuAGluc3VuZGFuZXNlc3VwcGxlbWVudAB0b3RvAGdsYWcAdGFpdmlldABhc2NpaWhleGRpZ2l0AG9kaQBwdW5jdHVhdGlvbgB2cwBzdW5kAGluc295b21ibwBpbmltcGVyaWFsYXJhbWFpYwBpbmJhdGFrAGlubGF0aW5leHRlbmRlZGQAaW5udXNodQBpbnRpYmV0YW4AaW5sb3dzdXJyb2dhdGVzAGhhdHJhbgBpbmJsb2NrZWxlbWVudHMAaW5zb2dkaWFuAGluZGluZ2JhdHMAaW5lbHltYWljAGluZGV2YW5hZ2FyaQBlbW9qaWNvbXBvbmVudABpbmthdGFrYW5hcGhvbmV0aWNleHRlbnNpb25zAGlkZW9ncmFwaGljAGNvcHRpYwBpbm51bWJlcmZvcm1zAGhhdHIAaW5jamtjb21wYXRpYmlsaXR5AGlua2FuYWV4dGVuZGVkYgBwYXR0ZXJuc3ludGF4AGF2ZXN0YW4AaW5hcmFiaWNleHRlbmRlZGEAc29nZGlhbgBzb2dvAGludGFuZ3V0AGNvcHQAZ3JhcGgAb2lkYwBpbmJ5emFudGluZW11c2ljYWxzeW1ib2xzAGluaW5zY3JpcHRpb25hbHBhcnRoaWFuAGRpYWNyaXRpYwBpbmluc2NyaXB0aW9uYWxwYWhsYXZpAGlubWF5YW5udW1lcmFscwBpbm15YW5tYXJleHRlbmRlZGIAaW50YWdzAGphdmEAY3BydABuYW5kAHBhdHN5bgB0YWxlAG9pZHMAc2VudGVuY2V0ZXJtaW5hbABpbXBlcmlhbGFyYW1haWMAdGVybWluYWxwdW5jdHVhdGlvbgBseWRpAGx5ZGlhbgBib3BvAGphdmFuZXNlAGN3bABpbmdlb21ldHJpY3NoYXBlc2V4dGVuZGVkAGlub2xkcGVyc2lhbgBpbm9ybmFtZW50YWxkaW5nYmF0cwBpbmJyYWlsbGVwYXR0ZXJucwBpbnZhcmlhdGlvbnNlbGVjdG9ycwBjYXNlaWdub3JhYmxlAGlueWlyYWRpY2FscwBpbm5vYmxvY2sAaW52ZXJ0aWNhbGZvcm1zAGluZXRoaW9waWNzdXBwbGVtZW50AHNoYXJhZGEAaW5iYWxpbmVzZQBpbnZlZGljZXh0ZW5zaW9ucwB3b3JkAGlubWlzY2VsbGFuZW91c21hdGhlbWF0aWNhbHN5bWJvbHNiAHRhbWwAb2xjawBpZHNiAG9sb3dlcgBkZWNpbWFsbnVtYmVyAGF2c3QAaW5jeXJpbGxpY2V4dGVuZGVkYQBvbGNoaWtpAHNocmQAaW50YWl4dWFuamluZ3N5bWJvbHMAaW50YWl2aWV0AHVnYXIAaW5jamtzeW1ib2xzYW5kcHVuY3R1YXRpb24AYm9wb21vZm8AaW5saXN1AGlub2xkcGVybWljAHNpZGRoYW0AemFuYWJhemFyc3F1YXJlAGFzc2lnbmVkAG1lZGYAY2xvc2VwdW5jdHVhdGlvbgBzYXJiAHNvcmFzb21wZW5nAGludmFyaWF0aW9uc2VsZWN0b3Jzc3VwcGxlbWVudABpbmhhbmd1bGphbW8AbWVkZWZhaWRyaW4AcGhhZwBpbmxpc3VzdXBwbGVtZW50AGluY29wdGljAGluc3lyaWFjc3VwcGxlbWVudABpbmhhbmd1bGphbW9leHRlbmRlZGEAY3lybABpbnNob3J0aGFuZGZvcm1hdGNvbnRyb2xzAGluY3lyaWxsaWNleHRlbmRlZGMAZ3VqcgBjd3UAZ3VqYXJhdGkAc3BhY2luZ21hcmsAYWxwaGEAbWx5bQBpbnBhbG15cmVuZQBtYWxheWFsYW0Ac3BhY2UAaW5sZXBjaGEAcGFsbXlyZW5lAHNveW8AbWVyb2l0aWNoaWVyb2dseXBocwB4c3V4AGludGVsdWd1AGluZGV2YW5hZ2FyaWV4dGVuZGVkAGlubWVyb2l0aWNjdXJzaXZlAGRzcnQAdGhhYQB0aGFhbmEAYnVnaQB0aGFpAHNvZ2QAdGl0bGVjYXNlbGV0dGVyAGlubWF0aGVtYXRpY2FsYWxwaGFudW1lcmljc3ltYm9scwBvcmtoAGNhdWNhc2lhbmFsYmFuaWFuAGluYmFtdW0AZGVzZXJldABpbmdlb3JnaWFuc3VwcGxlbWVudABidWdpbmVzZQBzZXBhcmF0b3IAaW5zbWFsbGZvcm12YXJpYW50cwB0aXJoAGluYnJhaG1pAG5kAHBobngAbmV3YQBpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3MAbWFoagBpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3Nmb3JzeW1ib2xzAG9sZHBlcnNpYW4AbWFoYWphbmkAdGFpdGhhbQBuZXd0YWlsdWUAbmV3bGluZQBzeXJjAGlubW9uZ29saWFuc3VwcGxlbWVudABpbnVuaWZpZWRjYW5hZGlhbmFib3JpZ2luYWxzeWxsYWJpY3NleHRlbmRlZGEAc2hhdwBidWhkAHZpdGhrdXFpAG51bWJlcgBpbnN1dHRvbnNpZ253cml0aW5nAHZhcmlhdGlvbnNlbGVjdG9yAGV0aGkAbGVwY2hhAHRpcmh1dGEAcm9oZwBhaGV4AGluY29wdGljZXBhY3RudW1iZXJzAHdhbmNobwBpbmNqa3VuaWZpZWRpZGVvZ3JhcGhzZXh0ZW5zaW9uZwBraG9qAGN1bmVpZm9ybQBpbmR1cGxveWFuAHVnYXJpdGljAGluc3ltYm9sc2FuZHBpY3RvZ3JhcGhzZXh0ZW5kZWRhAG9sZHBlcm1pYwBpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3NzdXBwbGVtZW50AGtodWRhd2FkaQB0YW5nAHN5cmlhYwB0YWdiYW53YQBtb2RpZmllcmxldHRlcgBpbmN1cnJlbmN5c3ltYm9scwBpbm55aWFrZW5ncHVhY2h1ZWhtb25nAHRhbWlsAHRhbHUAaW5nb3RoaWMAaW51bmlmaWVkY2FuYWRpYW5hYm9yaWdpbmFsc3lsbGFiaWNzAHdjaG8AaW5jb21iaW5pbmdkaWFjcml0aWNhbG1hcmtzZXh0ZW5kZWQAb2dhbQB0ZWx1AGlkc3RyaW5hcnlvcGVyYXRvcgBpbmJlbmdhbGkAbmwAc3Vycm9nYXRlAGViYXNlAGhhbmcAaW5idWdpbmVzZQBtYXRoc3ltYm9sAGludml0aGt1cWkAdml0aABpbmNqa3JhZGljYWxzc3VwcGxlbWVudABpbmd1amFyYXRpAGluZ2xhZ29saXRpYwBpbmd1bmphbGFnb25kaQBwaGFnc3BhAGN3Y2YAbmNoYXIAb3RoZXJpZGNvbnRpbnVlAHdoaXRlc3BhY2UAaW5saW5lYXJic3lsbGFiYXJ5AHNnbncAb3RoZXIAaGlyYWdhbmEAaW5waGFnc3BhAG90aGVybnVtYmVyAGlucmVqYW5nAG9zZ2UAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmIAaW50YWdhbG9nAGluYmFzc2F2YWgAdGFuZ3V0AGhtbmcAaW5lbmNsb3NlZGNqa2xldHRlcnNhbmRtb250aHMAY3VycmVuY3lzeW1ib2wAaW5saW1idQBpbmJ1aGlkAGluZXRoaW9waWNleHRlbmRlZGEAc3lsbwBkYXNoAHdhcmFuZ2NpdGkAb2FscGhhAG9sZGl0YWxpYwBpbm90dG9tYW5zaXlhcW51bWJlcnMAc3BhY2VzZXBhcmF0b3IAaW5sYXRpbjFzdXBwbGVtZW50AG90aGVyYWxwaGFiZXRpYwBjaGFuZ2Vzd2hlbmNhc2VtYXBwZWQAaW5hZWdlYW5udW1iZXJzAGludW5pZmllZGNhbmFkaWFuYWJvcmlnaW5hbHN5bGxhYmljc2V4dGVuZGVkAGJ1aGlkAGluamF2YW5lc2UAY3lyaWxsaWMAZG9ncmEAbm9uY2hhcmFjdGVyY29kZXBvaW50AGluaGFuZ3Vsc3lsbGFibGVzAGJhc3NhdmFoAGlubGV0dGVybGlrZXN5bWJvbHMAaW5jb21iaW5pbmdoYWxmbWFya3MAaW5hcmFiaWNtYXRoZW1hdGljYWxhbHBoYWJldGljc3ltYm9scwBvcnlhAGlucHJpdmF0ZXVzZWFyZWEAY2hhbmdlc3doZW50aXRsZWNhc2VkAGRvZ3IAaGVicgBpbnRhZ2JhbndhAGludGlmaW5hZ2gAaW5ib3BvbW9mbwBuYXJiAHJqbmcAaW5hbHBoYWJldGljcHJlc2VudGF0aW9uZm9ybXMAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmYAaW5zeW1ib2xzZm9ybGVnYWN5Y29tcHV0aW5nAG9sZGh1bmdhcmlhbgBmaW5hbHB1bmN0dWF0aW9uAGlucGF1Y2luaGF1AGlucHNhbHRlcnBhaGxhdmkAenAAcGhscABpbmFyYWJpY3ByZXNlbnRhdGlvbmZvcm1zYgBub25zcGFjaW5nbWFyawBkZXZhAHRhdnQAaG1ucABkZXZhbmFnYXJpAGtoaXRhbnNtYWxsc2NyaXB0AGtheWFobGkAaW5iYW11bXN1cHBsZW1lbnQAc3lsb3RpbmFncmkAdGlidABlcHJlcwB0aWJldGFuAGVsYmEAb3NtYW55YQBpbmRpdmVzYWt1cnUAb2xkdHVya2ljAGNoYW5nZXN3aGVubG93ZXJjYXNlZABjeXByb21pbm9hbgBpbmV0aGlvcGljZXh0ZW5kZWQAZW1vamlwcmVzZW50YXRpb24AYW55AG90aGVybG93ZXJjYXNlAG91Z3IAaW5oZWJyZXcAc29mdGRvdHRlZABpbm1hdGhlbWF0aWNhbG9wZXJhdG9ycwBpbmFsY2hlbWljYWxzeW1ib2xzAGlubWFoam9uZ3RpbGVzAGhhbmd1bABleHQAb21hdGgAaW50YW5ndXRjb21wb25lbnRzAG90aGVybGV0dGVyAG5iYXQAbmFiYXRhZWFuAG5zaHUAcGFyYWdyYXBoc2VwYXJhdG9yAGluYXJhYmljZXh0ZW5kZWRiAGlubGF0aW5leHRlbmRlZGcAY2hhbmdlc3doZW51cHBlcmNhc2VkAGh1bmcAaW5wbGF5aW5nY2FyZHMAaW5hcmFiaWNzdXBwbGVtZW50AGlueWlqaW5naGV4YWdyYW1zeW1ib2xzAGlucGhvbmV0aWNleHRlbnNpb25zAG90aGVydXBwZXJjYXNlAG90aGVyaWRzdGFydABlbGJhc2FuAGVseW0AY2YAaW5pbmRpY3NpeWFxbnVtYmVycwBvdGhlcnN5bWJvbABleHRlbmRlcgBleHRwaWN0AHdzcGFjZQBwZgBlbHltYWljAGludGFuZ3V0c3VwcGxlbWVudABjeXByaW90AHN5bWJvbABpbmN5cmlsbGljZXh0ZW5kZWRiAGluc3VwZXJzY3JpcHRzYW5kc3Vic2NyaXB0cwBpbnlpc3lsbGFibGVzAGlucGhvbmV0aWNleHRlbnNpb25zc3VwcGxlbWVudABvbGRzb2dkaWFuAGluZ2VvcmdpYW5leHRlbmRlZABobHV3AGRpZ2l0AGluaGFuZ3VsamFtb2V4dGVuZGVkYgBpbmhpZ2hwcml2YXRldXNlc3Vycm9nYXRlcwBpbnBhaGF3aGhtb25nAG9naGFtAGluc3VwcGxlbWVudGFsYXJyb3dzYQBvdXBwZXIAYWdoYgBvdGhlcm1hdGgAbnVzaHUAc295b21ibwBpbmxhdGluZXh0ZW5kZWRiAGFscGhhYmV0aWMAaW5zdXBwbGVtZW50YWxhcnJvd3NjAGluc3VwcGxlbWVudGFsbWF0aGVtYXRpY2Fsb3BlcmF0b3JzAG90aGVyZGVmYXVsdGlnbm9yYWJsZWNvZGVwb2ludABkZXByZWNhdGVkAG9sZG5vcnRoYXJhYmlhbgBpbmN5cHJpb3RzeWxsYWJhcnkAZXh0ZW5kZWRwaWN0b2dyYXBoaWMAdW5pZmllZGlkZW9ncmFwaABwYWhhd2hobW9uZwBkaXZlc2FrdXJ1AHNpZ253cml0aW5nAHRhZ2IAdGlmaW5hZ2gAdXBwZXIAaW5oYWxmd2lkdGhhbmRmdWxsd2lkdGhmb3JtcwB1cHBlcmNhc2UAZXRoaW9waWMAbW9kaWZpZXJzeW1ib2wAb3RoZXJwdW5jdHVhdGlvbgByZWphbmcAaW5ldGhpb3BpY2V4dGVuZGVkYgB0Zm5nAGhleABpbnN1cHBsZW1lbnRhbHB1bmN0dWF0aW9uAHRnbGcAaW5sYXRpbmV4dGVuZGVkZgB0YWdhbG9nAGhhbmlmaXJvaGluZ3lhAGVjb21wAGluZ2xhZ29saXRpY3N1cHBsZW1lbnQAaGV4ZGlnaXQAY2hhbmdlc3doZW5jYXNlZm9sZGVkAGRhc2hwdW5jdHVhdGlvbgBvbGRzb3V0aGFyYWJpYW4AZHVwbABpbmVneXB0aWFuaGllcm9nbHlwaHMAdGVsdWd1AHVwcGVyY2FzZWxldHRlcgBpbmVneXB0aWFuaGllcm9nbHlwaGZvcm1hdGNvbnRyb2xzAGh5cGhlbgBoZWJyZXcAaW5oaWdoc3Vycm9nYXRlcwB6eXl5AG9ncmV4dABvdGhlcmdyYXBoZW1lZXh0ZW5kAGRlcABpbnN1cHBsZW1lbnRhbGFycm93c2IAZGVmYXVsdGlnbm9yYWJsZWNvZGVwb2ludABpbmhhbmd1bGNvbXBhdGliaWxpdHlqYW1vAG9sZHV5Z2h1cgBpbnN1cHBsZW1lbnRhcnlwcml2YXRldXNlYXJlYWEAaW5ib3BvbW9mb2V4dGVuZGVkAGluc3VwcGxlbWVudGFsc3ltYm9sc2FuZHBpY3RvZ3JhcGhzAG55aWFrZW5ncHVhY2h1ZWhtb25nAG9wZW5wdW5jdHVh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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7KBQnJiUOBSQUBxkiHSAQOx87OwIBOxkPOw47Oxw7Ajs7Ows7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Oxg7Fjs7Czs7Ozs7BzsAOzsQOwE7OxA7OzsPOzs7Bjs7OzsAOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwYDDg4ODg4OAQ4ODg4ODg4ODg4ADg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgAODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgQODgUODgQODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgoODg4ODgkOAQ4ODg4ODg4ODg4OAA4ODggODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg44ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OAADChk4OB4AODgAFDg4OA84OBQ4HjgAADg4ODg4ODg4Dzg4ODg4GTgKODg4OAU4ADgAOAU4OBQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgAAwoZODgeADg4ABQ4ODgPODgUOB44AAA4ODg4ODg4OA84ODg4OBk4Cjg4ODgFOAA4ADgFODgUODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4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AGwHAQBKbgEAzw8BABYBAADMAAEA2iwAAD8LAQDaBAAAwwQBANoeAACECAEA2h8AAF8JAQC8JAAA1AkBAJoDAAAKAwEAxBAAAMMLAQDaAAAAmQABABQEAQCnDQEAFCwAAEwKAQAUBAAAjQMBABQeAABpBwEAuiQAAM4JAQAUAQAAyQABAP///////wAAwhAAAL0LAQCOAwAARwMBABoEAQC5DQEAGiwAAF4KAQAaBAAAoAMBABoeAAByBwEAGh8AANsIAQAaAQAA0gABAP///////wAAtiQAAMIJAQD///////8AAP///////wAAigMAAOYCAQAYBAEAsw0BABgsAABYCgEAGAQAAJoDAQAYHgAAbwcBABgfAADVCAEAGAEAAM8AAQAOBAEAlQ0BAA4sAAA6CgEADgQAABEEAQAOHgAAYAcBAA4fAADPCAEADgEAAMAAAQAC6QEAFxABAP///////wAAxyQAAPUJAQAMBAEAjw0BAAwsAAA0CgEADAQAAAsEAQAMHgAAXQcBAAwfAADJCAEADAEAAL0AAQAIBAEAgw0BAAgsAAAoCgEACAQAAP8DAQAIHgAAVwcBAAgfAAC9CAEACAEAALcAAQAGBAEAfQ0BAAYsAAAiCgEABgQAAPkDAQAGHgAAVAcBAP///////wAABgEAALQAAQD///////8AAAIFAAD/BAEABAQBAHcNAQAELAAAHAoBAAQEAADzAwEABB4AAFEHAQD///////8AAAQBAACxAAEAAAQBAGsNAQAALAAAEAoBAAAEAADnAwEAAB4AAEsHAQD///////8AAAABAACrAAEA////////AAB1BQEAXg4BAJQFAQCyDgEAKiwAAI4KAQAqBAAA1AMBACoeAACKBwEAKh8AAO0IAQAqAQAA6gABACqnAABLDAEAwgMAACYDAQAmBAEA3Q0BACYsAACCCgEAJgQAAMgDAQAmHgAAhAcBALcEAQD4DQEAJgEAAOQAAQAmpwAARQwBAJ4DAAAYAwEAtx8AAAoAAwC3AQAAwgIBAJIFAQCvDgEAt6sAABUHAQD///////8AALccAAArBgEAewEAAFwBAQB7pwAAtAwBAHurAABhBgEAjAMAAEQDAQAuLAAAmgoBAC4EAADhAwEALh4AAJAHAQAuHwAA+QgBAC4BAADwAAEALqcAAFEMAQCPHwAApAACAI8BAABxAgEA////////AACPqwAAnQYBAAL7AAAMAAIAiAMAAOACAQCPDAEA5Q4BAP///////wAALCwAAJQKAQAsBAAA2wMBACweAACNBwEALB8AAPMIAQAsAQAA7QABACynAABODAEAKCwAAIgKAQAoBAAAzgMBACgeAACHBwEAKB8AAOcIAQAoAQAA5wABACinAABIDAEA////////AAD///////8AAIYFAQCODgEAJAQBANcNAQAkLAAAfAoBACQEAADCAwEAJB4AAIEHAQBHBQAAhgUBACQBAADhAAEAJKcAAEIMAQAiBAEA0Q0BACIsAAB2CgEAIgQAALoDAQAiHgAAfgcBADP/AABTDQEAIgEAAN4AAQAipwAAPwwBANoDAABTAwEAwAQBABMOAQDALAAAGAsBAMAEAACxBAEAwB4AAF0IAQAx/wAATQ0BADsCAABBAgEAwKcAAAINAQCzBAEA7A0BAMAAAABNAAEA////////AAAqIQAAGwABALMfAAA+AAIAswEAAJIBAQCzpwAAGg0BALOrAAAJBwEA////////AACzHAAAHwYBAP///////wAAJiEAADoDAQA1BQAAUAUBALcQAACcCwEAsQQBAOYNAQD///////8AALcYAQCWDwEASgIAAFMCAQCOBQEAow4BALEBAAC5AgEAsacAALACAQCxqwAAAwcBAP///////wAAsRwAABkGAQCxDAEASw8BADwFAABlBQEA////////AAAcAgAAIAIBAE4eAADABwEAigUBAJoOAQBOAQAAGgEBAE6nAAB+DAEAqx8AAOAAAgBOAAAAJQABAKunAAB3AgEAq6sAAPEGAQAWAgAAFwIBAKscAAAHBgEAqwwBADkPAQCXHgAAIgACAJcfAADMAAIAlwEAAIkCAQBOpgAA5QsBAJerAAC1BgEAggUBAIIOAQCXHAAAywUBAJcMAQD9DgEA////////AABObgEA2w8BAHEFAQBSDgEAFAIAABQCAQDEJAAA7AkBAH4sAABEAgEAfgQAAEUEAQB+HgAACQgBACr/AAA4DQEAgAUBAHwOAQB+pwAAtwwBAH6rAABqBgEAGgIAAB0CAQDCJAAA5gkBAKkfAADWAAIAqQEAAK0CAQAm/wAALA0BAKmrAADrBgEAjQUBAKAOAQCpHAAAAQYBAKkMAQAzDwEA////////AAD///////8AABgCAAAaAgEAwBAAALcLAQAgBAEAyw0BACAsAABwCgEAIAQAALMDAQAgHgAAewcBAA4CAAALAgEAIAEAANsAAQCzEAAAkAsBAP///////wAALv8AAEQNAQCzGAEAig8BAP///////wAAkR8AAK4AAgCRAQAAcQEBAAwCAAAIAgEAkasAAKMGAQD///////8AAJEcAAC5BQEAkQwBAOsOAQD///////8AAAgCAAACAgEAsRAAAIoLAQDVAQAAuQEBACz/AAA+DQEAsRgBAIQPAQDVAAAAjQABAAYCAAD/AQEAjwMAAEoDAQD///////8AACj/AAAyDQEA1CwAADYLAQDUBAAAugQBANQeAAB7CAEAjAUBAJ0OAQAEAgAA/AEBAKsQAAB4CwEAOwUAAGIFAQDUAAAAigABAKsYAQByDwEAJP8AACYNAQAAAgAA9gEBAP///////wAA////////AAAc6QEAZRABAP///////wAAiAUBAJQOAQAi/wAAIA0BAP///////wAAKgIAADICAQD///////8AAP4EAAD5BAEA/h4AALoIAQAW6QEAUxABAP4BAADzAQEA////////AABKBQAAjwUBACYCAAAsAgEAHgQBAMUNAQAeLAAAagoBAB4EAACsAwEAHh4AAHgHAQD///////8AAB4BAADYAAEA////////AACpEAAAcgsBABwFAAAmBQEAFOkBAE0QAQCpGAEAbA8BANIEAQBJDgEA0iwAADMLAQDSBAAAtwQBANIeAAB4CAEA0h8AABQAAwAuAgAAOAIBABYFAAAdBQEAGukBAF8QAQDSAAAAhAABAKcfAAD0AAIApwEAAIkBAQD///////8AAKerAADlBgEA////////AACnHAAA+wUBAKcMAQAtDwEA////////AAD///////8AABjpAQBZEAEALAIAADUCAQAUBQAAGgUBAHwEAABCBAEAfB4AAAYIAQAzBQAASgUBAA7pAQA7EAEAKAIAAC8CAQB8qwAAZAYBAEgeAAC3BwEASB8AABcJAQAaBQAAIwUBAEinAAB1DAEAMQUAAEQFAQBIAAAAFQABAAzpAQA1EAEAaywAAK8KAQAkAgAAKQIBAKsDAABBAwEAax8AAD4JAQD///////8AAAjpAQApEAEAGAUAACAFAQBIpgAA2wsBACICAAAmAgEA////////AACXAwAA/QIBAAbpAQAjEAEADgUAABEFAQBIbgEAyQ8BAP///////wAAVh4AAMwHAQBWHwAAPgADAFYBAAAmAQEAVqcAAIoMAQAE6QEAHRABAFYAAAA+AAEADAUAAA4FAQD///////8AABb7AAB9AAIA////////AAAA6QEAERABAP///////wAACAUAAAgFAQD///////8AAFamAADxCwEA////////AACpAwAAOgMBAP///////wAABgUAAAUFAQD///////8AAFZuAQDzDwEA////////AAAU+wAAbQACAP///////wAAtyQAAMUJAQD///////8AAAQFAAACBQEA4iwAAEsLAQDiBAAAzwQBAOIeAACQCAEA4h8AACQAAwDiAQAAzgEBAAAFAAD8BAEATgIAAFkCAQCnEAAAbAsBAP///////wAA////////AACnGAEAZg8BAJEDAADpAgEA////////AAAqBQAAOwUBAFQeAADJBwEAVB8AADkAAwBUAQAAIwEBAFSnAACHDAEA////////AABUAAAAOAABANUDAAAwAwEAJgUAADUFAQA5HwAAAgkBADkBAAD8AAEAEgQBAKENAQASLAAARgoBABIEAACGAwEAEh4AAGYHAQBUpgAA7gsBABIBAADGAAEAEAQBAJsNAQAQLAAAQAoBABAEAACAAwEAEB4AAGMHAQBUbgEA7Q8BABABAADDAAEA////////AABrIQAAsAkBAC4FAABBBQEAjwUBAKYOAQA/HwAAFAkBAD8BAAAFAQEABvsAAB0AAgBSHgAAxgcBAFIfAAA0AAMAUgEAACABAQBSpwAAhAwBAP///////wAAUgAAADEAAQD///////8AAAT7AAAFAAMA/gMAANcCAQAsBQAAPgUBACACAAB9AQEA////////AADAJAAA4AkBAAD7AAAEAAIAUqYAAOsLAQAoBQAAOAUBAFAeAADDBwEAUB8AAFQAAgBQAQAAHQEBAFCnAACBDAEAUm4BAOcPAQBQAAAAKwABAP///////wAAygQBADEOAQDKLAAAJwsBACQFAAAyBQEAyh4AAGwIAQDKHwAAWQkBAMoBAACpAQEA////////AABQpgAA6AsBAMoAAABsAAEAIgUAAC8FAQCnAwAANAMBAPAEAADkBAEA8B4AAKUIAQBQbgEA4Q8BAPABAAAUAAIA2CwAADwLAQDYBAAAwAQBANgeAACBCAEA2B8AAH0JAQD///////8AANinAAAUDQEA////////AADYAAAAkwABANYsAAA5CwEA1gQAAL0EAQDWHgAAfggBANYfAABMAAIA////////AADWpwAAEQ0BAP///////wAA1gAAAJAAAQDIBAEAKw4BAMgsAAAkCwEAuQQBAP4NAQDIHgAAaQgBAMgfAABTCQEAyAEAAKUBAQC5HwAAegkBAP///////wAAyAAAAGYAAQC5qwAAGwcBAP///////wAAuRwAADEGAQAeAgAAIwIBAMYEAQAlDgEAxiwAACELAQD///////8AAMYeAABmCAEAxh8AAEMAAgBOBQAAmwUBAManAABIBwEAxQQBACIOAQDGAAAAYAABAMUEAACiBAEAuwQBAAQOAQC1BAEA8g0BAMUBAAChAQEAxacAAKoCAQC7HwAAUAkBAMUAAABcAAEAtQEAAJUBAQC7qwAAIQcBALWrAAAPBwEAtQAAABEDAQC1HAAAJQYBAK8fAAD0AAIArwEAAI8BAQD///////8AAK+rAAD9BgEAaSwAAKwKAQCvHAAAEwYBAK8MAQBFDwEAaR8AADgJAQB+BQEAdg4BACDpAQBxEAEA////////AAClHwAA6gACAP///////wAASAIAAFACAQClqwAA3wYBAOIDAABfAwEApRwAAPUFAQClDAEAJw8BAP///////wAAOf8AAGUNAQCjHwAA4AACAP///////wAA////////AACjqwAA2QYBAKEfAADWAAIAoxwAAO8FAQCjDAEAIQ8BAKGrAADTBgEA////////AAChHAAA6QUBAKEMAQAbDwEAIAUAACwFAQCHHwAApAACAIcBAABrAQEA////////AACHqwAAhQYBAJEFAQCsDgEAhxwAABoEAQCHDAEAzQ4BAP///////wAA////////AAByLAAAsgoBAHIEAAAzBAEAch4AAPcHAQBNHwAAJgkBAHIBAABQAQEAuRAAAKILAQByqwAARgYBAE0AAAAiAAEAuRgBAJwPAQBwLAAAYgIBAHAEAAAwBAEAcB4AAPQHAQD///////8AAHABAABNAQEA////////AABwqwAAQAYBAG4sAACbAgEAbgQAAC0EAQBuHgAA8QcBAG4fAABHCQEAbgEAAEoBAQBupwAArgwBAE1uAQDYDwEAxRAAAMYLAQAe6QEAaxABAEUBAAAOAQEAuxAAAKgLAQC1EAAAlgsBAEUAAAAMAAEAuxgBAKIPAQC1GAEAkA8BAO4EAADhBAEA7h4AAKIIAQCvEAAAhAsBAO4BAADgAQEA////////AACvGAEAfg8BAGwEAAAqBAEAbB4AAO4HAQBsHwAAQQkBAGwBAABHAQEAbKcAAKsMAQBpIQAAqgkBAEVuAQDADwEApRAAAGYLAQD///////8AAB4FAAApBQEApRgBAGAPAQASAgAAEQIBAP///////wAA8AMAAAoDAQD///////8AAGymAAASDAEAoxAAAGALAQAQAgAADgIBANgDAABQAwEAoxgBAFoPAQChEAAAWgsBAP///////wAA////////AAChGAEAVA8BAP///////wAA////////AADWAwAAHgMBAGoEAAAnBAEAah4AAOsHAQBqHwAAOwkBAGoBAABEAQEAaqcAAKgMAQBoBAAAJAQBAGgeAADoBwEAaB8AADUJAQBoAQAAQQEBAGinAAClDAEAfAUBAHAOAQD///////8AAP///////wAARh4AALQHAQD///////8AAGqmAAAPDAEARqcAAHIMAQBIBQAAiQUBAEYAAAAPAAEA////////AABopgAADAwBAGQsAACkAgEAZAQAAB4EAQBkHgAA4gcBAP///////wAAZAEAADsBAQBkpwAAnwwBAEamAADYCwEA3iwAAEULAQDeBAAAyQQBAN4eAACKCAEAbiEAALkJAQDeAQAAyAEBAEZuAQDDDwEA////////AADeAAAApQABADAeAACTBwEAZKYAAAYMAQAwAQAABQECAFYFAACzBQEAYiwAAJICAQBiBAAAGgQBAGIeAADfBwEA////////AABiAQAAOAEBAGKnAACcDAEA////////AAD///////8AAP///////wAApQMAAC0DAQD///////8AAGwhAACzCQEARB4AALEHAQD///////8AAP///////wAARKcAAG8MAQBipgAAAwwBAEQAAAAJAAEAowMAACYDAQB5AQAAWQEBAHmnAACxDAEAeasAAFsGAQChAwAAIgMBAGAsAACgCgEAYAQAABcEAQBgHgAA2wcBAESmAADVCwEAYAEAADUBAQBgpwAAmQwBAP///////wAA////////AAAS6QEARxABAERuAQC9DwEAMh4AAJYHAQD///////8AADIBAADzAAEAMqcAAFQMAQAQ6QEAQRABAGohAACtCQEAYKYAAAAMAQBUBQAArQUBAP///////wAAcgMAAM4CAQBoIQAApwkBAM0EAQA6DgEA////////AADNBAAArgQBADkFAABcBQEA////////AADNAQAArQEBAP///////wAAcAMAAMsCAQDNAAAAdQABABIFAAAXBQEAzAQBADcOAQDMLAAAKgsBAM8EAQBADgEAzB4AAG8IAQDMHwAARwACABAFAAAUBQEAZCEAAJsJAQDPAQAAsAEBAMwAAAByAAEARQMAAAUDAQDPAAAAewABAD8FAABuBQEAywQBADQOAQDKJAAA/gkBAMsEAACrBAEAUgUAAKcFAQDLHwAAXAkBAMsBAACpAQEA7gMAAHEDAQDDBAEAHA4BAMsAAABvAAEAwwQAAJ8EAQDJBAEALg4BAMMfAABHAAIAyQQAAKgEAQBiIQAAlQkBAMkfAABWCQEAwwAAAFYAAQDJpwAACw0BAL8EAQAQDgEAyQAAAGkAAQBQBQAAoQUBAFUAAAA7AAEAvQQBAAoOAQB2BAAAOQQBAHYeAAD9BwEAv6sAAC0HAQB2AQAAVgEBAL8cAAA9BgEAdqsAAFIGAQC9qwAAJwcBAP///////wAAvRwAADcGAQD///////8AAMgkAAD4CQEA////////AAC5JAAAywkBAFVuAQDwDwEAYCEAAI8JAQCfHwAAzAACAJ8BAAChAgEAwQQBABYOAQCfqwAAzQYBAMEEAACcBAEAnxwAAOMFAQCfDAEAFQ8BADIhAACMCQEAxiQAAPIJAQBFAgAAvwIBAMEAAABQAAEAnR8AAMIAAgCdAQAAngIBAP///////wAAnasAAMcGAQDFJAAA7wkBAJ0cAADdBQEAnQwBAA8PAQC7JAAA0QkBAM0QAADMCwEAmx4AANsHAQCbHwAAuAACADD/AABKDQEA////////AACbqwAAwQYBAEMBAAALAQEAmxwAANcFAQCbDAEACQ8BAEMAAAAGAAEAmR4AACoAAgCZHwAArgACAN4DAABZAwEA////////AACZqwAAuwYBAJUfAADCAAIAmRwAANEFAQCZDAEAAw8B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ANEAAACBAAEA////////AAD0AwAAAAMBABUEAQCqDQEAFSwAAE8KAQAVBAAAkQMBABMEAQCkDQEAEywAAEkKAQATBAAAigMBAOwDAABuAwEAIf8AAB0NAQAPBAEAmA0BAA8sAAA9CgEADwQAABQEAQD///////8AAA8fAADSCAEA////////AADBJAAA4wkBAFUFAACwBQEA6gMAAGsDAQD///////8AAA0EAQCSDQEADSwAADcKAQANBAAADgQBAHYFAQBhDgEADR8AAMwIAQD///////8AAOgDAABoAwEA////////AAD///////8AADb/AABcDQEACwQBAIwNAQALLAAAMQoBAAsEAAAIBAEA////////AAALHwAAxggBAP///////wAA////////AADmAwAAZQMBAAkEAQCGDQEACSwAACsKAQAJBAAAAgQBAOQDAABiAwEACR8AAMAIAQAFBAEAeg0BAAUsAAAfCgEABQQAAPYDAQADBAEAdA0BAAMsAAAZCgEAAwQAAPADAQD///////8AANwDAABWAwEA////////AAArIQAAXAABAAEEAQBuDQEAASwAABMKAQABBAAA6gMBAPwEAAD2BAEA/B4AALcIAQD8HwAAYAACAPwBAADwAQEA////////AAD///////8AAEMFAAB6BQEA+AQAAPAEAQD4HgAAsQgBAPgfAABlCQEA+AEAAOoBAQAnBAEA4A0BACcsAACFCgEAJwQAAMsDAQCVBQEAtQ4BAPYEAADtBAEA9h4AAK4IAQD2HwAAXAACAPYBAAB0AQEAegQAAD8EAQB6HgAAAwgBAEsfAAAgCQEA////////AAA+AgAApgoBAHqrAABeBgEASwAAABsAAQAfBAEAyA0BAB8sAABtCgEAHwQAALADAQCDBQEAhQ4BAP///////wAAOP8AAGINAQD///////8AADoFAABfBQEALywAAJ0KAQAvBAAA5AMBAP///////wAALx8AAPwIAQBJBQAAjAUBAP///////wAAS24BANIPAQA0/wAAVg0BAC0sAACXCgEALQQAAN4DAQD///////8AAC0fAAD2CAEAgQUBAH8OAQB/BQEAeQ4BACv/AAA7DQEAKSwAAIsKAQApBAAA0QMBAP///////wAAKR8AAOoIAQAlBAEA2g0BACUsAAB/CgEAJQQAAMUDAQAjBAEA1A0BACMsAAB5CgEAIwQAAL8DAQARBAEAng0BABEsAABDCgEAEQQAAIMDAQAHBAEAgA0BAAcsAAAlCgEABwQAAPwDAQD///////8AAP///////wAAziQAAAoKAQD///////8AAEECAABKAgEA////////AAD///////8AAPwTAAA8BwEA////////AABCBQAAdwUBAP///////wAA////////AAD///////8AAP///////wAA+BMAADAHAQD///////8AAP///////wAA0QMAAAADAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAh6QEAdBABAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAD4FAABrBQEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAn/wAALw0BAP///////wAA////////AAA2BQAAUwUBAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAUwUAAKoFAQD///////8AAP///////wAA////////AABABQAAcQUBAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAC//AABHDQEA////////AAD///////8AAP///////wAAeAUBAGcOAQD///////8AABfpAQBWEAEA////////AAAt/wAAQQ0BAP///////wAAdAUBAFsOAQD///////8AAP///////wAAQQUAAHQFAQD///////8AACn/AAA1DQEA////////AAD///////8AAP///////wAA////////AAAl/wAAKQ0BAP///////wAA////////AAAj/wAAIw0BAB3pAQBoEAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAFEFAACkBQEA////////AAD///////8AAP///////wAA////////AAD///////8AADgFAABZBQEA////////AAD///////8AAP///////wAAG+kBAGIQAQD///////8AAP///////wAA////////AAD///////8AAP///////wAANAUAAE0FAQAZ6QEAXBABAP///////wAA////////AAD///////8AAE8FAACeBQEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAFekBAFAQAQD///////8AAP///////wAAE+kBAEoQAQD///////8AAP///////wAA////////AAD///////8AAA/pAQA+EAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAF/sAAHUAAgD///////8AAP///////wAADekBADgQAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAL6QEAMhABAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAACekBACwQAQD///////8AAP///////wAA////////AAD///////8AAAXpAQAgEAEA////////AAD///////8AAAPpAQAaEAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAAekBABQQAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAV+wAAcQACAP///////wAA////////AAAT+wAAeQACAP///////wAA////////AAD///////8AAB/pAQBuEAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAB6BQEAbQ4BAP///////wAASwUAAJIFAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AABHpAQBEEAEABfsAAB0AAgD///////8AAAfpAQAmEAEAA/sAAAAAAwD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAB+wAACAACAP//////////cgdLB9IAqwBuDYcHzwznAG4BIwX8BEgMxgxzDjgFHQL2ATAIbwSDAS8CvwLrCuQMcA7rBycERAHACBsA8wioDEwGMQBiBZUNwwiUA3cFnwCSAiIKDwxJBp4C4gceBDsB0g8MAKMKnwznD9UIUAVGBlMJQA6uCO0EgwKVCQYMEQleDtsHFwQ1AcAPAACgCpkMRAlSDkQF+A2KCMkEyAEFBH0CRQsADI4K/g2NCMwEywG0D1AASAtXBzgJtwBxDagLWgtxAcMLXQcIBb0A/QYRBF0L+QMCApoKDgWCCsICAweGCWgNCAIKDpMI0gTRAWsCXACHC6sLBA6QCM8EzgGxC1YASwuFDnsHawHbALkC8g2HCMYExQFcDSwFQgsPB4kJaQezAskACQB9DV4GCQe9CE0FGgXmDYEIwAQrBuoIFAI8CxQN9wZgBHcBFQ+9D9wK1QxVDkEJ5Ah+CL0EGw/jBacFOQsRDTkMegHrBqoCswXpBVgOcgsWDpkI2ATXAbUOaQC/DX4LwgMLAXcN5QZMClkDEA6WCNUE1AEnD2MA7wkLBFwDlAaaBpQKIQ8bB/UF9QmfC64PVwtcASMJdwLvBbQMDw+6C5UFFQcmDewNhAjDBAMA+QjdBT8LjgZHBZYLYgMFEAAIPAQDD3EJRwABCl8DrQWzCYwFtw+lANEF+wk7CfEGdQi0BFYD/Q6ZCzALDg38D4EL6QmoBGgJfQHLBb8JCw2qCWQOYwQzD6gPUAPfCtgMWw7IAtMGgAndCQEGvA2uB78DLQ88DL4GSQpsDE0DnA/fBxoEOAH7BQYA1wmcDEMO0gtKBREDGAOTAHsLaAOAApYPAwwgCScIVwQNCgkPug/TCswMIw0+CWUD9wczBFAB1wU0ALIKBwowDAoDegX0BzAETQF1Cy4A1wJvCz0O//90BesOOgaQAOoPFw2bAnkOVglTA9YOuQVvCJgJ5A///+MJKgtQCTQOqAjnBOMBkgmHAFQLUgaiDygOogjhBOABag57ACIOnwjeBN0BxwZ1ALoI+QTzAcUJqAA+AzkHHA6cCNsE2gFABm8A//+EDy0H6AckBEEBLgZ3ECcHpQxvD5UBXAXlByEEPgGmDhIAjAKiDAwMIQdWBQ0ONw4XEMwPJhBgAIoACQx6A8YH8AMgAYIGxg95CoQM7QhKCToOqwjqBOcBKAaNAGUC3w7rCxIHPAfOAv/////MB/wDJgFNECwJhQqKDMsCaw3//0UPHwZTDT8HoAZuAj8P8QuuBK0BEwb9BzkEVgHnCEEADQYyCUcDOQ+GBT0GwwfqAx0BXw13A3MKgQwHBv//sAH//8oG9g9xA3gPXwJiCegL//9uA70LpAngDcAH5AMaASoPKQltCn4MKRD//2sD0AZ9CU0N+AUiBlkC///lC9oNvQfeAxcBuA76AmcKewzUDboH2AMUAf//JQZhCngMVgJHDeILtwtMDrQI8wTtAVMCnADeCwQKtg2rB7YDXwElAOIOQwppDEENawWbBR4Dewi6BP//NRA7DTYLzwuMDZYHigPzANsPCxAZClQM6A4aCVEP+gc2BFMBuQk7AD4CHQ22Bd8GgAVKA3gItwT//9ECoQIzCwgJ//9RCJAEmAGsDvAPDAv2DK8OXAl7D/EHLQRKAZ4JKAAvEK4M///ZBm4FwgndDYgG4QMdEJgCiwZqCu4HKgRHAYEPIgDeD6sMdgb//2gFzwcCBCkB//9mBIsKjQwSDOIK2wxhDv/////YD/cOcQKMCfQLxQJEDckH9gMjAf//xQV/CocMhAf//+QAfQP/////RQxpBGUNNQXuC+UK3gxnDv//LALxDs4NtwfRAy8J/////1sKdQz//78F/AhZDdEJyA20B8sDUAL//9sLVQpyDPMDegKQD3QQfArCDbEHxQNNArEP2AtPCm8MNQloAjUNuQ0AA7oDCAHLCQUDRgrVCy4OpQjkBP//Lw2BAOwCig9KAiYJVg2PAZgNnAeXA/kAlw4pDSUKWgwdCUgH//+SDZkHkQP2ADMHIA0fClcMeg2NB8kL7QBwBncJgQdODOEAFAk+Bf//QgwGCEIEMgU1An4H///eAA4JKQKYBT8M+w3//y8F7w2kAk0AwgHpDSYC9gi/AeMNCBBpCLwBpQF0CWAIJAtiAfAItgkbCwUNRQiEBKEFAAeDCQAL9AaaDqcC/wPuBksPXQiICugGuwb//xgLAg2pBv//GQYREFoImQSeAXMGegkVC/8MpQtXCJYEmwFUCJMEEgv8DKMGDwv5DLIO//9iDeEITgiNBP//zAudBgkL8wypDsYLPwh+BIwBlwbtA/oKkQaODnYKWQHAC0oAGA+xDP//DA+PBYUGYgIGDyMQ///mBQAP0w7aBWcGSQ7BDtQF/w///5kAzgVrCdoCSwiKBFANrQn//wYL8AyjDrANqAewA7sO2wj//z0KZgznA///8gn//3AK5gmTCzoDRALgCX8GJgP//9oJXAL//6UP///pAs8Inw8zCHIEhgGZD2wP7grnDHYOWg8iAy0IbASAAUoN///oCuEMbQ7JCF0EGwMDCD8E2QrSDE8OTwZUDxUD//+SBQ4DDwiRDmUBNgxDBrsKvQz//24QqgX9Ao0LAhC5Af//rQJuCRgMQgfgAmoGsAk0BtIHCAQsATEORBCRCpAMsw2EALMDBQFpC///QAriBnQCJQ73C4YNkweDA3gAUQtHAhMK//+ADZAH///wADYHYwv2AlEMOwIXCUEFdA2KB/UN6gD//zgCKgdLDP//Agk7Bf//Rg6xCPAE6gEyApYAHw7//xMOBw62AXIATgtmAFkAAQ6zAfoG/////1MAcgixBKsEqQFsCC0LZgj6Dv//Jwv//yELJAfcBhgHDAebDcgFmgPWBtQCBgcoCk4P///jAs0GxAYgEKUEwQb//7UGHAYIDacNQg+mA/8A/////zQK//+iBKEBYwgQBgwISATUCR4LQQK4CroMuAaLDqQF//90AxIPkw///x8ArwoVDEgIhwRlBbIG4AUDC68GnQ6VAmQGPA/0DjAPJA8xBv//1Q/uDnEQHg8KBsIF/gXyBeUO3A55BrwF2Q7sBc0O//9CCIEE/////+wJ/QpQEJQO////////iQGqDaUHqQOrD38OShA3CmMM0A7OCQoK/gn//zIQbQbICUQD+AkaEEEDjQ80A8oOWAb//8cOhw8bCEsEFBD//ysOxwp+D3UP//9+AHIP//9mDzkIeAS8AjcDJAz0Cu0Mgg42CHUECQhFBP//8QrqDHwOtwwwAzAHngUtA2kPEgjdAmgB//9bBr4KwAz/////sAX//w4QVQZjDz4AtQpgDxsM8AKDBbwJDwCmCrcI9gTwAVMFogD//9gHFAQyAYYC8w+dCpYMZgdfCcYA///DD///oQn//0cJFwX9C9UHDgQvAeYCEQKXCpMMpA2iB6MD/////0gPMQpgDJ8E3gj6C54NnwedA2MHFgbDACsKXQxUBxkOtABRBxQFsQBsAP////8FBQ4CTgcCBa4ArAb/ATwIewT8Af///wT3CtgIiA5oEP//+QHSCB4H///MCCoIWgR0ASQIVATWCv//xgjQCskM//9hBv//////////FQgzDDcGRAAtDMEKwwz//4kFOADLDZALzgMRAX0FsAJYCh4M//8rAP//jw35D40DcQX//2UJHArtD///xA6nCVkJ//8YAKwK//+bCeEPXwX/////TQmKCzYPjwIyDY8JbAsLCf//ZgucBM8PBAYVAKkK/////2ALWQXFDf//yAMOASoDiQJSCmsQrQ3//6wDAgH//8kPOgr//6YGoQ0+EKAD/AD//10PLgoYCIkNOBCGA4MNxAqAAxYK//94BxAK2AAsDSwQ//+2Av//IQwpBXUH1w3VANsD//8jApIBZAr//yYFBQmgDm8H/wjPACACbAdgB8wAwABaByAFugAhCFEEHQURBRoCzQoLBXwGFwILAh4ITgQFAr4OPg3KCtENKgzUA///UxD//14K//////////8nDP////////////////////////////9fEEUH/////////////////////////////zgN////////////////////////tAv///////9XD/////////////+uC/////////////////////////////+iC////////5wLhAv/////eAv////////////////////////////////zAv//////////////////YhD/////////////Gg3//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1wQ//////////////////////////9WEP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0cQ/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2UQ/////////////////////1kQ//////////////////9BEP////87EAAAAAAAAGUA/QBMAB0AGADvAGAARwBcAEMABAA+AAgAOgDqAG0ApABYAFQAUADWAAAANgAFATIAaQB5AH0AAQEqACYA+QAuAHUADABxAPQA5QDgANsA0QAQAMwAxwDCAL0AuACzAK4AqQAUACIAnwCaAJUAkACLAIYAgQBB8IkRC+EIPgAvAB8AOQApABkANAAkABQAQwAPAAoABQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMA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AAAABAUAAAcFAAABAAAABgUAAAkFAAABAAAACAUAAAsFAAABAAAACgUAAA0FAAABAAAADAUAAA8FAAABAAAADgUAABEFAAABAAAAEAUAABMFAAABAAAAEgUAABUFAAABAAAAFAUAABcFAAABAAAAFgUAABkFAAABAAAAGAUAABsFAAABAAAAGgUAAB0FAAABAAAAHAUAAB8FAAABAAAAHgUAACEFAAABAAAAIAUAACMFAAABAAAAIgUAACUFAAABAAAAJAUAACcFAAABAAAAJgUAACkFAAABAAAAKAUAACsFAAABAAAAKgUAAC0FAAABAAAALAUAAC8FAAABAAAALgUAAGEFAAABAAAAMQUAAGIFAAABAAAAMgUAAGMFAAABAAAAMwUAAGQFAAABAAAANAUAAGUFAAABAAAANQUAAGYFAAABAAAANgUAAGcFAAABAAAANwUAAGgFAAABAAAAOAUAAGkFAAABAAAAOQUAAGoFAAABAAAAOgUAAGsFAAABAAAAOwUAAGwFAAABAAAAPAUAAG0FAAABAAAAPQUAAG4FAAABAAAAPgUAAG8FAAABAAAAPwUAAHAFAAABAAAAQAUAAHEFAAABAAAAQQUAAHIFAAABAAAAQgUAAHMFAAABAAAAQwUAAHQFAAABAAAARAUAAHUFAAABAAAARQUAAHYFAAABAAAARgUAAHcFAAABAAAARwUAAHgFAAABAAAASAUAAHkFAAABAAAASQUAAHoFAAABAAAASgUAAHsFAAABAAAASwUAAHwFAAABAAAATAUAAH0FAAABAAAATQUAAH4FAAABAAAATgUAAH8FAAABAAAATwUAAIAFAAABAAAAUAUAAIEFAAABAAAAUQUAAIIFAAABAAAAUgUAAIMFAAABAAAAUwUAAIQFAAABAAAAVAUAAIUFAAABAAAAVQUAAIYFAAABAAAAVgUAANAQAAABAAAAkBwAANEQAAABAAAAkRwAANIQAAABAAAAkhwAANMQAAABAAAAkxwAANQQAAABAAAAlBwAANUQAAABAAAAlRwAANYQAAABAAAAlhwAANcQAAABAAAAlxwAANgQAAABAAAAmBwAANkQAAABAAAAmRwAANoQAAABAAAAmhwAANsQAAABAAAAmxwAANwQAAABAAAAnBwAAN0QAAABAAAAnRwAAN4QAAABAAAAnhwAAN8QAAABAAAAnxwAAOAQAAABAAAAoBwAAOEQAAABAAAAoRwAAOIQAAABAAAAohwAAOMQAAABAAAAoxwAAOQQAAABAAAApBwAAOUQAAABAAAApRwAAOYQAAABAAAAphwAAOcQAAABAAAApxwAAOgQAAABAAAAqBwAAOkQAAABAAAAqRwAAOoQAAABAAAAqhwAAOsQAAABAAAAqxwAAOwQAAABAAAArBwAAO0QAAABAAAArRwAAO4QAAABAAAArhwAAO8QAAABAAAArxwAAPAQAAABAAAAsBwAAPEQAAABAAAAsRwAAPIQAAABAAAAshwAAPMQAAABAAAAsxwAAPQQAAABAAAAtBwAAPUQAAABAAAAtRwAAPYQAAABAAAAthwAAPcQAAABAAAAtxwAAPgQAAABAAAAuBwAAPkQAAABAAAAuRwAAPoQAAABAAAAuhwAAP0QAAABAAAAvRwAAP4QAAABAAAAvhwAAP8QAAABAAAAvxwAAKATAAABAAAAcKsAAKETAAABAAAAcasAAKITAAABAAAAcqsAAKMTAAABAAAAc6sAAKQTAAABAAAAdKsAAKUTAAABAAAAdasAAKYTAAABAAAAdqsAAKcTAAABAAAAd6sAAKgTAAABAAAAeKsAAKkTAAABAAAAeasAAKoTAAABAAAAeqsAAKsTAAABAAAAe6sAAKwTAAABAAAAfKsAAK0TAAABAAAAfasAAK4TAAABAAAAfqsAAK8TAAABAAAAf6sAALATAAABAAAAgKsAALETAAABAAAAgasAALITAAABAAAAgqsAALMTAAABAAAAg6sAALQTAAABAAAAhKsAALUTAAABAAAAhasAALYTAAABAAAAhqsAALcTAAABAAAAh6sAALgTAAABAAAAiKsAALkTAAABAAAAiasAALoTAAABAAAAiqsAALsTAAABAAAAi6sAALwTAAABAAAAjKsAAL0TAAABAAAAjasAAL4TAAABAAAAjqsAAL8TAAABAAAAj6sAAMATAAABAAAAkKsAAMETAAABAAAAkasAAMITAAABAAAAkqsAAMMTAAABAAAAk6sAAMQTAAABAAAAlKsAAMUTAAABAAAAlasAAMYTAAABAAAAlqsAAMcTAAABAAAAl6sAAMgTAAABAAAAmKsAAMkTAAABAAAAmasAAMoTAAABAAAAmqsAAMsTAAABAAAAm6sAAMwTAAABAAAAnKsAAM0TAAABAAAAnasAAM4TAAABAAAAnqsAAM8TAAABAAAAn6sAANATAAABAAAAoKsAANETAAABAAAAoasAANITAAABAAAAoqsAANMTAAABAAAAo6sAANQTAAABAAAApKsAANUTAAABAAAApasAANYTAAABAAAApqsAANcTAAABAAAAp6sAANgTAAABAAAAqKsAANkTAAABAAAAqasAANoTAAABAAAAqqsAANsTAAABAAAAq6sAANwTAAABAAAArKsAAN0TAAABAAAArasAAN4TAAABAAAArqsAAN8TAAABAAAAr6sAAOATAAABAAAAsKsAAOETAAABAAAAsasAAOITAAABAAAAsqsAAOMTAAABAAAAs6sAAOQTAAABAAAAtKsAAOUTAAABAAAAtasAAOYTAAABAAAAtqsAAOcTAAABAAAAt6sAAOgTAAABAAAAuKsAAOkTAAABAAAAuasAAOoTAAABAAAAuqsAAOsTAAABAAAAu6sAAOwTAAABAAAAvKsAAO0TAAABAAAAvasAAO4TAAABAAAAvqsAAO8TAAABAAAAv6sAAPATAAABAAAA+BMAAPETAAABAAAA+RMAAPITAAABAAAA+hMAAPMTAAABAAAA+xMAAPQTAAABAAAA/BMAAPUTAAABAAAA/RMAAHkdAAABAAAAfacAAH0dAAABAAAAYywAAI4dAAABAAAAxqcAAAEeAAABAAAAAB4AAAMeAAABAAAAAh4AAAUeAAABAAAABB4AAAceAAABAAAABh4AAAkeAAABAAAACB4AAAseAAABAAAACh4AAA0eAAABAAAADB4AAA8eAAABAAAADh4AABEeAAABAAAAEB4AABMeAAABAAAAEh4AABUeAAABAAAAFB4AABceAAABAAAAFh4AABkeAAABAAAAGB4AABseAAABAAAAGh4AAB0eAAABAAAAHB4AAB8eAAABAAAAHh4AACEeAAABAAAAIB4AACMeAAABAAAAIh4AACUeAAABAAAAJB4AACceAAABAAAAJh4AACkeAAABAAAAKB4AACseAAABAAAAKh4AAC0eAAABAAAALB4AAC8eAAABAAAALh4AADEeAAABAAAAMB4AADMeAAABAAAAMh4AADUeAAABAAAANB4AADceAAABAAAANh4AADkeAAABAAAAOB4AADseAAABAAAAOh4AAD0eAAAB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LAAAAQAAABMsAABELAAAAQAAABQsAABFLAAAAQAAABUsAABGLAAAAQAAABYsAABHLAAAAQAAABcsAABILAAAAQAAABgsAABJLAAAAQAAABksAABKLAAAAQAAABosAABLLAAAAQAAABssAABMLAAAAQAAABwsAABNLAAAAQAAAB0sAABOLAAAAQAAAB4sAABPLAAAAQAAAB8sAABQLAAAAQAAACAsAABRLAAAAQAAACEsAABSLAAAAQAAACIsAABTLAAAAQAAACMsAABULAAAAQAAACQsAABVLAAAAQAAACUsAABWLAAAAQAAACYsAABXLAAAAQAAACcsAABYLAAAAQAAACgsAABZLAAAAQAAACksAABaLAAAAQAAACosAABbLAAAAQAAACssAABcLAAAAQAAACwsAABdLAAAAQAAAC0sAABeLAAAAQAAAC4sAABfLAAAAQAAAC8sAABhLAAAAQAAAGAsAABlLAAAAQAAADoCAABmLAAAAQAAAD4CAABoLAAAAQAAAGcsAABqLAAAAQAAAGksAABsLAAAAQAAAGssAABzLAAAAQAAAHIsAAB2LAAAAQAAAHUsAACBLAAAAQAAAIAsAACDLAAAAQAAAIIsAACFLAAAAQAAAIQsAACHLAAAAQAAAIYsAACJLAAAAQAAAIgsAACLLAAAAQAAAIosAACNLAAAAQAAAIwsAACPLAAAAQAAAI4sAACRLAAAAQAAAJAsAACTLAAAAQAAAJIsAACVLAAAAQAAAJQsAACXLAAAAQAAAJYsAACZLAAAAQAAAJgsAACbLAAAAQAAAJosAACdLAAAAQAAAJwsAACfLAAAAQAAAJ4sAAChLAAAAQAAAKAsAACjLAAAAQAAAKIsAAClLAAAAQAAAKQsAACnLAAAAQAAAKYsAACpLAAAAQAAAKgsAACrLAAAAQAAAKosAACtLAAAAQAAAKwsAACvLAAAAQAAAK4sAACxLAAAAQAAALAsAACzLAAAAQAAALIsAAC1LAAAAQAAALQsAAC3LAAAAQAAALYsAAC5LAAAAQAAALgsAAC7LAAAAQAAALosAAC9LAAAAQAAALwsAAC/LAAAAQAAAL4sAADBLAAAAQAAAMAsAADDLAAAAQAAAMIsAADFLAAAAQAAAMQsAADHLAAAAQAAAMYsAADJLAAAAQAAAMgsAADLLAAAAQAAAMosAADN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AgAwJgIAgCYCAOAmAgD0JgIAACcCALA+AgAAUwIAoFMCAMBTAgCwVAIA0FQCAPBUAgAMVQIAIFUCAEBVAgCwVQIAcFYCAJBWAgDgVgIAAFcCADBXAgBQVwIAcFcCAMBrAgBAcAIAoHACAOBxAgAAcgIAMHICAFByAgCQcgIAsHICAECHAgBwiQIAIJkCAOC6AABgmQIAwJkCAPStAgAArgIAIK4CAHy3AgCItwIAoLcCAOC3AgAAuAIAILgCAEC4AgCAuAIA4LwCAHDCAgCcwgIAsMICANDCAgDwwgIADMMCACDDAgBAwwIA0M0CAPDNAgAwzgIAUM4CAIDOAgCgzgIA4NICAADTAgDgogAAINMCAFDTAgBw0wIAkNMCAADUAgBA1gIA4NYCAADXAgAk1wIAMNcCAEDXAgBg1wIAdNcCAIDXAgCQ1wIApNcCALDXAgC81wIAyNcCAODXAgBg2AIAgNgCAKDYAgDw3wIAUOACACDhAgBQ4QIAgOECAFDiAgCQ5gIAwOUAAMDmAgDs5gIAAOcCAPDnAgAc6AIAMOgCAHDoAgAQ6QIAgOsCANTrAgDg6wIAAOwCAGDsAgAw8gIAcPICAPD0AgAQ9QIAgPUCAJz1AgCw9QIA0PUCAPD1AgBQ/QIAcP0CAJD9AgBA/gIAvAADAMgAAwDgAAMAAAEDACABAwCQAQMAkAIDAKAEAwCACgMAhAsDAJALAwCkCwMAsAsDAMQLAwDQCwMAAAwDACAMAwBADAMAYAwDAJAMAwCwDAMA0AwDAHANAwCQDQMAwA0DADAOAwCMEQMAoBEDAMARAwAAEgMAIBIDADQSAwBAEgMAYBIDAOASAwAQ7AAApCgDALAoAwDgKAMAMCkDAFApAwCw6wAAcCkDAFBBAwDQVQMA8FUDABBWAwBUVgMAYFYDAGxWAwCAVgMAFDABALxWAwDIVgMA1FYDAOBWAwDsVgMA+FYDAARXAwAQVwMAHFcDAChXAwA0VwMAQFcDAExXAwBYVwMAZFcDAHBXAwB8VwMAiFcDAJRXAwCgVwMArFcDALhXAwDEVwMA0FcDANxXAwDoVwMA9FcDAABYAwAMWAMAGFgDACRYAwAwWAMAPFgDAEhYAwBUWAMAYFgDAGxYAwB4WAMAhFgDAJBYAwCcWAMAqFgDALRYAwDAWAMAzFgDANhYAwDkWAMA8FgDAPxYAwAIWQMAFFkDACBZAwAsWQMAOFkDAERZAwBQWQMAXFkDAGhZAwB0WQMAgFkDAIxZAwAw1wIAmFkDAKRZAwCwWQMAvFkDAMhZAwDUWQMA4FkDAOxZAwD4WQMABFoDABBaAwAcWgMAKFoDADRaAwBAWgMATFoDAFhaAwBkWgMAcFoDAHxaAwCIWgMAlFoDAKBaAwCsWgMAuFoDAMRaAwDQWgMA3FoDABxKAQDoWgMA9FoDAABbAwAMWwMAGFsDACRbAwAwWwMAPFsDAEhbAwBUWwMAYFsDAGxbAwB4WwMAhFsDAJBbAwCcWwMAqFsDALRbAwDAWwMAzFsDANhbAwDkWwMA8FsDAPxbAwAIXAMAFFwDACBcAwAsXAMAOFwDAERcAwBQXAMAXFwDAGhcAwB0XAMAgFwDAIxcAwCYXAMApFwDALBcAwC8XAMAyFwDANRcAwDgXAMA7FwDAPhcAwAEXQMAEF0DABxdAwAoXQMANF0DAEBdAwBMXQMAWF0DAGRdAwBwXQMAfF0DAIhdAwCUXQMAoF0DAKxdAwC4XQMAxF0DANBdAwDcXQMA6F0DAPRdAwAAXgMADF4DABheAwAkXgMAMF4DADxeAwBIXgMAVF4DAGBeAwBsXgMAeF4DAIReAwCQXgMAnF4DAKheAwC0XgMAwF4DAMxeAwDYXgMA5F4DAPTjAQDIAAMA8F4DAPxeAwAIXwMAFF8DACBfAwAsXwMAOF8DAERfAwBQXwMA7OYCAFxfAwBoXwMAdF8DAIBfAwAMwwIAjF8DAJhfAwCw1wIAdNcCAKRfAwCwXwMAvF8DAMhfAwDUXwMA4F8DAOxfAwD4XwMABGADABBgAwAcYAMAKGADADRgAwBAYAMATGADAFhgAwBkYAMAcGADAHxgAwCIYAMAvAADAJRgAwCgYAMArGADALhgAwDEYAMA0GADANxgAwDoYAMA9GADAABhAwAMYQMAGGEDACRhAwAwYQMAPGEDAEhhAwBUYQMAYGEDAGxhAwB4YQMAhGEDAJBhAwCcYQMAqGEDALRhAwDAYQMAzGEDANhhAwDkYQMA8GEDAPxhAwAIYgMAFGIDACBiAwAsYgMAOGIDAERiAwBQYgMAXGIDAGhiAwB0YgMAgGIDAIxiAwCYYgMApGIDALBiAwC8YgMAyGIDANRiAwDgYgMA7GIDAPhiAwAEYwMAEGMDABxjAwAoYwMANGMDAEBjAwBMYwMAWGMDAGRjAwBwYwMAfGMDAIhjAwCUYwMAoGMDAKxjAwC4YwMAxGMDANBjAwDcYwMA6GMDAPRjAwAAZAMADGQDABhkAwAkZAMAMGQDADxkAwBIZAMAVGQDAGBkAwBsZAMAeGQDAIRkAwCQZAMAnGQDAKhkAwC0ZAMAwGQDAMxkAwDYZAMA5GQDAPBkAwD8ZAMACGUDABRlAwAgZQMALGUDADhlAwBQZQMAFQAAAAsFAAABAAAAAQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAAAAAAIwAAAAUAQey9Egs9JAAAAEMFAAAEAAAAAQAAABYAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAIQBBtL4SCwUvAAAAHwBByL4SCwEFAEHUvhILATAAQey+EgsOMQAAADIAAABooQQAAAQAQYS/EgsBAQBBlL8SCwX/////CgBB2L8SCwPQx1Q=\"), c => c.charCodeAt(0));\n\nconst wasmBinary = binary;\nconst getWasmInstance = async (info) => {\n  return WebAssembly.instantiate(wasmBinary, info).then((wasm) => wasm.instance.exports);\n};\n\nexport { getWasmInstance as default, getWasmInstance, wasmBinary };\n","import React, { useState } from 'react'\nimport { createCssVariablesTheme } from 'shiki'\nimport { getHighlighterCore } from 'shiki/core'\nimport { transformerNotationHighlight } from '@shikijs/transformers'\nimport { lineHighlighter, prepareCode, removeLineEndings } from './Utils.jsx'\nimport { sleep } from '@abw/badger-utils'\nimport getWasm from 'shiki/wasm'\nimport { classes } from '@abw/badger-react-ui'\n\nconst cssvars = 'css-variables'\nconst cssVarsTheme = createCssVariablesTheme({\n  name: cssvars,\n  variablePrefix: '--shiki-',\n  variableDefaults: {},\n  fontStyle: true\n})\n\nconst highlighter = getHighlighterCore({\n  themes: [cssVarsTheme],\n  langs: [\n    // 'html', 'javascript', 'jsx', 'json','markdown', 'mdx', 'css', 'scss', 'bash', 'yaml'\n    import('shiki/langs/html.mjs'),\n    import('shiki/langs/javascript.mjs'),\n    import('shiki/langs/typescript.mjs'),\n    import('shiki/langs/jsx.mjs'),\n    import('shiki/langs/tsx.mjs'),\n    import('shiki/langs/json.mjs'),\n    import('shiki/langs/markdown.mjs'),\n    import('shiki/langs/mdx.mjs'),\n    import('shiki/langs/css.mjs'),\n    import('shiki/langs/scss.mjs'),\n    import('shiki/langs/bash.mjs'),\n    import('shiki/langs/yaml.mjs')\n  ],\n  loadWasm: getWasm\n})\n\nexport const SourceCode = ({\n  code,\n  language='jsx',\n  caption,\n  expand=false,\n  fixed=expand,\n  className='',\n  highlightLines,\n  lineNumbers=true,\n  undent=false,\n  raw=false\n}) => {\n  const [copied, setCopied] = useState(false)\n  const [expanded, setExpanded] = useState(expand)\n  const [markup, setMarkup] = useState('Loading...')\n  const prepared = raw ? code : prepareCode(code, { undent })\n  const copy = () => {\n    navigator?.clipboard?.writeText(prepared)\n    setCopied(true)\n    sleep(2000).then(() => setCopied(false))\n  }\n  React.useEffect(\n    () => {\n      const transformers = [ removeLineEndings ]\n\n      if (highlightLines) {\n        transformers.push(\n          lineHighlighter(highlightLines)\n        )\n      }\n      highlighter.then(\n        highlighter => setMarkup(\n          highlighter.codeToHtml(\n            prepared,\n            {\n              lang: language,\n              theme: cssvars,\n              transformers: [\n                transformerNotationHighlight(),\n                ...transformers\n              ],\n            }\n          )\n        )\n      )\n    },\n    [code, language, highlightLines]\n  )\n\n  const cls = classes(\n    'source',\n    className,\n    expanded ? 'expanded' : null,\n    fixed ? 'fixed-open' : 'expandable',\n    lineNumbers ? null : 'no-line-numbers'\n  )\n\n  return (\n    // <div className={`source ${className} ${expanded ? 'expanded' : ''} ${fixed ? 'fixed-open' : 'expandable'}`}>\n    <div className={cls}>\n      {Boolean(caption) && <h4 className=\"caption\">{caption}</h4>}\n      <div className=\"controls\">\n        <div className=\"expand\" onClick={() => setExpanded(! expanded)}>\n          { expanded ? 'Compress' : 'Expand' }\n        </div>\n        <div\n          className={`clipboard ${copied ? 'copied' : ''}`}\n          onClick={copy}\n        >\n          { copied ? 'Copied' : 'Copy' }\n        </div>\n      </div>\n      <div dangerouslySetInnerHTML={{ __html: markup }} />\n    </div>\n  )\n}\n\nexport default SourceCode\n","import React from 'react'\nimport { classes } from '@abw/badger-react-ui'\n\nexport const Split = ({\n  children,\n  split = 2,\n  gap   = 8,\n  hgap  = gap,\n  vgap  = gap,\n  align = 'top',\n  stack = 'laptop',\n  className\n}) =>\n  <div className=\"container split\">\n    <div\n      className={\n        classes(\n          className,\n          align,\n          `grid-${split} stack-${stack} gap-v-${vgap} gap-h-${hgap}`\n        )\n      }\n      style={{ '--prose-width': '100%' }}\n    >\n      {children}\n    </div>\n  </div>\n\nexport default Split\n","import React from 'react'\nimport SourceCode from './SourceCode.jsx'\nimport Split from '@/content/Split.jsx'\nimport { classes } from '@abw/badger-react-ui'\n\nexport const SourceOutput = ({\n  Component,\n  code,\n  html,\n  className,\n  language='jsx',\n  ...props\n}) =>\n  <Split className={classes(className, 'example')}>\n    <div>\n      <SourceCode\n        code={code||html}\n        language={html ? 'html' : language}\n        {...props}\n      />\n    </div>\n    { Component\n      ? <div className=\"output\">\n          <h4 className=\"caption\">Output</h4>\n          <Component/>\n        </div>\n      : null\n    }\n    { html\n      ? <div className=\"output\">\n          <h4 className=\"caption\">Output</h4>\n          <div dangerouslySetInnerHTML={{ __html: html }} />\n        </div>\n      : null\n    }\n  </Split>\n\nexport default SourceOutput\n","var x = Object.defineProperty;\nvar P = (t, e, o) => e in t ? x(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o;\nvar s = (t, e, o) => P(t, typeof e != \"symbol\" ? e + \"\" : e, o);\nimport { jsx as a } from \"react/jsx-runtime\";\nimport g from \"react\";\nfunction m(t) {\n  return typeof t == \"string\";\n}\nfunction p(t) {\n  return Array.isArray(t);\n}\nfunction b(t) {\n  return typeof t == \"function\";\n}\nfunction h(...t) {\n  throw new Error(t.join(\"\"));\n}\nconst C = (t, ...e) => b(t) ? t(...e) : t;\nfunction v() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nv();\nfunction y(t = {}, e = {}, o = {}) {\n  return Object.entries(e).reduce(\n    (n, [r, i]) => {\n      const c = o[i];\n      return c !== null && typeof c < \"u\" && (n[r] = c), n;\n    },\n    { ...t }\n  );\n}\nfunction A(t, e = []) {\n  return (m(e) ? e.split(/,\\s*|\\s+/) : e).reduce(\n    (n, r) => {\n      const i = t[r] || h(`Cannot expose non-existent action method: ${r}`);\n      return b(i) ? n[r] = i.bind(t) : h(`Cannot bind to non-function method: ${r}`), n;\n    },\n    {}\n  );\n}\nfunction S(t, e) {\n  const o = t.debug ?? e.debug, n = C(t.debugPrefix ?? e.debugPrefix, t), r = C(t.debugColor ?? e.debugColor, t);\n  return o ? n ? (i, ...c) => console.log(\n    `%c${n}%c${i}`,\n    `color: ${r}`,\n    \"color:black\",\n    ...c\n  ) : console.log.bind(console) : () => {\n  };\n}\nconst $ = (t) => p(t) ? t : [t], F = (t, e = {}) => {\n  const o = e.defaultState || {}, n = e.context || g.createContext(o);\n  return {\n    Context: n,\n    Provider: (d) => /* @__PURE__ */ a(\n      t,\n      {\n        ...d,\n        render: (u) => /* @__PURE__ */ a(n.Provider, { value: u, children: d.children })\n      }\n    ),\n    Consumer: (d) => (u) => /* @__PURE__ */ a(n.Consumer, { children: (f) => /* @__PURE__ */ a(d, { ...f, ...u }) }),\n    Children: ({ children: d }) => $(d).map(\n      (u, f) => b(u) ? /* @__PURE__ */ a(n.Consumer, { children: u }, f) : u\n    ),\n    Use: () => g.useContext(n)\n  };\n};\nclass l extends g.Component {\n  constructor(o) {\n    super(o);\n    s(this, \"debug\");\n    s(this, \"actions\");\n    const n = this.constructor, r = n.debug, i = n.debugPrefix, c = n.debugColor;\n    this.debug = S(\n      o,\n      { debug: r, debugPrefix: i, debugColor: c }\n    ), this.state = y(\n      n.initialState,\n      n.initialProps,\n      o\n    ), this.actions = this.initActions(n.actions);\n  }\n  initActions(o) {\n    return A(this, o);\n  }\n  getContext() {\n    return {\n      ...this.props,\n      // properties passed to the context\n      ...this.state,\n      // internal state\n      ...this.actions\n      // callable action functions mapped to methods\n    };\n  }\n  getRenderProps() {\n    return this.getContext();\n  }\n  render() {\n    return this.props.render(\n      this.getRenderProps()\n    );\n  }\n}\ns(l, \"initialState\", {}), s(l, \"initialProps\", {}), s(l, \"actions\", []), s(l, \"debug\", !1), s(l, \"debugPrefix\"), s(l, \"debugColor\");\nexport {\n  l as Context,\n  F as Generator\n};\n","import { jsx as n, jsxs as y } from \"react/jsx-runtime\";\nimport { useState as v, useEffect as N, createContext as P, useContext as R } from \"react\";\nconst D = ({\n  path: t,\n  onClick: e,\n  width: s = 512,\n  height: c = 512,\n  style: r,\n  className: l = \"night-and-day--icon\",\n  fill: o = \"currentColor\"\n}) => /* @__PURE__ */ n(\n  \"svg\",\n  {\n    \"aria-hidden\": \"true\",\n    focusable: \"false\",\n    className: l,\n    style: r,\n    role: \"img\",\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: `0 0 ${s} ${c}`,\n    onClick: e,\n    children: /* @__PURE__ */ n(\"path\", { d: t, fill: o })\n  }\n), V = (t) => /* @__PURE__ */ n(\n  D,\n  {\n    path: \"M289,23C160,23 56,127 56,256C56,385 160,489 289,489C352,489 409,464 451,423C456,418 457,411 454,404C451,397 444,394 436,395C426,397 416,397 405,397C304,397 222,316 222,214C222,146 260,86 315,55C322,51 325,44 323,37C322,30 316,25 309,24C302,23 295,23 289,23L289,23Z\",\n    ...t\n  }\n), T = ({\n  Icon: t,\n  caption: e,\n  onClick: s,\n  iconClass: c,\n  iconStyle: r,\n  captionStyle: l,\n  className: o = \"night-and-day--switcher\",\n  captionClass: C = \"night-and-day--caption\",\n  style: d = { display: \"inline-block\" }\n}) => /* @__PURE__ */ y(\"div\", { className: o, onClick: s, style: d, children: [\n  /* @__PURE__ */ n(t, { style: r, className: c }),\n  !!e && /* @__PURE__ */ n(\"div\", { className: C, style: l, children: e })\n] }), Z = (t) => {\n  const { setDark: e } = f();\n  return /* @__PURE__ */ n(\n    T,\n    {\n      Icon: V,\n      onClick: e,\n      ...t\n    }\n  );\n}, $ = (t) => /* @__PURE__ */ n(\n  D,\n  {\n    path: \"M362,1.2C367,3 370,8 371,13L391,121L499,141C504,142 509,145 511,150C512,155 512,161 509,166L447,256L509,346C512,351 512,357 511,362C509,367 504,370 499,371L391,391L371,499C370,504 367,509 362,511C357,512 351,512 346,509L256,447L166,509C161,512 156,512 151,511C146,509 142,504 141,499L121,391L13,371C8,370 3,367 1,362C0,356 0,351 3,346L65,256L3,166C0,161 0,156 1,151C3,146 8,142 13,141L121,121L141,13C142,8 146,3 151,1C156,0 161,0 166,3L256,65L346,3C351,0 357,0 362,1ZM160,256C160,203 203,160 256,160C309,160 352,203 352,256C352,309 309,352 256,352C203,352 160,309 160,256ZM384,256C384,186 326,128 256,128C186,128 128,186 128,256C128,326 186,384 256,384C326,384 384,326 384,256Z\",\n    ...t\n  }\n), j = (t) => {\n  const { setLight: e } = f();\n  return /* @__PURE__ */ n(\n    T,\n    {\n      Icon: $,\n      onClick: e,\n      ...t\n    }\n  );\n}, g = \"dark\", u = \"light\", B = \"(prefers-color-scheme: dark)\";\nfunction b(t) {\n  return typeof t == \"string\";\n}\nfunction h() {\n}\nfunction A() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nA();\nconst F = () => {\n  let t = {};\n  return {\n    clear: () => t = {},\n    getItem: (e) => t[e],\n    setItem: (e, s) => t[e] = s,\n    removeItem: (e) => delete t[e]\n  };\n}, I = typeof window < \"u\", L = I && window.localStorage ? window.localStorage : F(), w = I && window.matchMedia ? (t) => window.matchMedia(t) : null, i = w && w(B), G = () => i ? i.matches : null, O = (t) => t.split(\" \"), p = (t, e = \"\") => `${t} ${e}`, U = {\n  isDark: !1,\n  isLight: !0,\n  setDark: h,\n  setLight: h,\n  setIsDark: h,\n  toggleTheme: h,\n  theme: u,\n  variant: \"\",\n  setVariant: h\n}, z = ({\n  storageKey: t,\n  defaultVariant: e,\n  children: s\n}) => {\n  const c = t ? L.getItem(t) : null, [r, l = \"\"] = b(c) ? O(c) : [G(), null], [o, C] = v(r === g), [d, x] = v(l || e), m = (a) => {\n    C(a), t && L.setItem(\n      t,\n      p(a ? g : u, d)\n    );\n  }, M = (a) => {\n    x(a), t && L.setItem(\n      t,\n      p(o ? g : u, a)\n    );\n  }, k = (a) => m(a.matches);\n  N(\n    () => {\n      if (i)\n        return i.addEventListener(\"change\", k), () => {\n          i && i.removeEventListener(\"change\", k);\n        };\n    },\n    []\n  );\n  const E = {\n    isDark: o,\n    isLight: !o,\n    setDark: () => m(!0),\n    setLight: () => m(!1),\n    setIsDark: C,\n    toggleTheme: () => m(!o),\n    theme: o ? g : u,\n    variant: d,\n    setVariant: M\n  };\n  return /* @__PURE__ */ n(S.Provider, { value: E, children: s });\n}, S = P(U), f = () => R(S), J = ({\n  sunrise: t = {},\n  nightfall: e = {}\n}) => {\n  const { isLight: s, setLight: c, setDark: r } = f();\n  return s ? /* @__PURE__ */ n(j, { onClick: r, ...t }) : /* @__PURE__ */ n(Z, { onClick: c, ...e });\n};\nexport {\n  S as Context,\n  D as Icon,\n  V as Moon,\n  U as NULL_CONTEXT,\n  Z as Nightfall,\n  $ as Sun,\n  j as Sunrise,\n  T as Switcher,\n  z as ThemeProvider,\n  J as Toggle,\n  f as useTheme\n};\n","function d(e) {\n  return typeof e == \"string\";\n}\nfunction T(e) {\n  return Number.isInteger(e);\n}\nfunction J(e) {\n  return Array.isArray(e);\n}\nfunction k(e) {\n  return typeof e == \"object\" && !J(e) && !w(e);\n}\nfunction M(e) {\n  return typeof e > \"u\";\n}\nfunction w(e) {\n  return e === null;\n}\nfunction o(e) {\n  return !(M(e) || w(e));\n}\nfunction A(e) {\n  return !o(e);\n}\nfunction D(...e) {\n  throw new Error(e.join(\"\"));\n}\nfunction E() {\n}\nfunction I() {\n  return Intl.DateTimeFormat().resolvedOptions().locale;\n}\nI();\nconst P = \"(\\\\d{4})\\\\D(\\\\d{1,2})\\\\D(\\\\d{1,2})\", O = \"(\\\\d{1,2})\\\\D(\\\\d{2})\\\\D(\\\\d{2})\", _ = `^\\\\s*${P}(?:(?:T|\\\\s)${O})?`, j = new RegExp(_), b = [void 0, \"year\", \"month\", \"day\", \"hours\", \"minutes\", \"seconds\"], v = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\"], R = { hour: \"hours\", minute: \"minutes\", second: \"seconds\" }, l = {\n  joint: \" \",\n  dateJoint: \"-\",\n  timeJoint: \":\",\n  locale: \"default\"\n};\nclass u {\n  /**\n   * Constructor for Timestamp object.\n   * @param {string|number|Date|Object} [ts] - timestamp\n   * @param {Object} [options] - configuration options\n   * @param {string} [options.joint=' '] - joining character between date and time parts\n   * @param {string} [options.dateJoint='-'] - joining character for date segments\n   * @param {string} [options.timeJoint=':'] - joining character for time segments\n   * @param {string} [options.locale='default'] - locale for formatting dates and times\n   */\n  constructor(t, s) {\n    const r = { ...l, ...s };\n    this.props = r, this.debug = r.debug ? console.log.bind(console) : E, A(t) ? this.parts = x() : t instanceof u ? this.parts = { ...t.parts } : N(t) ? this.parts = $(t) : d(t) ? this.parts = m(t) : q(t) ? this.parts = f(t) : T(t) ? this.parts = m(t) : k(t) ? o(t.unix) ? this.parts = m(t.unix * 1e3) : o(t.ms) ? this.parts = m(t.ms) : this.parts = t : D(`Invalid timestamp: ${t}`);\n  }\n  /**\n   * Method to return a new object as a copy of the current object\n   * @return {Timestamp} - new `Timestamp` object\n   */\n  copy() {\n    return new u(this.parts);\n  }\n  //--------------------------------------------------------------------------\n  // Methods to set/get constituent parts\n  //--------------------------------------------------------------------------\n  /**\n   * Method to get or set the year.\n   * @param {number} [year] - optional new value for year\n   * @return {number} - the year\n   */\n  year(t) {\n    return o(t) && (this.parts.year = t), this.parts.year;\n  }\n  /**\n   * Method to get or set the month.\n   * @param {number} [month] - optional new value for month\n   * @return {number} - the month\n   */\n  month(t) {\n    return o(t) && (this.parts.month = t, this.correct()), this.parts.month;\n  }\n  /**\n   * Method to get or set the day.\n   * @param {number} [day] - optional new value for day\n   * @return {number} - the day\n   */\n  day(t) {\n    return o(t) && (this.parts.day = t, this.correct()), this.parts.day;\n  }\n  /**\n   * Method to get or set the hours.\n   * @param {number} [hours] - optional new value for hours\n   * @return {number} - the hours\n   */\n  hours(t) {\n    return o(t) && (this.parts.hours = t, this.correct()), this.parts.hours;\n  }\n  /**\n   * Method to get or set the minutes.\n   * @param {number} [minutes] - optional new value for minutes\n   * @return {number} - the minutes\n   */\n  minutes(t) {\n    return o(t) && (this.parts.minutes = t, this.correct()), this.parts.minutes;\n  }\n  /**\n   * Method to get or set the seconds.\n   * @param {number} [seconds] - optional new value for seconds\n   * @return {number} - the seconds\n   */\n  seconds(t) {\n    return o(t) && (this.parts.seconds = t, this.correct()), this.parts.seconds;\n  }\n  //--------------------------------------------------------------------------\n  // Conversion to other formats\n  //--------------------------------------------------------------------------\n  /**\n   * Method to return a `Date` object\n   * @return {Date} - new date object\n   */\n  dateObject() {\n    return new Date(\n      this.stamp({ joint: \"T\", dateJoint: \"-\", timeJoint: \":\" })\n    );\n  }\n  /**\n   * Method to return the number of millseconds since the Unix epoch\n   * @return {number} - the number of milliseconds\n   */\n  epochMilliseconds() {\n    return this.dateObject().getTime();\n  }\n  /**\n   * Method to return the number of seconds since the Unix epoch\n   * @return {number} - the number of seconds\n   */\n  epochSeconds() {\n    return Math.floor(this.epochMilliseconds() / 1e3);\n  }\n  //--------------------------------------------------------------------------\n  // Formatting\n  //--------------------------------------------------------------------------\n  /**\n   * Method to return a formatted timestamp string in the form `YYYY-MM-DD HH:MM:SS`.\n   * @param {Object} [options] - configuration options\n   * @param {string} [options.joint=' '] - joining character between date and time parts\n   * @param {string} [options.dateJoint='-'] - joining character for date segments\n   * @param {string} [options.timeJoint=':'] - joining character for time segments\n   * @return {string} - formatted date/time stamp\n   */\n  stamp(t = {}) {\n    return h(\n      this.parts,\n      { ...this.props, ...t }\n    );\n  }\n  /**\n   * Auto-stringification method as a wrapper around {@link stamp()}.\n   * @param {Object} [options] - configuration options\n   * @param {string} [options.joint=' '] - joining character between date and time parts\n   * @param {string} [options.dateJoint='-'] - joining character for date segments\n   * @param {string} [options.timeJoint=':'] - joining character for time segments\n   * @return {string} - formatted date/time stamp\n   */\n  toString(t) {\n    return this.stamp(t);\n  }\n  /**\n   * Method to return a formatted date string in the form `YYYY-MM-DD`.\n   * @param {string} [joint='-'] - optional joining character\n   * @return {string} - formatted date string\n   */\n  date(t = this.props.dateJoint) {\n    return c(this.parts, t);\n  }\n  /**\n   * Method to return a formatted time string in the form `HH:MM:SS`.\n   * @param {string} [joint=':''] - optional joining character\n   * @return {string} - formatted time string\n   */\n  time(t = this.props.timeJoint) {\n    return p(this.parts, t);\n  }\n  /**\n   * Method to return the timestamp in kebab-case `YYYY-MM-DD-hh-mm-ss` regardless of any options.\n   * @return {string} - formatted date/time string\n   */\n  kebab() {\n    return h(\n      this.parts,\n      { joint: \"-\", dateJoint: \"-\", timeJoint: \"-\" }\n    );\n  }\n  /**\n   * Method to return the date and time in kebab-case `YYYYMMDD-hhmmss` regardless of any options.\n   * @return {string} - formatted date/time string\n   */\n  kebabDateTime() {\n    return h(\n      this.parts,\n      { joint: \"-\", dateJoint: \"\", timeJoint: \"\" }\n    );\n  }\n  /**\n   * Method to return the date in kebab-case `YYYY-MM-DD` regardless of any options.\n   * @return {string} - formatted date string\n   */\n  kebabDate() {\n    return c(this.parts, \"-\");\n  }\n  /**\n   * Method to return the time in kebab-case `hh-mm-ss` regardless of any options.\n   * @return {string} - formatted time string\n   */\n  kebabTime() {\n    return p(this.parts, \"-\");\n  }\n  /**\n   * Method to return the timestamp in snake-case `YYYY_MM_DD_hh_mm_ss` regardless of any options.\n   * @return {string} - formatted date/time string\n   */\n  snake() {\n    return h(\n      this.parts,\n      { joint: \"_\", dateJoint: \"_\", timeJoint: \"_\" }\n    );\n  }\n  /**\n   * Method to return the date and time in snake-case `YYYYMMDD_hhmmss` regardless of any options.\n   * @return {string} - formatted date/time string\n   */\n  snakeDateTime() {\n    return h(\n      this.parts,\n      { joint: \"_\", dateJoint: \"\", timeJoint: \"\" }\n    );\n  }\n  /**\n   * Method to return the date in snake-case `YYYY_MM_DD` regardless of any options.\n   * @return {string} - formatted date string\n   */\n  snakeDate() {\n    return c(this.parts, \"_\");\n  }\n  /**\n   * Method to return the time in snake-case `hh_mm_ss` regardless of any options.\n   * @return {string} - formatted time string\n   */\n  snakeTime() {\n    return p(this.parts, \"_\");\n  }\n  /**\n   * Method to return the timestamp squished together as `YYYYMMDDhhmmss` regardless of any options.\n   * @return {string} - formatted date/time string\n   */\n  squish() {\n    return h(\n      this.parts,\n      { joint: \"\", dateJoint: \"\", timeJoint: \"\" }\n    );\n  }\n  /**\n   * Method to return the date squished together as `YYYYMMDD` regardless of any options.\n   * @return {string} - formatted date string\n   */\n  squishDate() {\n    return c(this.parts, \"\");\n  }\n  /**\n   * Method to return the time squished together as `hhmmss` regardless of any options.\n   * @return {string} - formatted time string\n   */\n  squishTime() {\n    return p(this.parts, \"\");\n  }\n  /**\n   * Method to return the month name.\n   * @param {string} [format='long'] - optional format: `full`, `long`, `medium`, `short`\n   * @return {string} - the month name\n   */\n  monthName(t = \"long\") {\n    const s = this.dateObject().toLocaleString(\n      this.props.locale,\n      { month: t }\n    );\n    return t === \"short\" ? s.slice(0, 3) : s;\n  }\n  /**\n   * Method to return the weekday name as a number from 0 (Sunday) to 6 (Saturday)\n   * @return {number} - the weekday number\n   */\n  weekday() {\n    return this.dateObject().getDay();\n  }\n  /**\n   * Method to return the weekday name.\n   * @param {string} [format='long'] - optional format: `full`, `long`, `medium`, `short`\n   * @return {string} - the weekday name\n   */\n  weekdayName(t = \"long\") {\n    return this.dateObject().toLocaleString(\n      this.props.locale,\n      { weekday: t }\n    );\n  }\n  //--------------------------------------------------------------------------\n  // Adjustment\n  //--------------------------------------------------------------------------\n  /**\n   * Method to adjust the timestamp.  The duration can be specified as a string containing\n   * one or more items to adjust in either singular or plural form, e.g. `\"1 year, 1 month\"`,\n   * `\"2 years 2 months\"`, etc. Or it can be specified as an object: `{ year: 1, month: 1 }`,\n   * `{ years: 2, months: 2 }`, etc.  Any overflow or underflow will be corrected by the\n   * {@link correct()} method.\n   * @param {string|Object} duration - a string or object of adjustments\n   * @example\n   * ts.adjust(\"1 year 2 months 3 hours\")\n   * @example\n   * ts.adjust({ year: 1, months: 2, hours: 3 })\n   */\n  adjust(t) {\n    const s = this.parts, r = d(t) ? B(t) : H(t);\n    return v.forEach(\n      (n) => {\n        const a = r[n];\n        o(a) && (s[R[n] || n] += a);\n      }\n    ), this.correct();\n  }\n  /**\n   * Method to correct any underflow or overflow in the timestamp.  For example, if the\n   * month is set to 13 then it will be set to 1 and the year will be incremented.\n   */\n  correct() {\n    const t = this.parts;\n    for (; t.seconds < 0; )\n      t.seconds += 60, t.minutes--;\n    for (; t.minutes < 0; )\n      t.minutes += 60, t.hours--;\n    for (; t.hours < 0; )\n      t.hours += 24, t.day--;\n    for (t.seconds > 59 && (t.minutes += Math.floor(t.seconds / 60), t.seconds %= 60), t.minutes > 59 && (t.hours += Math.floor(t.minutes / 60), t.minutes %= 60), t.hours > 23 && (t.day += Math.floor(t.hours / 24), t.hours %= 24); t.day <= 0; )\n      t.month--, t.month <= 0 && (t.month += 12, t.year--), t.day += y(t.month, t.year);\n    for (; t.month <= 0; )\n      t.month += 12, t.year--;\n    for (; t.month > 12; )\n      t.month -= 12, t.year++;\n    let s;\n    for (; t.day > (s = y(t.month, t.year)); )\n      t.day -= s, t.month == 12 ? (t.month = 1, t.year++) : t.month++;\n    return this;\n  }\n  //--------------------------------------------------------------------------\n  // Comparison\n  //--------------------------------------------------------------------------\n  /**\n   * Method to compare the timestamp to another.  The arguments can be any that are accepted\n   * by the constructor.\n   * one or more items to adjust in either singular or plural form, e.g. `\"1 year, 1 month\"`,\n   * `\"2 years 2 months\"`, etc. Or it can be specified as an object: `{ year: 1, month: 1 }`,\n   * `{ years: 2, months: 2 }`, etc.\n   * @param {TimestampSource} ts - any argument accepted by the constructor\n   * @param {TimestampOptions} options - additional configuration options\n   * @return {Comparison} - -1 if the timestamp is before the comparator, 0 if it's equal, +1 if it's after.\n   */\n  compare(t, s) {\n    const r = new u(t, s), n = this.parts, a = r.parts;\n    for (const i of b)\n      if (i) {\n        if (n[i] < a[i])\n          return this.debug(\"[%s] this[%s] < that[%s]\", i, n[i], a[i]), -1;\n        if (n[i] > a[i])\n          return this.debug(\"[%s] this[%s] > that[%s]\", i, n[i], a[i]), 1;\n        this.debug(\"[%s] this[%s] = that[%s]\", i, n[i], a[i]);\n      }\n    return 0;\n  }\n  /**\n   * Method to compare one timestamp to another for equality\n   * @param {TimestampSource} ts - any argument accepted by the constructor\n   * @param {TimestampOptions} options - additional configuration options\n   * @return {boolean} - true if the timestamp is equal to the operand\n   */\n  equal(t, s) {\n    return this.compare(t, s) == 0;\n  }\n  /**\n   * Method to test for the timestamp coming before another timestamp\n   * @param {TimestampSource} ts - any argument accepted by the constructor\n   * @param {TimestampOptions} options - additional configuration options\n   * @return {boolean} - true if the timestamp is before the operand\n   */\n  before(t, s) {\n    return this.compare(t, s) == -1;\n  }\n  /**\n   * Method to test for the timestamp coming after another timestamp\n   * @param {TimestampSource} ts - any argument accepted by the constructor\n   * @param {TimestampOptions} options - additional configuration options\n   * @return {boolean} - true if the timestamp is after the operand\n   */\n  after(t, s) {\n    return this.compare(t, s) == 1;\n  }\n  /**\n   * Method to test for the timestamp being equal to or coming after another timestamp\n   * @param {TimestampSource} ts - any argument accepted by the constructor\n   * @param {TimestampOptions} options - additional configuration options\n   * @return {boolean} - true if the timestamp is equal to or coming after the operand\n   */\n  notBefore(t, s) {\n    return this.compare(t, s) >= 0;\n  }\n  /**\n   * Method to test for the timestamp being equal to or coming before another timestamp\n   * @param {TimestampSource} ts - any argument accepted by the constructor\n   * @param {TimestampOptions} options - additional configuration options\n   * @return {boolean} - true if the timestamp is equal to or coming before the operand\n   */\n  notAfter(t, s) {\n    return this.compare(t, s) <= 0;\n  }\n  /**\n   * Method to test for the timestamp being in the past.\n   * @return {boolean} - true if the timestamp is before the current time\n   */\n  inThePast() {\n    return this.before(g());\n  }\n  /**\n   * Method to test for the timestamp being in the past.\n   * @return {boolean} - true if the timestamp is before the current time\n   */\n  inTheFuture() {\n    return this.after(g());\n  }\n}\nconst N = (e) => d(e) && !!e.match(j), $ = (e) => {\n  const t = e.match(j) || D(\"Invalid timestamp: \", e), s = {\n    year: 0,\n    month: 0,\n    day: 0\n  };\n  return b.forEach(\n    (r, n) => {\n      r && t[n] && (s[r] = parseInt(t[n]));\n    }\n  ), s;\n}, q = (e) => e instanceof Date, x = () => f(/* @__PURE__ */ new Date()), m = (e) => f(new Date(e)), f = (e) => ({\n  year: e.getFullYear(),\n  month: e.getMonth() + 1,\n  day: e.getDate(),\n  hours: e.getHours(),\n  minutes: e.getMinutes(),\n  seconds: e.getSeconds()\n}), B = (e) => {\n  const t = e.matchAll(/(-?\\d+)\\s*(\\w+)/g), s = {};\n  for (const r of t) {\n    const n = parseInt(r[1]), a = r[2].replace(/s$/, \"\");\n    s[a] = n;\n  }\n  return S(s);\n}, H = (e) => {\n  const t = {};\n  return Object.entries(e).forEach(\n    ([s, r]) => {\n      t[s.replace(/s$/, \"\")] = r;\n    }\n  ), S(t);\n}, S = (e) => (e.week && (e.day = (e.day || 0) + e.week * 7, delete e.week), e), h = (e, t = {}) => {\n  const s = c(e, t.dateJoint);\n  if (o(e.hours)) {\n    const r = p(e, t.timeJoint);\n    return [s, r].join(\n      o(t.joint) ? t.joint : l.joint\n    );\n  } else\n    return s;\n}, c = (e, t = l.dateJoint) => [\n  String(e.year).padStart(4, \"0\"),\n  String(e.month).padStart(2, \"0\"),\n  String(e.day).padStart(2, \"0\")\n].join(t), p = (e, t = l.timeJoint) => o(e.hours) ? [\n  String(e.hours).padStart(2, \"0\"),\n  String(e.minutes).padStart(2, \"0\"),\n  String(e.seconds).padStart(2, \"0\")\n].join(t) : void 0, y = (e, t) => e === 4 || e === 6 || e === 9 || e === 11 ? 30 : e == 2 ? L(t) ? 29 : 28 : 31, L = (e) => e % 4 ? !1 : e % 400 === 0 ? !0 : e % 100 !== 0, C = (e, t) => new u(e, t), g = (e) => new u(null, e);\nexport {\n  u as Timestamp,\n  y as daysInMonth,\n  q as isDate,\n  N as isTimestamp,\n  c as joinDate,\n  p as joinTime,\n  h as joinTimestamp,\n  L as leapYear,\n  g as now,\n  m as parseDate,\n  B as parseDuration,\n  H as singularDurations,\n  $ as splitTimestamp,\n  C as timestamp,\n  f as unpackDate,\n  x as unpackNow,\n  S as weeksToDays\n};\n//# sourceMappingURL=badger-timestamp.js.map\n","import { MATCH_SNIPPETS_PREFIX, MATCH_EXAMPLES_PREFIX } from '@/constants/Code.jsx'\nimport { fail } from '@abw/badger-utils'\n\nexport const prepareSnippets = ({\n  snippets={},\n  matchSnippetsPrefix=MATCH_SNIPPETS_PREFIX\n}) =>\n  Object\n    .entries(snippets)\n    .reduce(\n      (snippets, [path, loader]) => {\n        const file = path.replace(matchSnippetsPrefix, '')\n        snippets[file] = loader\n        return snippets\n      },\n      { }\n    )\n\nexport const prepareExamples = ({\n  examples={},\n  examplesSrc={},\n  matchExamplesPrefix=MATCH_EXAMPLES_PREFIX\n}) =>\n  Object\n    .entries(examples)\n    .reduce(\n      (examples, [path, Component]) => {\n        const file = path.replace(matchExamplesPrefix, '')\n        const code = examplesSrc[path]\n          || fail(`Missing examplesSrc entry for ${path}`)\n        examples[file] = { Component, code }\n        return examples\n      },\n      { }\n    )\n","import { useState, useRef } from 'react'\nimport { Generator } from '@abw/react-context'\nimport { useTheme } from '@abw/react-night-and-day'\nimport { useWindow } from '@abw/badger-react-ui'\nimport { splitHash } from '@abw/badger-utils'\nimport { now } from '@abw/badger-timestamp'\nimport { prepareSnippets, prepareExamples } from '@/utils/Code.jsx'\n\nconst defaultSite = {\n  version:  '0.0.1',\n  title:    'Badger Website',\n  date:     now().date()\n}\n\nconst Context = ({\n  render,\n  site=defaultSite,\n  sidebar={},\n  smallScreenBreakpoints='mobile tablet',\n  ...props\n}) => {\n  // Sidebar\n  const [sidebarOpen, setSidebarOpen] = useState(true)\n  const openSidebar   = () => setSidebarOpen(true)\n  const closeSidebar  = () => setSidebarOpen(false)\n  const toggleSidebar = () => setSidebarOpen( open => ! open )\n\n  const [smallScreenSidebarOpen, setSmallScreenSidebarOpen] = useState(false)\n  const openSmallScreenSidebar   = () => setSmallScreenSidebarOpen(true)\n  const closeSmallScreenSidebar  = () => setSmallScreenSidebarOpen(false)\n  const toggleSmallScreenSidebar = () => setSmallScreenSidebarOpen( open => ! open )\n\n  const { width, breakpoint } = useWindow()\n  const smallScreen = splitHash(smallScreenBreakpoints)\n\n  const sidebarIconClick = () => {\n    if (smallScreen[breakpoint]) {\n      toggleSmallScreenSidebar()\n    }\n    else if (sidebarOpen) {\n      closeSidebar()\n      closeSmallScreenSidebar()\n    }\n    else {\n      openSidebar()\n      openSmallScreenSidebar()\n    }\n  }\n\n  // Page metadata\n  const [page, setPage] = useState({ })\n  const [tocs, setTocs] = useState({ })\n\n  const addPageToc = (page, id, item) => {\n    setTocs(\n      tocs => {\n        // console.log(`adding TOC to page ${page}: ${id} =>`, item)\n        return {\n          ...tocs,\n          [page]: {\n            ...(tocs[page] || { }),\n            [id]: item\n          }\n        }\n      }\n    )\n  }\n  const getPageToc = page => tocs[page]\n\n  // content ref for scrolling main body\n  const contentRef = useRef()\n\n  // Light/Dark theme\n  const { theme, toggleTheme, isDark, isLight, setDark, setLight } = useTheme()\n\n  // build index of all sidebar items\n  const sections = sidebar.sections || [ ]\n  const menuItems = sections\n    .flatMap(\n      section => section.menu || [ ]\n    )\n    .flatMap(\n      item => item.menu || item\n    )\n    .map(\n      item => ({\n        ...item,\n        // canonical form without any trailing slash\n        uri: item.to?.replace(/\\/$/, '')\n      })\n    )\n\n  if (props.debugPages) {\n    console.log(`menuItems: `, menuItems)\n  }\n\n  const prevNextPage = () => {\n    const index = menuItems.findIndex(\n      item => item.uri === page.uri\n    )\n    if (site.debugPages) {\n      console.log(\n        `menu index for page ${page.uri} is ${index}: `,\n        index >= 0\n          ? menuItems[index]\n          : undefined\n      )\n    }\n\n    const prev = index > 0\n      ? menuItems[index - 1]\n      : null\n    const next = (index > -1 && index < menuItems.length - 1)\n      ? menuItems[index + 1]\n      : null\n    return [prev, next]\n  }\n\n  const snippets = prepareSnippets(props)\n  const examples = prepareExamples(props)\n  // console.log(`prepared snippets: `, snippets)\n\n  return render({\n    ...props,\n    site, sidebar, snippets, examples,\n    page, setPage, tocs, addPageToc, getPageToc, prevNextPage,\n    width, breakpoint,\n    sidebarOpen, setSidebarOpen,\n    openSidebar, closeSidebar, toggleSidebar,\n    smallScreenSidebarOpen, setSmallScreenSidebarOpen,\n    openSmallScreenSidebar, closeSmallScreenSidebar, toggleSmallScreenSidebar,\n    sidebarIconClick,\n    sidebarClick: closeSmallScreenSidebar,\n    contentRef,\n    theme, toggleTheme, isDark, isLight, setDark, setLight,\n  })\n}\n\nexport const SiteContext = Generator(Context)\n\nexport const {\n  // Provider: SiteProvider,\n  Consumer: SiteConsumer,\n  Children: SiteChildren,\n  Use:      useSite\n} = SiteContext\n\nexport default SiteContext\n","import React from 'react'\nimport Loading from './Loading.jsx'\nimport SourceOutput from './SourceOutput.jsx'\nimport { useSite } from '@/site/Context.jsx'\nimport { EXAMPLE, LANGUAGE_EXTENSIONS } from '@/constants/Code.jsx'\nimport { InvalidNameError, NoExtensionError, UnknownExtensionError } from './Error.jsx'\n\nexport const LoadExample = ({\n  file,\n  language,\n  ...props\n}) => {\n  const { examples } = useSite()\n  const [code, setCode] = React.useState(null)\n  const [comp, setComp] = React.useState(null)\n  const loader = examples[file]\n\n  if (! loader) {\n    return (\n      <InvalidNameError\n        file={file}\n        type={EXAMPLE}\n      />\n    )\n  }\n\n  if (! language) {\n    const matchExt = file.match(/\\.(\\w+)$/)\n    if (matchExt) {\n      const ext = matchExt[1]\n      language = LANGUAGE_EXTENSIONS[ext]\n      if (! language) {\n        return (\n          <UnknownExtensionError\n            file={file}\n            ext={ext}\n            type={EXAMPLE}\n          />\n        )\n      }\n    }\n    else {\n      return (\n        <NoExtensionError\n          file={file}\n          type={EXAMPLE}\n        />\n      )\n    }\n  }\n\n  const isHTML = language === 'html'\n\n  React.useEffect(\n    () => {\n      loader.code().then(setCode)\n      if (! isHTML) {\n        // console.log(`${file} is not HTML, loading component`)\n        loader.Component().then(\n          // Careful!  We must pass a function to setComp because module\n          // is already a function.\n          module => setComp(() => module)\n        )\n      }\n    },\n    [file]\n  )\n\n  if (isHTML) {\n    if (code) {\n      return (\n        <SourceOutput\n          html={code}\n          language={language}\n          {...props}\n        />\n      )\n    }\n  }\n  else {\n    if (code && comp) {\n      return (\n        <SourceOutput\n          Component={comp}\n          code={code}\n          language={language}\n          {...props}\n        />\n      )\n    }\n  }\n\n  return (\n    <Loading\n      file={file}\n      type={EXAMPLE}\n    />\n  )\n}\n\nexport default LoadExample\n","import React        from 'react'\nimport LoadExample  from './LoadExample.jsx'\nimport SourceOutput from './SourceOutput.jsx'\n\nexport const Example = ({\n  file,\n  ...props\n}) =>\n  file\n    ? <LoadExample file={file} {...props}/>\n    : <SourceOutput {...props}/>\n\nexport default Example\n","import React from 'react'\nimport SourceCode from './SourceCode.jsx'\nimport Split from '@/content/Split.jsx'\n\nexport const Source = ({\n  children,\n  className,\n  ...props\n}) =>\n  children\n    ? <Split\n        className={className}\n        vgap={4}\n        {...props}\n      >\n        <div>\n          {children}\n        </div>\n        <SourceCode {...props}/>\n      </Split>\n    : <SourceCode\n        className={className}\n        {...props}\n      />\n\nexport default Source\n","import React from 'react'\nimport Loading from './Loading.jsx'\nimport Source from './Source.jsx'\nimport SourceOutput from './SourceOutput.jsx'\nimport { useSite } from '@/site/Context.jsx'\nimport { LANGUAGE_EXTENSIONS, SNIPPET } from '@/constants/Code.jsx'\nimport { InvalidNameError, NoExtensionError, UnknownExtensionError } from './Error.jsx'\n\nexport const Snippet = ({\n  file,\n  language,\n  output,\n  ...props\n}) => {\n  const { snippets } = useSite()\n  const [code, setCode] = React.useState(null)\n  const loader = snippets[file]\n  // console.log(`Snippet snippets: `, snippets)\n\n  if (! loader) {\n    return (\n      <InvalidNameError\n        file={file}\n        type={SNIPPET}\n      />\n    )\n  }\n\n  if (! language) {\n    const matchExt = file.match(/\\.(\\w+)$/)\n    if (matchExt) {\n      const ext = matchExt[1]\n      language = LANGUAGE_EXTENSIONS[ext]\n      if (! language) {\n        return (\n          <UnknownExtensionError\n            file={file}\n            ext={ext}\n            type={SNIPPET}\n          />\n        )\n      }\n    }\n    else {\n      return (\n        <NoExtensionError\n          file={file}\n          type={SNIPPET}\n        />\n      )\n    }\n  }\n\n  React.useEffect(\n    () => {\n      // console.log(`loading snippet file: ${file}`)\n      loader().then(setCode)\n    },\n    [file]\n  )\n\n  if (code && language === 'html' && output) {\n    return (\n      <SourceOutput\n        html={code}\n        vgap={4}\n        {...props}\n      />\n    )\n  }\n\n  return code\n    ? <Source\n        code={code}\n        language={language}\n        vgap={4}\n        {...props}\n      />\n    : <Loading\n        file={file}\n        type={SNIPPET}\n      />\n}\n\nexport default Snippet","// export const MATCH_PAGES        = './pages/**/[a-z_]*.[jt]s?(x)'\nexport const MATCH_PAGES_PREFIX = /^[./]*pages/\nexport const MATCH_PAGE_SUFFIX  = /\\.([jt]sx?|mdx?)$/\nexport const MATCH_INDEX_PAGE   = /index$/\nexport const MATCH_LAYOUT       = /\\/_layout$/\nexport const MATCH_IGNORE       = /\\/_examples\\//\nexport const MATCH_PLACEHOLDER  = /\\[(\\w+)\\]/\n","export const OPEN = 'open'\nexport const CLOSED = 'closed'","import React from 'react'\nimport { WithIcons, classes } from '@abw/badger-react-ui'\n\nconst ExternalLink = ({\n  href,\n  label,\n  style,\n  linkRef,\n  size,\n  color,\n  dark,\n  button,\n  outline,\n  className,\n  code,\n  codeClass='code',\n  text=code,\n  todo,\n  disabled=todo,\n  targetBlank,\n  target=targetBlank ? '_blank' : null,\n  rel=targetBlank ? 'noreferrer' : null,\n  ...props\n}) =>\n  <a\n    href={href}\n    className={\n      classes(\n        className, size, color,\n        {\n          dark, button, outline, disabled,\n          [codeClass]: code,\n        }\n      )\n    }\n    aria-label={label}\n    style={style}\n    ref={linkRef}\n    disabled={disabled}\n    target={target}\n    rel={rel}\n  >\n    <WithIcons text={text} {...props}/>\n  </a>\n\nexport default ExternalLink\n","/**\n * @remix-run/router v1.16.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n  /**\n   * A POP indicates a change to an arbitrary index in the history stack, such\n   * as a back or forward navigation. It does not describe the direction of the\n   * navigation, only that the current index changed.\n   *\n   * Note: This is the default action for newly created history objects.\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\n   * A PUSH indicates a new entry being added to the history stack, such as when\n   * a link is clicked and a new page loads. When this happens, all subsequent\n   * entries in the stack are lost.\n   */\n  Action[\"Push\"] = \"PUSH\";\n  /**\n   * A REPLACE indicates the entry at the current index in the history stack\n   * being replaced by a new one.\n   */\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  let {\n    initialEntries = [\"/\"],\n    initialIndex,\n    v5Compat = false\n  } = options;\n  let entries; // Declare so we can access from createMemoryLocation\n  entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n  let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n  let action = Action.Pop;\n  let listener = null;\n  function clampIndex(n) {\n    return Math.min(Math.max(n, 0), entries.length - 1);\n  }\n  function getCurrentLocation() {\n    return entries[index];\n  }\n  function createMemoryLocation(to, state, key) {\n    if (state === void 0) {\n      state = null;\n    }\n    let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n    warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n    return location;\n  }\n  function createHref(to) {\n    return typeof to === \"string\" ? to : createPath(to);\n  }\n  let history = {\n    get index() {\n      return index;\n    },\n    get action() {\n      return action;\n    },\n    get location() {\n      return getCurrentLocation();\n    },\n    createHref,\n    createURL(to) {\n      return new URL(createHref(to), \"http://localhost\");\n    },\n    encodeLocation(to) {\n      let path = typeof to === \"string\" ? parsePath(to) : to;\n      return {\n        pathname: path.pathname || \"\",\n        search: path.search || \"\",\n        hash: path.hash || \"\"\n      };\n    },\n    push(to, state) {\n      action = Action.Push;\n      let nextLocation = createMemoryLocation(to, state);\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      if (v5Compat && listener) {\n        listener({\n          action,\n          location: nextLocation,\n          delta: 1\n        });\n      }\n    },\n    replace(to, state) {\n      action = Action.Replace;\n      let nextLocation = createMemoryLocation(to, state);\n      entries[index] = nextLocation;\n      if (v5Compat && listener) {\n        listener({\n          action,\n          location: nextLocation,\n          delta: 0\n        });\n      }\n    },\n    go(delta) {\n      action = Action.Pop;\n      let nextIndex = clampIndex(index + delta);\n      let nextLocation = entries[nextIndex];\n      index = nextIndex;\n      if (listener) {\n        listener({\n          action,\n          location: nextLocation,\n          delta\n        });\n      }\n    },\n    listen(fn) {\n      listener = fn;\n      return () => {\n        listener = null;\n      };\n    }\n  };\n  return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  function createBrowserLocation(window, globalHistory) {\n    let {\n      pathname,\n      search,\n      hash\n    } = window.location;\n    return createLocation(\"\", {\n      pathname,\n      search,\n      hash\n    },\n    // state defaults to `null` because `window.history.state` does\n    globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n  }\n  function createBrowserHref(window, to) {\n    return typeof to === \"string\" ? to : createPath(to);\n  }\n  return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  function createHashLocation(window, globalHistory) {\n    let {\n      pathname = \"/\",\n      search = \"\",\n      hash = \"\"\n    } = parsePath(window.location.hash.substr(1));\n    // Hash URL should always have a leading / just like window.location.pathname\n    // does, so if an app ends up at a route like /#something then we add a\n    // leading slash so all of our path-matching behaves the same as if it would\n    // in a browser router.  This is particularly important when there exists a\n    // root splat route (<Route path=\"*\">) since that matches internally against\n    // \"/*\" and we'd expect /#something to 404 in a hash router app.\n    if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n      pathname = \"/\" + pathname;\n    }\n    return createLocation(\"\", {\n      pathname,\n      search,\n      hash\n    },\n    // state defaults to `null` because `window.history.state` does\n    globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n  }\n  function createHashHref(window, to) {\n    let base = window.document.querySelector(\"base\");\n    let href = \"\";\n    if (base && base.getAttribute(\"href\")) {\n      let url = window.location.href;\n      let hashIndex = url.indexOf(\"#\");\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n    return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n  }\n  function validateHashLocation(location, to) {\n    warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n  }\n  return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n  if (value === false || value === null || typeof value === \"undefined\") {\n    throw new Error(message);\n  }\n}\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== \"undefined\") console.warn(message);\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience, so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message);\n      // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n  return {\n    usr: location.state,\n    key: location.key,\n    idx: index\n  };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n  if (state === void 0) {\n    state = null;\n  }\n  let location = _extends({\n    pathname: typeof current === \"string\" ? current : current.pathname,\n    search: \"\",\n    hash: \"\"\n  }, typeof to === \"string\" ? parsePath(to) : to, {\n    state,\n    // TODO: This could be cleaned up.  push/replace should probably just take\n    // full Locations now and avoid the need to run through this flow at all\n    // But that's a pretty big refactor to the current test suite so going to\n    // keep as is for the time being and just let any incoming keys take precedence\n    key: to && to.key || key || createKey()\n  });\n  return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n  let {\n    pathname = \"/\",\n    search = \"\",\n    hash = \"\"\n  } = _ref;\n  if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n  if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n  return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n  let parsedPath = {};\n  if (path) {\n    let hashIndex = path.indexOf(\"#\");\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n    let searchIndex = path.indexOf(\"?\");\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n  return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  let {\n    window = document.defaultView,\n    v5Compat = false\n  } = options;\n  let globalHistory = window.history;\n  let action = Action.Pop;\n  let listener = null;\n  let index = getIndex();\n  // Index should only be null when we initialize. If not, it's because the\n  // user called history.pushState or history.replaceState directly, in which\n  // case we should log a warning as it will result in bugs.\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), \"\");\n  }\n  function getIndex() {\n    let state = globalHistory.state || {\n      idx: null\n    };\n    return state.idx;\n  }\n  function handlePop() {\n    action = Action.Pop;\n    let nextIndex = getIndex();\n    let delta = nextIndex == null ? null : nextIndex - index;\n    index = nextIndex;\n    if (listener) {\n      listener({\n        action,\n        location: history.location,\n        delta\n      });\n    }\n  }\n  function push(to, state) {\n    action = Action.Push;\n    let location = createLocation(history.location, to, state);\n    if (validateLocation) validateLocation(location, to);\n    index = getIndex() + 1;\n    let historyState = getHistoryState(location, index);\n    let url = history.createHref(location);\n    // try...catch because iOS limits us to 100 pushState calls :/\n    try {\n      globalHistory.pushState(historyState, \"\", url);\n    } catch (error) {\n      // If the exception is because `state` can't be serialized, let that throw\n      // outwards just like a replace call would so the dev knows the cause\n      // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n      // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n      if (error instanceof DOMException && error.name === \"DataCloneError\") {\n        throw error;\n      }\n      // They are going to lose state here, but there is no real\n      // way to warn them about it since the page will refresh...\n      window.location.assign(url);\n    }\n    if (v5Compat && listener) {\n      listener({\n        action,\n        location: history.location,\n        delta: 1\n      });\n    }\n  }\n  function replace(to, state) {\n    action = Action.Replace;\n    let location = createLocation(history.location, to, state);\n    if (validateLocation) validateLocation(location, to);\n    index = getIndex();\n    let historyState = getHistoryState(location, index);\n    let url = history.createHref(location);\n    globalHistory.replaceState(historyState, \"\", url);\n    if (v5Compat && listener) {\n      listener({\n        action,\n        location: history.location,\n        delta: 0\n      });\n    }\n  }\n  function createURL(to) {\n    // window.location.origin is \"null\" (the literal string value) in Firefox\n    // under certain conditions, notably when serving from a local HTML file\n    // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n    let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n    let href = typeof to === \"string\" ? to : createPath(to);\n    // Treating this as a full URL will strip any trailing spaces so we need to\n    // pre-encode them since they might be part of a matching splat param from\n    // an ancestor route\n    href = href.replace(/ $/, \"%20\");\n    invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n    return new URL(href, base);\n  }\n  let history = {\n    get action() {\n      return action;\n    },\n    get location() {\n      return getLocation(window, globalHistory);\n    },\n    listen(fn) {\n      if (listener) {\n        throw new Error(\"A history only accepts one active listener\");\n      }\n      window.addEventListener(PopStateEventType, handlePop);\n      listener = fn;\n      return () => {\n        window.removeEventListener(PopStateEventType, handlePop);\n        listener = null;\n      };\n    },\n    createHref(to) {\n      return createHref(window, to);\n    },\n    createURL,\n    encodeLocation(to) {\n      // Encode a Location the same way window.location would\n      let url = createURL(to);\n      return {\n        pathname: url.pathname,\n        search: url.search,\n        hash: url.hash\n      };\n    },\n    push,\n    replace,\n    go(n) {\n      return globalHistory.go(n);\n    }\n  };\n  return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n  ResultType[\"data\"] = \"data\";\n  ResultType[\"deferred\"] = \"deferred\";\n  ResultType[\"redirect\"] = \"redirect\";\n  ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n  return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n  if (parentPath === void 0) {\n    parentPath = [];\n  }\n  if (manifest === void 0) {\n    manifest = {};\n  }\n  return routes.map((route, index) => {\n    let treePath = [...parentPath, index];\n    let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n    invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n    invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\".  Route \" + \"id's must be globally unique within Data Router usages\");\n    if (isIndexRoute(route)) {\n      let indexRoute = _extends({}, route, mapRouteProperties(route), {\n        id\n      });\n      manifest[id] = indexRoute;\n      return indexRoute;\n    } else {\n      let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n        id,\n        children: undefined\n      });\n      manifest[id] = pathOrLayoutRoute;\n      if (route.children) {\n        pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n      }\n      return pathOrLayoutRoute;\n    }\n  });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n  if (basename === void 0) {\n    basename = \"/\";\n  }\n  let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n  let pathname = stripBasename(location.pathname || \"/\", basename);\n  if (pathname == null) {\n    return null;\n  }\n  let branches = flattenRoutes(routes);\n  rankRouteBranches(branches);\n  let matches = null;\n  for (let i = 0; matches == null && i < branches.length; ++i) {\n    // Incoming pathnames are generally encoded from either window.location\n    // or from router.navigate, but we want to match against the unencoded\n    // paths in the route definitions.  Memory router locations won't be\n    // encoded here but there also shouldn't be anything to decode so this\n    // should be a safe operation.  This avoids needing matchRoutes to be\n    // history-aware.\n    let decoded = decodePath(pathname);\n    matches = matchRouteBranch(branches[i], decoded);\n  }\n  return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n  let {\n    route,\n    pathname,\n    params\n  } = match;\n  return {\n    id: route.id,\n    pathname,\n    params,\n    data: loaderData[route.id],\n    handle: route.handle\n  };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n  if (branches === void 0) {\n    branches = [];\n  }\n  if (parentsMeta === void 0) {\n    parentsMeta = [];\n  }\n  if (parentPath === void 0) {\n    parentPath = \"\";\n  }\n  let flattenRoute = (route, index, relativePath) => {\n    let meta = {\n      relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n      caseSensitive: route.caseSensitive === true,\n      childrenIndex: index,\n      route\n    };\n    if (meta.relativePath.startsWith(\"/\")) {\n      invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n      meta.relativePath = meta.relativePath.slice(parentPath.length);\n    }\n    let path = joinPaths([parentPath, meta.relativePath]);\n    let routesMeta = parentsMeta.concat(meta);\n    // Add the children before adding this route to the array, so we traverse the\n    // route tree depth-first and child routes appear before their parents in\n    // the \"flattened\" version.\n    if (route.children && route.children.length > 0) {\n      invariant(\n      // Our types know better, but runtime JS may not!\n      // @ts-expect-error\n      route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n      flattenRoutes(route.children, branches, routesMeta, path);\n    }\n    // Routes without a path shouldn't ever match by themselves unless they are\n    // index routes, so don't add them to the list of possible branches.\n    if (route.path == null && !route.index) {\n      return;\n    }\n    branches.push({\n      path,\n      score: computeScore(path, route.index),\n      routesMeta\n    });\n  };\n  routes.forEach((route, index) => {\n    var _route$path;\n    // coarse-grain check for optional params\n    if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n      flattenRoute(route, index);\n    } else {\n      for (let exploded of explodeOptionalSegments(route.path)) {\n        flattenRoute(route, index, exploded);\n      }\n    }\n  });\n  return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n  let segments = path.split(\"/\");\n  if (segments.length === 0) return [];\n  let [first, ...rest] = segments;\n  // Optional path segments are denoted by a trailing `?`\n  let isOptional = first.endsWith(\"?\");\n  // Compute the corresponding required segment: `foo?` -> `foo`\n  let required = first.replace(/\\?$/, \"\");\n  if (rest.length === 0) {\n    // Intepret empty string as omitting an optional segment\n    // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n    return isOptional ? [required, \"\"] : [required];\n  }\n  let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n  let result = [];\n  // All child paths with the prefix.  Do this for all children before the\n  // optional version for all children, so we get consistent ordering where the\n  // parent optional aspect is preferred as required.  Otherwise, we can get\n  // child sections interspersed where deeper optional segments are higher than\n  // parent optional segments, where for example, /:two would explode _earlier_\n  // then /:one.  By always including the parent as required _for all children_\n  // first, we avoid this issue\n  result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n  // Then, if this is an optional value, add all child versions without\n  if (isOptional) {\n    result.push(...restExploded);\n  }\n  // for absolute paths, ensure `/` instead of empty segment\n  return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n  branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n  : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n  let segments = path.split(\"/\");\n  let initialScore = segments.length;\n  if (segments.some(isSplat)) {\n    initialScore += splatPenalty;\n  }\n  if (index) {\n    initialScore += indexRouteValue;\n  }\n  return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n  let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n  return siblings ?\n  // If two routes are siblings, we should try to match the earlier sibling\n  // first. This allows people to have fine-grained control over the matching\n  // behavior by simply putting routes with identical paths in the order they\n  // want them tried.\n  a[a.length - 1] - b[b.length - 1] :\n  // Otherwise, it doesn't really make sense to rank non-siblings by index,\n  // so they sort equally.\n  0;\n}\nfunction matchRouteBranch(branch, pathname) {\n  let {\n    routesMeta\n  } = branch;\n  let matchedParams = {};\n  let matchedPathname = \"/\";\n  let matches = [];\n  for (let i = 0; i < routesMeta.length; ++i) {\n    let meta = routesMeta[i];\n    let end = i === routesMeta.length - 1;\n    let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n    let match = matchPath({\n      path: meta.relativePath,\n      caseSensitive: meta.caseSensitive,\n      end\n    }, remainingPathname);\n    if (!match) return null;\n    Object.assign(matchedParams, match.params);\n    let route = meta.route;\n    matches.push({\n      // TODO: Can this as be avoided?\n      params: matchedParams,\n      pathname: joinPaths([matchedPathname, match.pathname]),\n      pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n      route\n    });\n    if (match.pathnameBase !== \"/\") {\n      matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n    }\n  }\n  return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n  if (params === void 0) {\n    params = {};\n  }\n  let path = originalPath;\n  if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n    warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n    path = path.replace(/\\*$/, \"/*\");\n  }\n  // ensure `/` is added at the beginning if the path is absolute\n  const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n  const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n  const segments = path.split(/\\/+/).map((segment, index, array) => {\n    const isLastSegment = index === array.length - 1;\n    // only apply the splat if it's the last segment\n    if (isLastSegment && segment === \"*\") {\n      const star = \"*\";\n      // Apply the splat\n      return stringify(params[star]);\n    }\n    const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n    if (keyMatch) {\n      const [, key, optional] = keyMatch;\n      let param = params[key];\n      invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n      return stringify(param);\n    }\n    // Remove any optional markers from optional static segments\n    return segment.replace(/\\?$/g, \"\");\n  })\n  // Remove empty segments\n  .filter(segment => !!segment);\n  return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n  if (typeof pattern === \"string\") {\n    pattern = {\n      path: pattern,\n      caseSensitive: false,\n      end: true\n    };\n  }\n  let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n  let match = pathname.match(matcher);\n  if (!match) return null;\n  let matchedPathname = match[0];\n  let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n  let captureGroups = match.slice(1);\n  let params = compiledParams.reduce((memo, _ref, index) => {\n    let {\n      paramName,\n      isOptional\n    } = _ref;\n    // We need to compute the pathnameBase here using the raw splat value\n    // instead of using params[\"*\"] later because it will be decoded then\n    if (paramName === \"*\") {\n      let splatValue = captureGroups[index] || \"\";\n      pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n    }\n    const value = captureGroups[index];\n    if (isOptional && !value) {\n      memo[paramName] = undefined;\n    } else {\n      memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n    }\n    return memo;\n  }, {});\n  return {\n    params,\n    pathname: matchedPathname,\n    pathnameBase,\n    pattern\n  };\n}\nfunction compilePath(path, caseSensitive, end) {\n  if (caseSensitive === void 0) {\n    caseSensitive = false;\n  }\n  if (end === void 0) {\n    end = true;\n  }\n  warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n  let params = [];\n  let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n  .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n  .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n  .replace(/\\/:([\\w-]+)(\\?)?/g, (_, paramName, isOptional) => {\n    params.push({\n      paramName,\n      isOptional: isOptional != null\n    });\n    return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n  });\n  if (path.endsWith(\"*\")) {\n    params.push({\n      paramName: \"*\"\n    });\n    regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n    : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n  } else if (end) {\n    // When matching to the end, ignore trailing slashes\n    regexpSource += \"\\\\/*$\";\n  } else if (path !== \"\" && path !== \"/\") {\n    // If our path is non-empty and contains anything beyond an initial slash,\n    // then we have _some_ form of path in our regex, so we should expect to\n    // match only if we find the end of this path segment.  Look for an optional\n    // non-captured trailing slash (to match a portion of the URL) or the end\n    // of the path (if we've matched to the end).  We used to do this with a\n    // word boundary but that gives false positives on routes like\n    // /user-preferences since `-` counts as a word boundary.\n    regexpSource += \"(?:(?=\\\\/|$))\";\n  } else ;\n  let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n  return [matcher, params];\n}\nfunction decodePath(value) {\n  try {\n    return value.split(\"/\").map(v => decodeURIComponent(v).replace(/\\//g, \"%2F\")).join(\"/\");\n  } catch (error) {\n    warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n    return value;\n  }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n  if (basename === \"/\") return pathname;\n  if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n    return null;\n  }\n  // We want to leave trailing slash behavior in the user's control, so if they\n  // specify a basename with a trailing slash, we should support it\n  let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n  let nextChar = pathname.charAt(startIndex);\n  if (nextChar && nextChar !== \"/\") {\n    // pathname does not start with basename/\n    return null;\n  }\n  return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n  if (fromPathname === void 0) {\n    fromPathname = \"/\";\n  }\n  let {\n    pathname: toPathname,\n    search = \"\",\n    hash = \"\"\n  } = typeof to === \"string\" ? parsePath(to) : to;\n  let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n  return {\n    pathname,\n    search: normalizeSearch(search),\n    hash: normalizeHash(hash)\n  };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n  let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n  let relativeSegments = relativePath.split(\"/\");\n  relativeSegments.forEach(segment => {\n    if (segment === \"..\") {\n      // Keep the root \"\" segment so the pathname starts at /\n      if (segments.length > 1) segments.pop();\n    } else if (segment !== \".\") {\n      segments.push(segment);\n    }\n  });\n  return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n  return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"].  Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in <Link to=\\\"...\\\"> and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same.  Both of the following examples should link back to the root:\n *\n *   <Route path=\"/\">\n *     <Route path=\"accounts\" element={<Link to=\"..\"}>\n *   </Route>\n *\n *   <Route path=\"/\">\n *     <Route path=\"accounts\">\n *       <Route element={<AccountsLayout />}>       // <-- Does not contribute\n *         <Route index element={<Link to=\"..\"} />  // <-- Does not contribute\n *       </Route\n *     </Route>\n *   </Route>\n */\nfunction getPathContributingMatches(matches) {\n  return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nfunction getResolveToMatches(matches, v7_relativeSplatPath) {\n  let pathMatches = getPathContributingMatches(matches);\n  // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n  // match so we include splat values for \".\" links.  See:\n  // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n  if (v7_relativeSplatPath) {\n    return pathMatches.map((match, idx) => idx === matches.length - 1 ? match.pathname : match.pathnameBase);\n  }\n  return pathMatches.map(match => match.pathnameBase);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n  if (isPathRelative === void 0) {\n    isPathRelative = false;\n  }\n  let to;\n  if (typeof toArg === \"string\") {\n    to = parsePath(toArg);\n  } else {\n    to = _extends({}, toArg);\n    invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n    invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n    invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n  }\n  let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n  let toPathname = isEmptyPath ? \"/\" : to.pathname;\n  let from;\n  // Routing is relative to the current pathname if explicitly requested.\n  //\n  // If a pathname is explicitly provided in `to`, it should be relative to the\n  // route context. This is explained in `Note on `<Link to>` values` in our\n  // migration guide from v5 as a means of disambiguation between `to` values\n  // that begin with `/` and those that do not. However, this is problematic for\n  // `to` values that do not provide a pathname. `to` can simply be a search or\n  // hash string, in which case we should assume that the navigation is relative\n  // to the current location's pathname and *not* the route pathname.\n  if (toPathname == null) {\n    from = locationPathname;\n  } else {\n    let routePathnameIndex = routePathnames.length - 1;\n    // With relative=\"route\" (the default), each leading .. segment means\n    // \"go up one route\" instead of \"go up one URL segment\".  This is a key\n    // difference from how <a href> works and a major reason we call this a\n    // \"to\" value instead of a \"href\".\n    if (!isPathRelative && toPathname.startsWith(\"..\")) {\n      let toSegments = toPathname.split(\"/\");\n      while (toSegments[0] === \"..\") {\n        toSegments.shift();\n        routePathnameIndex -= 1;\n      }\n      to.pathname = toSegments.join(\"/\");\n    }\n    from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n  }\n  let path = resolvePath(to, from);\n  // Ensure the pathname has a trailing slash if the original \"to\" had one\n  let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n  // Or if this was a link to the current path which has a trailing slash\n  let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n  if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n    path.pathname += \"/\";\n  }\n  return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n  // Empty strings should be treated the same as / paths\n  return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nconst json = function json(data, init) {\n  if (init === void 0) {\n    init = {};\n  }\n  let responseInit = typeof init === \"number\" ? {\n    status: init\n  } : init;\n  let headers = new Headers(responseInit.headers);\n  if (!headers.has(\"Content-Type\")) {\n    headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n  }\n  return new Response(JSON.stringify(data), _extends({}, responseInit, {\n    headers\n  }));\n};\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n  constructor(data, responseInit) {\n    this.pendingKeysSet = new Set();\n    this.subscribers = new Set();\n    this.deferredKeys = [];\n    invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n    // Set up an AbortController + Promise we can race against to exit early\n    // cancellation\n    let reject;\n    this.abortPromise = new Promise((_, r) => reject = r);\n    this.controller = new AbortController();\n    let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n    this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n    this.controller.signal.addEventListener(\"abort\", onAbort);\n    this.data = Object.entries(data).reduce((acc, _ref2) => {\n      let [key, value] = _ref2;\n      return Object.assign(acc, {\n        [key]: this.trackPromise(key, value)\n      });\n    }, {});\n    if (this.done) {\n      // All incoming values were resolved\n      this.unlistenAbortSignal();\n    }\n    this.init = responseInit;\n  }\n  trackPromise(key, value) {\n    if (!(value instanceof Promise)) {\n      return value;\n    }\n    this.deferredKeys.push(key);\n    this.pendingKeysSet.add(key);\n    // We store a little wrapper promise that will be extended with\n    // _data/_error props upon resolve/reject\n    let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n    // Register rejection listeners to avoid uncaught promise rejections on\n    // errors or aborted deferred values\n    promise.catch(() => {});\n    Object.defineProperty(promise, \"_tracked\", {\n      get: () => true\n    });\n    return promise;\n  }\n  onSettle(promise, key, error, data) {\n    if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n      this.unlistenAbortSignal();\n      Object.defineProperty(promise, \"_error\", {\n        get: () => error\n      });\n      return Promise.reject(error);\n    }\n    this.pendingKeysSet.delete(key);\n    if (this.done) {\n      // Nothing left to abort!\n      this.unlistenAbortSignal();\n    }\n    // If the promise was resolved/rejected with undefined, we'll throw an error as you\n    // should always resolve with a value or null\n    if (error === undefined && data === undefined) {\n      let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n      Object.defineProperty(promise, \"_error\", {\n        get: () => undefinedError\n      });\n      this.emit(false, key);\n      return Promise.reject(undefinedError);\n    }\n    if (data === undefined) {\n      Object.defineProperty(promise, \"_error\", {\n        get: () => error\n      });\n      this.emit(false, key);\n      return Promise.reject(error);\n    }\n    Object.defineProperty(promise, \"_data\", {\n      get: () => data\n    });\n    this.emit(false, key);\n    return data;\n  }\n  emit(aborted, settledKey) {\n    this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n  }\n  subscribe(fn) {\n    this.subscribers.add(fn);\n    return () => this.subscribers.delete(fn);\n  }\n  cancel() {\n    this.controller.abort();\n    this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n    this.emit(true);\n  }\n  async resolveData(signal) {\n    let aborted = false;\n    if (!this.done) {\n      let onAbort = () => this.cancel();\n      signal.addEventListener(\"abort\", onAbort);\n      aborted = await new Promise(resolve => {\n        this.subscribe(aborted => {\n          signal.removeEventListener(\"abort\", onAbort);\n          if (aborted || this.done) {\n            resolve(aborted);\n          }\n        });\n      });\n    }\n    return aborted;\n  }\n  get done() {\n    return this.pendingKeysSet.size === 0;\n  }\n  get unwrappedData() {\n    invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n    return Object.entries(this.data).reduce((acc, _ref3) => {\n      let [key, value] = _ref3;\n      return Object.assign(acc, {\n        [key]: unwrapTrackedPromise(value)\n      });\n    }, {});\n  }\n  get pendingKeys() {\n    return Array.from(this.pendingKeysSet);\n  }\n}\nfunction isTrackedPromise(value) {\n  return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n  if (!isTrackedPromise(value)) {\n    return value;\n  }\n  if (value._error) {\n    throw value._error;\n  }\n  return value._data;\n}\nconst defer = function defer(data, init) {\n  if (init === void 0) {\n    init = {};\n  }\n  let responseInit = typeof init === \"number\" ? {\n    status: init\n  } : init;\n  return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n  if (init === void 0) {\n    init = 302;\n  }\n  let responseInit = init;\n  if (typeof responseInit === \"number\") {\n    responseInit = {\n      status: responseInit\n    };\n  } else if (typeof responseInit.status === \"undefined\") {\n    responseInit.status = 302;\n  }\n  let headers = new Headers(responseInit.headers);\n  headers.set(\"Location\", url);\n  return new Response(null, _extends({}, responseInit, {\n    headers\n  }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n  let response = redirect(url, init);\n  response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n  return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nclass ErrorResponseImpl {\n  constructor(status, statusText, data, internal) {\n    if (internal === void 0) {\n      internal = false;\n    }\n    this.status = status;\n    this.statusText = statusText || \"\";\n    this.internal = internal;\n    if (data instanceof Error) {\n      this.data = data.toString();\n      this.error = data;\n    } else {\n      this.data = data;\n    }\n  }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n  return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n  state: \"idle\",\n  location: undefined,\n  formMethod: undefined,\n  formAction: undefined,\n  formEncType: undefined,\n  formData: undefined,\n  json: undefined,\n  text: undefined\n};\nconst IDLE_FETCHER = {\n  state: \"idle\",\n  data: undefined,\n  formMethod: undefined,\n  formAction: undefined,\n  formEncType: undefined,\n  formData: undefined,\n  json: undefined,\n  text: undefined\n};\nconst IDLE_BLOCKER = {\n  state: \"unblocked\",\n  proceed: undefined,\n  reset: undefined,\n  location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n  hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n  const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n  const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n  const isServer = !isBrowser;\n  invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n  let mapRouteProperties;\n  if (init.mapRouteProperties) {\n    mapRouteProperties = init.mapRouteProperties;\n  } else if (init.detectErrorBoundary) {\n    // If they are still using the deprecated version, wrap it with the new API\n    let detectErrorBoundary = init.detectErrorBoundary;\n    mapRouteProperties = route => ({\n      hasErrorBoundary: detectErrorBoundary(route)\n    });\n  } else {\n    mapRouteProperties = defaultMapRouteProperties;\n  }\n  // Routes keyed by ID\n  let manifest = {};\n  // Routes in tree format for matching\n  let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n  let inFlightDataRoutes;\n  let basename = init.basename || \"/\";\n  let dataStrategyImpl = init.unstable_dataStrategy || defaultDataStrategy;\n  // Config driven behavior flags\n  let future = _extends({\n    v7_fetcherPersist: false,\n    v7_normalizeFormMethod: false,\n    v7_partialHydration: false,\n    v7_prependBasename: false,\n    v7_relativeSplatPath: false,\n    unstable_skipActionErrorRevalidation: false\n  }, init.future);\n  // Cleanup function for history\n  let unlistenHistory = null;\n  // Externally-provided functions to call on all state changes\n  let subscribers = new Set();\n  // Externally-provided object to hold scroll restoration locations during routing\n  let savedScrollPositions = null;\n  // Externally-provided function to get scroll restoration keys\n  let getScrollRestorationKey = null;\n  // Externally-provided function to get current scroll position\n  let getScrollPosition = null;\n  // One-time flag to control the initial hydration scroll restoration.  Because\n  // we don't get the saved positions from <ScrollRestoration /> until _after_\n  // the initial render, we need to manually trigger a separate updateState to\n  // send along the restoreScrollPosition\n  // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n  // SSR did the initial scroll restoration.\n  let initialScrollRestored = init.hydrationData != null;\n  let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n  let initialErrors = null;\n  if (initialMatches == null) {\n    // If we do not match a user-provided-route, fall back to the root\n    // to allow the error boundary to take over\n    let error = getInternalRouterError(404, {\n      pathname: init.history.location.pathname\n    });\n    let {\n      matches,\n      route\n    } = getShortCircuitMatches(dataRoutes);\n    initialMatches = matches;\n    initialErrors = {\n      [route.id]: error\n    };\n  }\n  let initialized;\n  let hasLazyRoutes = initialMatches.some(m => m.route.lazy);\n  let hasLoaders = initialMatches.some(m => m.route.loader);\n  if (hasLazyRoutes) {\n    // All initialMatches need to be loaded before we're ready.  If we have lazy\n    // functions around still then we'll need to run them in initialize()\n    initialized = false;\n  } else if (!hasLoaders) {\n    // If we've got no loaders to run, then we're good to go\n    initialized = true;\n  } else if (future.v7_partialHydration) {\n    // If partial hydration is enabled, we're initialized so long as we were\n    // provided with hydrationData for every route with a loader, and no loaders\n    // were marked for explicit hydration\n    let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n    let errors = init.hydrationData ? init.hydrationData.errors : null;\n    let isRouteInitialized = m => {\n      // No loader, nothing to initialize\n      if (!m.route.loader) {\n        return true;\n      }\n      // Explicitly opting-in to running on hydration\n      if (typeof m.route.loader === \"function\" && m.route.loader.hydrate === true) {\n        return false;\n      }\n      // Otherwise, initialized if hydrated with data or an error\n      return loaderData && loaderData[m.route.id] !== undefined || errors && errors[m.route.id] !== undefined;\n    };\n    // If errors exist, don't consider routes below the boundary\n    if (errors) {\n      let idx = initialMatches.findIndex(m => errors[m.route.id] !== undefined);\n      initialized = initialMatches.slice(0, idx + 1).every(isRouteInitialized);\n    } else {\n      initialized = initialMatches.every(isRouteInitialized);\n    }\n  } else {\n    // Without partial hydration - we're initialized if we were provided any\n    // hydrationData - which is expected to be complete\n    initialized = init.hydrationData != null;\n  }\n  let router;\n  let state = {\n    historyAction: init.history.action,\n    location: init.history.location,\n    matches: initialMatches,\n    initialized,\n    navigation: IDLE_NAVIGATION,\n    // Don't restore on initial updateState() if we were SSR'd\n    restoreScrollPosition: init.hydrationData != null ? false : null,\n    preventScrollReset: false,\n    revalidation: \"idle\",\n    loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n    actionData: init.hydrationData && init.hydrationData.actionData || null,\n    errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n    fetchers: new Map(),\n    blockers: new Map()\n  };\n  // -- Stateful internal variables to manage navigations --\n  // Current navigation in progress (to be committed in completeNavigation)\n  let pendingAction = Action.Pop;\n  // Should the current navigation prevent the scroll reset if scroll cannot\n  // be restored?\n  let pendingPreventScrollReset = false;\n  // AbortController for the active navigation\n  let pendingNavigationController;\n  // Should the current navigation enable document.startViewTransition?\n  let pendingViewTransitionEnabled = false;\n  // Store applied view transitions so we can apply them on POP\n  let appliedViewTransitions = new Map();\n  // Cleanup function for persisting applied transitions to sessionStorage\n  let removePageHideEventListener = null;\n  // We use this to avoid touching history in completeNavigation if a\n  // revalidation is entirely uninterrupted\n  let isUninterruptedRevalidation = false;\n  // Use this internal flag to force revalidation of all loaders:\n  //  - submissions (completed or interrupted)\n  //  - useRevalidator()\n  //  - X-Remix-Revalidate (from redirect)\n  let isRevalidationRequired = false;\n  // Use this internal array to capture routes that require revalidation due\n  // to a cancelled deferred on action submission\n  let cancelledDeferredRoutes = [];\n  // Use this internal array to capture fetcher loads that were cancelled by an\n  // action navigation and require revalidation\n  let cancelledFetcherLoads = [];\n  // AbortControllers for any in-flight fetchers\n  let fetchControllers = new Map();\n  // Track loads based on the order in which they started\n  let incrementingLoadId = 0;\n  // Track the outstanding pending navigation data load to be compared against\n  // the globally incrementing load when a fetcher load lands after a completed\n  // navigation\n  let pendingNavigationLoadId = -1;\n  // Fetchers that triggered data reloads as a result of their actions\n  let fetchReloadIds = new Map();\n  // Fetchers that triggered redirect navigations\n  let fetchRedirectIds = new Set();\n  // Most recent href/match for fetcher.load calls for fetchers\n  let fetchLoadMatches = new Map();\n  // Ref-count mounted fetchers so we know when it's ok to clean them up\n  let activeFetchers = new Map();\n  // Fetchers that have requested a delete when using v7_fetcherPersist,\n  // they'll be officially removed after they return to idle\n  let deletedFetchers = new Set();\n  // Store DeferredData instances for active route matches.  When a\n  // route loader returns defer() we stick one in here.  Then, when a nested\n  // promise resolves we update loaderData.  If a new navigation starts we\n  // cancel active deferreds for eliminated routes.\n  let activeDeferreds = new Map();\n  // Store blocker functions in a separate Map outside of router state since\n  // we don't need to update UI state if they change\n  let blockerFunctions = new Map();\n  // Flag to ignore the next history update, so we can revert the URL change on\n  // a POP navigation that was blocked by the user without touching router state\n  let ignoreNextHistoryUpdate = false;\n  // Initialize the router, all side effects should be kicked off from here.\n  // Implemented as a Fluent API for ease of:\n  //   let router = createRouter(init).initialize();\n  function initialize() {\n    // If history informs us of a POP navigation, start the navigation but do not update\n    // state.  We'll update our own state once the navigation completes\n    unlistenHistory = init.history.listen(_ref => {\n      let {\n        action: historyAction,\n        location,\n        delta\n      } = _ref;\n      // Ignore this event if it was just us resetting the URL from a\n      // blocked POP navigation\n      if (ignoreNextHistoryUpdate) {\n        ignoreNextHistoryUpdate = false;\n        return;\n      }\n      warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs.  This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n      let blockerKey = shouldBlockNavigation({\n        currentLocation: state.location,\n        nextLocation: location,\n        historyAction\n      });\n      if (blockerKey && delta != null) {\n        // Restore the URL to match the current UI, but don't update router state\n        ignoreNextHistoryUpdate = true;\n        init.history.go(delta * -1);\n        // Put the blocker into a blocked state\n        updateBlocker(blockerKey, {\n          state: \"blocked\",\n          location,\n          proceed() {\n            updateBlocker(blockerKey, {\n              state: \"proceeding\",\n              proceed: undefined,\n              reset: undefined,\n              location\n            });\n            // Re-do the same POP navigation we just blocked\n            init.history.go(delta);\n          },\n          reset() {\n            let blockers = new Map(state.blockers);\n            blockers.set(blockerKey, IDLE_BLOCKER);\n            updateState({\n              blockers\n            });\n          }\n        });\n        return;\n      }\n      return startNavigation(historyAction, location);\n    });\n    if (isBrowser) {\n      // FIXME: This feels gross.  How can we cleanup the lines between\n      // scrollRestoration/appliedTransitions persistance?\n      restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n      let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n      routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n      removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n    }\n    // Kick off initial data load if needed.  Use Pop to avoid modifying history\n    // Note we don't do any handling of lazy here.  For SPA's it'll get handled\n    // in the normal navigation flow.  For SSR it's expected that lazy modules are\n    // resolved prior to router creation since we can't go into a fallbackElement\n    // UI for SSR'd apps\n    if (!state.initialized) {\n      startNavigation(Action.Pop, state.location, {\n        initialHydration: true\n      });\n    }\n    return router;\n  }\n  // Clean up a router and it's side effects\n  function dispose() {\n    if (unlistenHistory) {\n      unlistenHistory();\n    }\n    if (removePageHideEventListener) {\n      removePageHideEventListener();\n    }\n    subscribers.clear();\n    pendingNavigationController && pendingNavigationController.abort();\n    state.fetchers.forEach((_, key) => deleteFetcher(key));\n    state.blockers.forEach((_, key) => deleteBlocker(key));\n  }\n  // Subscribe to state updates for the router\n  function subscribe(fn) {\n    subscribers.add(fn);\n    return () => subscribers.delete(fn);\n  }\n  // Update our state and notify the calling context of the change\n  function updateState(newState, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    state = _extends({}, state, newState);\n    // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n    // can be removed\n    let completedFetchers = [];\n    let deletedFetchersKeys = [];\n    if (future.v7_fetcherPersist) {\n      state.fetchers.forEach((fetcher, key) => {\n        if (fetcher.state === \"idle\") {\n          if (deletedFetchers.has(key)) {\n            // Unmounted from the UI and can be totally removed\n            deletedFetchersKeys.push(key);\n          } else {\n            // Returned to idle but still mounted in the UI, so semi-remains for\n            // revalidations and such\n            completedFetchers.push(key);\n          }\n        }\n      });\n    }\n    // Iterate over a local copy so that if flushSync is used and we end up\n    // removing and adding a new subscriber due to the useCallback dependencies,\n    // we don't get ourselves into a loop calling the new subscriber immediately\n    [...subscribers].forEach(subscriber => subscriber(state, {\n      deletedFetchers: deletedFetchersKeys,\n      unstable_viewTransitionOpts: opts.viewTransitionOpts,\n      unstable_flushSync: opts.flushSync === true\n    }));\n    // Remove idle fetchers from state since we only care about in-flight fetchers.\n    if (future.v7_fetcherPersist) {\n      completedFetchers.forEach(key => state.fetchers.delete(key));\n      deletedFetchersKeys.forEach(key => deleteFetcher(key));\n    }\n  }\n  // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n  // and setting state.[historyAction/location/matches] to the new route.\n  // - Location is a required param\n  // - Navigation will always be set to IDLE_NAVIGATION\n  // - Can pass any other state in newState\n  function completeNavigation(location, newState, _temp) {\n    var _location$state, _location$state2;\n    let {\n      flushSync\n    } = _temp === void 0 ? {} : _temp;\n    // Deduce if we're in a loading/actionReload state:\n    // - We have committed actionData in the store\n    // - The current navigation was a mutation submission\n    // - We're past the submitting state and into the loading state\n    // - The location being loaded is not the result of a redirect\n    let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n    let actionData;\n    if (newState.actionData) {\n      if (Object.keys(newState.actionData).length > 0) {\n        actionData = newState.actionData;\n      } else {\n        // Empty actionData -> clear prior actionData due to an action error\n        actionData = null;\n      }\n    } else if (isActionReload) {\n      // Keep the current data if we're wrapping up the action reload\n      actionData = state.actionData;\n    } else {\n      // Clear actionData on any other completed navigations\n      actionData = null;\n    }\n    // Always preserve any existing loaderData from re-used routes\n    let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n    // On a successful navigation we can assume we got through all blockers\n    // so we can start fresh\n    let blockers = state.blockers;\n    if (blockers.size > 0) {\n      blockers = new Map(blockers);\n      blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n    }\n    // Always respect the user flag.  Otherwise don't reset on mutation\n    // submission navigations unless they redirect\n    let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n    if (inFlightDataRoutes) {\n      dataRoutes = inFlightDataRoutes;\n      inFlightDataRoutes = undefined;\n    }\n    if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n      init.history.push(location, location.state);\n    } else if (pendingAction === Action.Replace) {\n      init.history.replace(location, location.state);\n    }\n    let viewTransitionOpts;\n    // On POP, enable transitions if they were enabled on the original navigation\n    if (pendingAction === Action.Pop) {\n      // Forward takes precedence so they behave like the original navigation\n      let priorPaths = appliedViewTransitions.get(state.location.pathname);\n      if (priorPaths && priorPaths.has(location.pathname)) {\n        viewTransitionOpts = {\n          currentLocation: state.location,\n          nextLocation: location\n        };\n      } else if (appliedViewTransitions.has(location.pathname)) {\n        // If we don't have a previous forward nav, assume we're popping back to\n        // the new location and enable if that location previously enabled\n        viewTransitionOpts = {\n          currentLocation: location,\n          nextLocation: state.location\n        };\n      }\n    } else if (pendingViewTransitionEnabled) {\n      // Store the applied transition on PUSH/REPLACE\n      let toPaths = appliedViewTransitions.get(state.location.pathname);\n      if (toPaths) {\n        toPaths.add(location.pathname);\n      } else {\n        toPaths = new Set([location.pathname]);\n        appliedViewTransitions.set(state.location.pathname, toPaths);\n      }\n      viewTransitionOpts = {\n        currentLocation: state.location,\n        nextLocation: location\n      };\n    }\n    updateState(_extends({}, newState, {\n      actionData,\n      loaderData,\n      historyAction: pendingAction,\n      location,\n      initialized: true,\n      navigation: IDLE_NAVIGATION,\n      revalidation: \"idle\",\n      restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n      preventScrollReset,\n      blockers\n    }), {\n      viewTransitionOpts,\n      flushSync: flushSync === true\n    });\n    // Reset stateful navigation vars\n    pendingAction = Action.Pop;\n    pendingPreventScrollReset = false;\n    pendingViewTransitionEnabled = false;\n    isUninterruptedRevalidation = false;\n    isRevalidationRequired = false;\n    cancelledDeferredRoutes = [];\n    cancelledFetcherLoads = [];\n  }\n  // Trigger a navigation event, which can either be a numerical POP or a PUSH\n  // replace with an optional submission\n  async function navigate(to, opts) {\n    if (typeof to === \"number\") {\n      init.history.go(to);\n      return;\n    }\n    let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, future.v7_relativeSplatPath, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n    let {\n      path,\n      submission,\n      error\n    } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n    let currentLocation = state.location;\n    let nextLocation = createLocation(state.location, path, opts && opts.state);\n    // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n    // URL from window.location, so we need to encode it here so the behavior\n    // remains the same as POP and non-data-router usages.  new URL() does all\n    // the same encoding we'd get from a history.pushState/window.location read\n    // without having to touch history\n    nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n    let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n    let historyAction = Action.Push;\n    if (userReplace === true) {\n      historyAction = Action.Replace;\n    } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n      // By default on submissions to the current location we REPLACE so that\n      // users don't have to double-click the back button to get to the prior\n      // location.  If the user redirects to a different location from the\n      // action/loader this will be ignored and the redirect will be a PUSH\n      historyAction = Action.Replace;\n    }\n    let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n    let flushSync = (opts && opts.unstable_flushSync) === true;\n    let blockerKey = shouldBlockNavigation({\n      currentLocation,\n      nextLocation,\n      historyAction\n    });\n    if (blockerKey) {\n      // Put the blocker into a blocked state\n      updateBlocker(blockerKey, {\n        state: \"blocked\",\n        location: nextLocation,\n        proceed() {\n          updateBlocker(blockerKey, {\n            state: \"proceeding\",\n            proceed: undefined,\n            reset: undefined,\n            location: nextLocation\n          });\n          // Send the same navigation through\n          navigate(to, opts);\n        },\n        reset() {\n          let blockers = new Map(state.blockers);\n          blockers.set(blockerKey, IDLE_BLOCKER);\n          updateState({\n            blockers\n          });\n        }\n      });\n      return;\n    }\n    return await startNavigation(historyAction, nextLocation, {\n      submission,\n      // Send through the formData serialization error if we have one so we can\n      // render at the right error boundary after we match routes\n      pendingError: error,\n      preventScrollReset,\n      replace: opts && opts.replace,\n      enableViewTransition: opts && opts.unstable_viewTransition,\n      flushSync\n    });\n  }\n  // Revalidate all current loaders.  If a navigation is in progress or if this\n  // is interrupted by a navigation, allow this to \"succeed\" by calling all\n  // loaders during the next loader round\n  function revalidate() {\n    interruptActiveLoads();\n    updateState({\n      revalidation: \"loading\"\n    });\n    // If we're currently submitting an action, we don't need to start a new\n    // navigation, we'll just let the follow up loader execution call all loaders\n    if (state.navigation.state === \"submitting\") {\n      return;\n    }\n    // If we're currently in an idle state, start a new navigation for the current\n    // action/location and mark it as uninterrupted, which will skip the history\n    // update in completeNavigation\n    if (state.navigation.state === \"idle\") {\n      startNavigation(state.historyAction, state.location, {\n        startUninterruptedRevalidation: true\n      });\n      return;\n    }\n    // Otherwise, if we're currently in a loading state, just start a new\n    // navigation to the navigation.location but do not trigger an uninterrupted\n    // revalidation so that history correctly updates once the navigation completes\n    startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n      overrideNavigation: state.navigation\n    });\n  }\n  // Start a navigation to the given action/location.  Can optionally provide a\n  // overrideNavigation which will override the normalLoad in the case of a redirect\n  // navigation\n  async function startNavigation(historyAction, location, opts) {\n    // Abort any in-progress navigations and start a new one. Unset any ongoing\n    // uninterrupted revalidations unless told otherwise, since we want this\n    // new navigation to update history normally\n    pendingNavigationController && pendingNavigationController.abort();\n    pendingNavigationController = null;\n    pendingAction = historyAction;\n    isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n    // Save the current scroll position every time we start a new navigation,\n    // and track whether we should reset scroll on completion\n    saveScrollPosition(state.location, state.matches);\n    pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n    pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let loadingNavigation = opts && opts.overrideNavigation;\n    let matches = matchRoutes(routesToUse, location, basename);\n    let flushSync = (opts && opts.flushSync) === true;\n    // Short circuit with a 404 on the root error boundary if we match nothing\n    if (!matches) {\n      let error = getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n      let {\n        matches: notFoundMatches,\n        route\n      } = getShortCircuitMatches(routesToUse);\n      // Cancel all pending deferred on 404s since we don't keep any routes\n      cancelActiveDeferreds();\n      completeNavigation(location, {\n        matches: notFoundMatches,\n        loaderData: {},\n        errors: {\n          [route.id]: error\n        }\n      }, {\n        flushSync\n      });\n      return;\n    }\n    // Short circuit if it's only a hash change and not a revalidation or\n    // mutation submission.\n    //\n    // Ignore on initial page loads because since the initial load will always\n    // be \"same hash\".  For example, on /page#hash and submit a <Form method=\"post\">\n    // which will default to a navigation to /page\n    if (state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n      completeNavigation(location, {\n        matches\n      }, {\n        flushSync\n      });\n      return;\n    }\n    // Create a controller/Request for this navigation\n    pendingNavigationController = new AbortController();\n    let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n    let pendingActionResult;\n    if (opts && opts.pendingError) {\n      // If we have a pendingError, it means the user attempted a GET submission\n      // with binary FormData so assign here and skip to handleLoaders.  That\n      // way we handle calling loaders above the boundary etc.  It's not really\n      // different from an actionError in that sense.\n      pendingActionResult = [findNearestBoundary(matches).route.id, {\n        type: ResultType.error,\n        error: opts.pendingError\n      }];\n    } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n      // Call action if we received an action submission\n      let actionResult = await handleAction(request, location, opts.submission, matches, {\n        replace: opts.replace,\n        flushSync\n      });\n      if (actionResult.shortCircuited) {\n        return;\n      }\n      pendingActionResult = actionResult.pendingActionResult;\n      loadingNavigation = getLoadingNavigation(location, opts.submission);\n      flushSync = false;\n      // Create a GET request for the loaders\n      request = createClientSideRequest(init.history, request.url, request.signal);\n    }\n    // Call loaders\n    let {\n      shortCircuited,\n      loaderData,\n      errors\n    } = await handleLoaders(request, location, matches, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionResult);\n    if (shortCircuited) {\n      return;\n    }\n    // Clean up now that the action/loaders have completed.  Don't clean up if\n    // we short circuited because pendingNavigationController will have already\n    // been assigned to a new controller for the next navigation\n    pendingNavigationController = null;\n    completeNavigation(location, _extends({\n      matches\n    }, getActionDataForCommit(pendingActionResult), {\n      loaderData,\n      errors\n    }));\n  }\n  // Call the action matched by the leaf route for this navigation and handle\n  // redirects/errors\n  async function handleAction(request, location, submission, matches, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    interruptActiveLoads();\n    // Put us in a submitting state\n    let navigation = getSubmittingNavigation(location, submission);\n    updateState({\n      navigation\n    }, {\n      flushSync: opts.flushSync === true\n    });\n    // Call our action and get the result\n    let result;\n    let actionMatch = getTargetMatch(matches, location);\n    if (!actionMatch.route.action && !actionMatch.route.lazy) {\n      result = {\n        type: ResultType.error,\n        error: getInternalRouterError(405, {\n          method: request.method,\n          pathname: location.pathname,\n          routeId: actionMatch.route.id\n        })\n      };\n    } else {\n      let results = await callDataStrategy(\"action\", request, [actionMatch], matches);\n      result = results[0];\n      if (request.signal.aborted) {\n        return {\n          shortCircuited: true\n        };\n      }\n    }\n    if (isRedirectResult(result)) {\n      let replace;\n      if (opts && opts.replace != null) {\n        replace = opts.replace;\n      } else {\n        // If the user didn't explicity indicate replace behavior, replace if\n        // we redirected to the exact same location we're currently at to avoid\n        // double back-buttons\n        let location = normalizeRedirectLocation(result.response.headers.get(\"Location\"), new URL(request.url), basename);\n        replace = location === state.location.pathname + state.location.search;\n      }\n      await startRedirectNavigation(request, result, {\n        submission,\n        replace\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    if (isDeferredResult(result)) {\n      throw getInternalRouterError(400, {\n        type: \"defer-action\"\n      });\n    }\n    if (isErrorResult(result)) {\n      // Store off the pending error - we use it to determine which loaders\n      // to call and will commit it when we complete the navigation\n      let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n      // By default, all submissions are REPLACE navigations, but if the\n      // action threw an error that'll be rendered in an errorElement, we fall\n      // back to PUSH so that the user can use the back button to get back to\n      // the pre-submission form location to try again\n      if ((opts && opts.replace) !== true) {\n        pendingAction = Action.Push;\n      }\n      return {\n        pendingActionResult: [boundaryMatch.route.id, result]\n      };\n    }\n    return {\n      pendingActionResult: [actionMatch.route.id, result]\n    };\n  }\n  // Call all applicable loaders for the given matches, handling redirects,\n  // errors, etc.\n  async function handleLoaders(request, location, matches, overrideNavigation, submission, fetcherSubmission, replace, initialHydration, flushSync, pendingActionResult) {\n    // Figure out the right navigation we want to use for data loading\n    let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n    // If this was a redirect from an action we don't have a \"submission\" but\n    // we have it on the loading navigation so use that if available\n    let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, future.v7_partialHydration && initialHydration === true, future.unstable_skipActionErrorRevalidation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult);\n    // Cancel pending deferreds for no-longer-matched routes or routes we're\n    // about to reload.  Note that if this is an action reload we would have\n    // already cancelled all pending deferreds so this would be a no-op\n    cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n    pendingNavigationLoadId = ++incrementingLoadId;\n    // Short circuit if we have no loaders to run\n    if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n      let updatedFetchers = markFetchRedirectsDone();\n      completeNavigation(location, _extends({\n        matches,\n        loaderData: {},\n        // Commit pending error if we're short circuiting\n        errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n          [pendingActionResult[0]]: pendingActionResult[1].error\n        } : null\n      }, getActionDataForCommit(pendingActionResult), updatedFetchers ? {\n        fetchers: new Map(state.fetchers)\n      } : {}), {\n        flushSync\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    // If this is an uninterrupted revalidation, we remain in our current idle\n    // state.  If not, we need to switch to our loading state and load data,\n    // preserving any new action data or existing action data (in the case of\n    // a revalidation interrupting an actionReload)\n    // If we have partialHydration enabled, then don't update the state for the\n    // initial data load since it's not a \"navigation\"\n    if (!isUninterruptedRevalidation && (!future.v7_partialHydration || !initialHydration)) {\n      revalidatingFetchers.forEach(rf => {\n        let fetcher = state.fetchers.get(rf.key);\n        let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n        state.fetchers.set(rf.key, revalidatingFetcher);\n      });\n      let actionData;\n      if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n        // This is cast to `any` currently because `RouteData`uses any and it\n        // would be a breaking change to use any.\n        // TODO: v7 - change `RouteData` to use `unknown` instead of `any`\n        actionData = {\n          [pendingActionResult[0]]: pendingActionResult[1].data\n        };\n      } else if (state.actionData) {\n        if (Object.keys(state.actionData).length === 0) {\n          actionData = null;\n        } else {\n          actionData = state.actionData;\n        }\n      }\n      updateState(_extends({\n        navigation: loadingNavigation\n      }, actionData !== undefined ? {\n        actionData\n      } : {}, revalidatingFetchers.length > 0 ? {\n        fetchers: new Map(state.fetchers)\n      } : {}), {\n        flushSync\n      });\n    }\n    revalidatingFetchers.forEach(rf => {\n      if (fetchControllers.has(rf.key)) {\n        abortFetcher(rf.key);\n      }\n      if (rf.controller) {\n        // Fetchers use an independent AbortController so that aborting a fetcher\n        // (via deleteFetcher) does not abort the triggering navigation that\n        // triggered the revalidation\n        fetchControllers.set(rf.key, rf.controller);\n      }\n    });\n    // Proxy navigation abort through to revalidation fetchers\n    let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n    if (pendingNavigationController) {\n      pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n    }\n    let {\n      loaderResults,\n      fetcherResults\n    } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, request);\n    if (request.signal.aborted) {\n      return {\n        shortCircuited: true\n      };\n    }\n    // Clean up _after_ loaders have completed.  Don't clean up if we short\n    // circuited because fetchControllers would have been aborted and\n    // reassigned to new controllers for the next navigation\n    if (pendingNavigationController) {\n      pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n    }\n    revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n    // If any loaders returned a redirect Response, start a new REPLACE navigation\n    let redirect = findRedirect([...loaderResults, ...fetcherResults]);\n    if (redirect) {\n      if (redirect.idx >= matchesToLoad.length) {\n        // If this redirect came from a fetcher make sure we mark it in\n        // fetchRedirectIds so it doesn't get revalidated on the next set of\n        // loader executions\n        let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n        fetchRedirectIds.add(fetcherKey);\n      }\n      await startRedirectNavigation(request, redirect.result, {\n        replace\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    // Process and commit output from loaders\n    let {\n      loaderData,\n      errors\n    } = processLoaderData(state, matches, matchesToLoad, loaderResults, pendingActionResult, revalidatingFetchers, fetcherResults, activeDeferreds);\n    // Wire up subscribers to update loaderData as promises settle\n    activeDeferreds.forEach((deferredData, routeId) => {\n      deferredData.subscribe(aborted => {\n        // Note: No need to updateState here since the TrackedPromise on\n        // loaderData is stable across resolve/reject\n        // Remove this instance if we were aborted or if promises have settled\n        if (aborted || deferredData.done) {\n          activeDeferreds.delete(routeId);\n        }\n      });\n    });\n    // During partial hydration, preserve SSR errors for routes that don't re-run\n    if (future.v7_partialHydration && initialHydration && state.errors) {\n      Object.entries(state.errors).filter(_ref2 => {\n        let [id] = _ref2;\n        return !matchesToLoad.some(m => m.route.id === id);\n      }).forEach(_ref3 => {\n        let [routeId, error] = _ref3;\n        errors = Object.assign(errors || {}, {\n          [routeId]: error\n        });\n      });\n    }\n    let updatedFetchers = markFetchRedirectsDone();\n    let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n    let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n    return _extends({\n      loaderData,\n      errors\n    }, shouldUpdateFetchers ? {\n      fetchers: new Map(state.fetchers)\n    } : {});\n  }\n  // Trigger a fetcher load/submit for the given fetcher key\n  function fetch(key, routeId, href, opts) {\n    if (isServer) {\n      throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n    }\n    if (fetchControllers.has(key)) abortFetcher(key);\n    let flushSync = (opts && opts.unstable_flushSync) === true;\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, future.v7_relativeSplatPath, routeId, opts == null ? void 0 : opts.relative);\n    let matches = matchRoutes(routesToUse, normalizedPath, basename);\n    if (!matches) {\n      setFetcherError(key, routeId, getInternalRouterError(404, {\n        pathname: normalizedPath\n      }), {\n        flushSync\n      });\n      return;\n    }\n    let {\n      path,\n      submission,\n      error\n    } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n    if (error) {\n      setFetcherError(key, routeId, error, {\n        flushSync\n      });\n      return;\n    }\n    let match = getTargetMatch(matches, path);\n    pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n    if (submission && isMutationMethod(submission.formMethod)) {\n      handleFetcherAction(key, routeId, path, match, matches, flushSync, submission);\n      return;\n    }\n    // Store off the match so we can call it's shouldRevalidate on subsequent\n    // revalidations\n    fetchLoadMatches.set(key, {\n      routeId,\n      path\n    });\n    handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission);\n  }\n  // Call the action for the matched fetcher.submit(), and then handle redirects,\n  // errors, and revalidation\n  async function handleFetcherAction(key, routeId, path, match, requestMatches, flushSync, submission) {\n    interruptActiveLoads();\n    fetchLoadMatches.delete(key);\n    if (!match.route.action && !match.route.lazy) {\n      let error = getInternalRouterError(405, {\n        method: submission.formMethod,\n        pathname: path,\n        routeId: routeId\n      });\n      setFetcherError(key, routeId, error, {\n        flushSync\n      });\n      return;\n    }\n    // Put this fetcher into it's submitting state\n    let existingFetcher = state.fetchers.get(key);\n    updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n      flushSync\n    });\n    // Call the action for the fetcher\n    let abortController = new AbortController();\n    let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n    fetchControllers.set(key, abortController);\n    let originatingLoadId = incrementingLoadId;\n    let actionResults = await callDataStrategy(\"action\", fetchRequest, [match], requestMatches);\n    let actionResult = actionResults[0];\n    if (fetchRequest.signal.aborted) {\n      // We can delete this so long as we weren't aborted by our own fetcher\n      // re-submit which would have put _new_ controller is in fetchControllers\n      if (fetchControllers.get(key) === abortController) {\n        fetchControllers.delete(key);\n      }\n      return;\n    }\n    // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n    // or redirects processed for unmounted fetchers so we just revert them to\n    // idle\n    if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n      if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n        updateFetcherState(key, getDoneFetcher(undefined));\n        return;\n      }\n      // Let SuccessResult's fall through for revalidation\n    } else {\n      if (isRedirectResult(actionResult)) {\n        fetchControllers.delete(key);\n        if (pendingNavigationLoadId > originatingLoadId) {\n          // A new navigation was kicked off after our action started, so that\n          // should take precedence over this redirect navigation.  We already\n          // set isRevalidationRequired so all loaders for the new route should\n          // fire unless opted out via shouldRevalidate\n          updateFetcherState(key, getDoneFetcher(undefined));\n          return;\n        } else {\n          fetchRedirectIds.add(key);\n          updateFetcherState(key, getLoadingFetcher(submission));\n          return startRedirectNavigation(fetchRequest, actionResult, {\n            fetcherSubmission: submission\n          });\n        }\n      }\n      // Process any non-redirect errors thrown\n      if (isErrorResult(actionResult)) {\n        setFetcherError(key, routeId, actionResult.error);\n        return;\n      }\n    }\n    if (isDeferredResult(actionResult)) {\n      throw getInternalRouterError(400, {\n        type: \"defer-action\"\n      });\n    }\n    // Start the data load for current matches, or the next location if we're\n    // in the middle of a navigation\n    let nextLocation = state.navigation.location || state.location;\n    let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n    invariant(matches, \"Didn't find any matches after fetcher action\");\n    let loadId = ++incrementingLoadId;\n    fetchReloadIds.set(key, loadId);\n    let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n    state.fetchers.set(key, loadFetcher);\n    let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, false, future.unstable_skipActionErrorRevalidation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, [match.route.id, actionResult]);\n    // Put all revalidating fetchers into the loading state, except for the\n    // current fetcher which we want to keep in it's current loading state which\n    // contains it's action submission info + action data\n    revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n      let staleKey = rf.key;\n      let existingFetcher = state.fetchers.get(staleKey);\n      let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n      state.fetchers.set(staleKey, revalidatingFetcher);\n      if (fetchControllers.has(staleKey)) {\n        abortFetcher(staleKey);\n      }\n      if (rf.controller) {\n        fetchControllers.set(staleKey, rf.controller);\n      }\n    });\n    updateState({\n      fetchers: new Map(state.fetchers)\n    });\n    let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n    abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n    let {\n      loaderResults,\n      fetcherResults\n    } = await callLoadersAndMaybeResolveData(state.matches, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n    if (abortController.signal.aborted) {\n      return;\n    }\n    abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n    fetchReloadIds.delete(key);\n    fetchControllers.delete(key);\n    revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n    let redirect = findRedirect([...loaderResults, ...fetcherResults]);\n    if (redirect) {\n      if (redirect.idx >= matchesToLoad.length) {\n        // If this redirect came from a fetcher make sure we mark it in\n        // fetchRedirectIds so it doesn't get revalidated on the next set of\n        // loader executions\n        let fetcherKey = revalidatingFetchers[redirect.idx - matchesToLoad.length].key;\n        fetchRedirectIds.add(fetcherKey);\n      }\n      return startRedirectNavigation(revalidationRequest, redirect.result);\n    }\n    // Process and commit output from loaders\n    let {\n      loaderData,\n      errors\n    } = processLoaderData(state, state.matches, matchesToLoad, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n    // Since we let revalidations complete even if the submitting fetcher was\n    // deleted, only put it back to idle if it hasn't been deleted\n    if (state.fetchers.has(key)) {\n      let doneFetcher = getDoneFetcher(actionResult.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n    abortStaleFetchLoads(loadId);\n    // If we are currently in a navigation loading state and this fetcher is\n    // more recent than the navigation, we want the newer data so abort the\n    // navigation and complete it with the fetcher data\n    if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n      invariant(pendingAction, \"Expected pending action\");\n      pendingNavigationController && pendingNavigationController.abort();\n      completeNavigation(state.navigation.location, {\n        matches,\n        loaderData,\n        errors,\n        fetchers: new Map(state.fetchers)\n      });\n    } else {\n      // otherwise just update with the fetcher data, preserving any existing\n      // loaderData for loaders that did not need to reload.  We have to\n      // manually merge here since we aren't going through completeNavigation\n      updateState({\n        errors,\n        loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n        fetchers: new Map(state.fetchers)\n      });\n      isRevalidationRequired = false;\n    }\n  }\n  // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n  async function handleFetcherLoader(key, routeId, path, match, matches, flushSync, submission) {\n    let existingFetcher = state.fetchers.get(key);\n    updateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined), {\n      flushSync\n    });\n    // Call the loader for this fetcher route match\n    let abortController = new AbortController();\n    let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n    fetchControllers.set(key, abortController);\n    let originatingLoadId = incrementingLoadId;\n    let results = await callDataStrategy(\"loader\", fetchRequest, [match], matches);\n    let result = results[0];\n    // Deferred isn't supported for fetcher loads, await everything and treat it\n    // as a normal load.  resolveDeferredData will return undefined if this\n    // fetcher gets aborted, so we just leave result untouched and short circuit\n    // below if that happens\n    if (isDeferredResult(result)) {\n      result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n    }\n    // We can delete this so long as we weren't aborted by our our own fetcher\n    // re-load which would have put _new_ controller is in fetchControllers\n    if (fetchControllers.get(key) === abortController) {\n      fetchControllers.delete(key);\n    }\n    if (fetchRequest.signal.aborted) {\n      return;\n    }\n    // We don't want errors bubbling up or redirects followed for unmounted\n    // fetchers, so short circuit here if it was removed from the UI\n    if (deletedFetchers.has(key)) {\n      updateFetcherState(key, getDoneFetcher(undefined));\n      return;\n    }\n    // If the loader threw a redirect Response, start a new REPLACE navigation\n    if (isRedirectResult(result)) {\n      if (pendingNavigationLoadId > originatingLoadId) {\n        // A new navigation was kicked off after our loader started, so that\n        // should take precedence over this redirect navigation\n        updateFetcherState(key, getDoneFetcher(undefined));\n        return;\n      } else {\n        fetchRedirectIds.add(key);\n        await startRedirectNavigation(fetchRequest, result);\n        return;\n      }\n    }\n    // Process any non-redirect errors thrown\n    if (isErrorResult(result)) {\n      setFetcherError(key, routeId, result.error);\n      return;\n    }\n    invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n    // Put the fetcher back into an idle state\n    updateFetcherState(key, getDoneFetcher(result.data));\n  }\n  /**\n   * Utility function to handle redirects returned from an action or loader.\n   * Normally, a redirect \"replaces\" the navigation that triggered it.  So, for\n   * example:\n   *\n   *  - user is on /a\n   *  - user clicks a link to /b\n   *  - loader for /b redirects to /c\n   *\n   * In a non-JS app the browser would track the in-flight navigation to /b and\n   * then replace it with /c when it encountered the redirect response.  In\n   * the end it would only ever update the URL bar with /c.\n   *\n   * In client-side routing using pushState/replaceState, we aim to emulate\n   * this behavior and we also do not update history until the end of the\n   * navigation (including processed redirects).  This means that we never\n   * actually touch history until we've processed redirects, so we just use\n   * the history action from the original navigation (PUSH or REPLACE).\n   */\n  async function startRedirectNavigation(request, redirect, _temp2) {\n    let {\n      submission,\n      fetcherSubmission,\n      replace\n    } = _temp2 === void 0 ? {} : _temp2;\n    if (redirect.response.headers.has(\"X-Remix-Revalidate\")) {\n      isRevalidationRequired = true;\n    }\n    let location = redirect.response.headers.get(\"Location\");\n    invariant(location, \"Expected a Location header on the redirect Response\");\n    location = normalizeRedirectLocation(location, new URL(request.url), basename);\n    let redirectLocation = createLocation(state.location, location, {\n      _isRedirect: true\n    });\n    if (isBrowser) {\n      let isDocumentReload = false;\n      if (redirect.response.headers.has(\"X-Remix-Reload-Document\")) {\n        // Hard reload if the response contained X-Remix-Reload-Document\n        isDocumentReload = true;\n      } else if (ABSOLUTE_URL_REGEX.test(location)) {\n        const url = init.history.createURL(location);\n        isDocumentReload =\n        // Hard reload if it's an absolute URL to a new origin\n        url.origin !== routerWindow.location.origin ||\n        // Hard reload if it's an absolute URL that does not match our basename\n        stripBasename(url.pathname, basename) == null;\n      }\n      if (isDocumentReload) {\n        if (replace) {\n          routerWindow.location.replace(location);\n        } else {\n          routerWindow.location.assign(location);\n        }\n        return;\n      }\n    }\n    // There's no need to abort on redirects, since we don't detect the\n    // redirect until the action/loaders have settled\n    pendingNavigationController = null;\n    let redirectHistoryAction = replace === true ? Action.Replace : Action.Push;\n    // Use the incoming submission if provided, fallback on the active one in\n    // state.navigation\n    let {\n      formMethod,\n      formAction,\n      formEncType\n    } = state.navigation;\n    if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n      submission = getSubmissionFromNavigation(state.navigation);\n    }\n    // If this was a 307/308 submission we want to preserve the HTTP method and\n    // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n    // redirected location\n    let activeSubmission = submission || fetcherSubmission;\n    if (redirectPreserveMethodStatusCodes.has(redirect.response.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n      await startNavigation(redirectHistoryAction, redirectLocation, {\n        submission: _extends({}, activeSubmission, {\n          formAction: location\n        }),\n        // Preserve this flag across redirects\n        preventScrollReset: pendingPreventScrollReset\n      });\n    } else {\n      // If we have a navigation submission, we will preserve it through the\n      // redirect navigation\n      let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n      await startNavigation(redirectHistoryAction, redirectLocation, {\n        overrideNavigation,\n        // Send fetcher submissions through for shouldRevalidate\n        fetcherSubmission,\n        // Preserve this flag across redirects\n        preventScrollReset: pendingPreventScrollReset\n      });\n    }\n  }\n  // Utility wrapper for calling dataStrategy client-side without having to\n  // pass around the manifest, mapRouteProperties, etc.\n  async function callDataStrategy(type, request, matchesToLoad, matches) {\n    try {\n      let results = await callDataStrategyImpl(dataStrategyImpl, type, request, matchesToLoad, matches, manifest, mapRouteProperties);\n      return await Promise.all(results.map((result, i) => {\n        if (isRedirectHandlerResult(result)) {\n          let response = result.result;\n          return {\n            type: ResultType.redirect,\n            response: normalizeRelativeRoutingRedirectResponse(response, request, matchesToLoad[i].route.id, matches, basename, future.v7_relativeSplatPath)\n          };\n        }\n        return convertHandlerResultToDataResult(result);\n      }));\n    } catch (e) {\n      // If the outer dataStrategy method throws, just return the error for all\n      // matches - and it'll naturally bubble to the root\n      return matchesToLoad.map(() => ({\n        type: ResultType.error,\n        error: e\n      }));\n    }\n  }\n  async function callLoadersAndMaybeResolveData(currentMatches, matches, matchesToLoad, fetchersToLoad, request) {\n    let [loaderResults, ...fetcherResults] = await Promise.all([matchesToLoad.length ? callDataStrategy(\"loader\", request, matchesToLoad, matches) : [], ...fetchersToLoad.map(f => {\n      if (f.matches && f.match && f.controller) {\n        let fetcherRequest = createClientSideRequest(init.history, f.path, f.controller.signal);\n        return callDataStrategy(\"loader\", fetcherRequest, [f.match], f.matches).then(r => r[0]);\n      } else {\n        return Promise.resolve({\n          type: ResultType.error,\n          error: getInternalRouterError(404, {\n            pathname: f.path\n          })\n        });\n      }\n    })]);\n    await Promise.all([resolveDeferredResults(currentMatches, matchesToLoad, loaderResults, loaderResults.map(() => request.signal), false, state.loaderData), resolveDeferredResults(currentMatches, fetchersToLoad.map(f => f.match), fetcherResults, fetchersToLoad.map(f => f.controller ? f.controller.signal : null), true)]);\n    return {\n      loaderResults,\n      fetcherResults\n    };\n  }\n  function interruptActiveLoads() {\n    // Every interruption triggers a revalidation\n    isRevalidationRequired = true;\n    // Cancel pending route-level deferreds and mark cancelled routes for\n    // revalidation\n    cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n    // Abort in-flight fetcher loads\n    fetchLoadMatches.forEach((_, key) => {\n      if (fetchControllers.has(key)) {\n        cancelledFetcherLoads.push(key);\n        abortFetcher(key);\n      }\n    });\n  }\n  function updateFetcherState(key, fetcher, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    state.fetchers.set(key, fetcher);\n    updateState({\n      fetchers: new Map(state.fetchers)\n    }, {\n      flushSync: (opts && opts.flushSync) === true\n    });\n  }\n  function setFetcherError(key, routeId, error, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    let boundaryMatch = findNearestBoundary(state.matches, routeId);\n    deleteFetcher(key);\n    updateState({\n      errors: {\n        [boundaryMatch.route.id]: error\n      },\n      fetchers: new Map(state.fetchers)\n    }, {\n      flushSync: (opts && opts.flushSync) === true\n    });\n  }\n  function getFetcher(key) {\n    if (future.v7_fetcherPersist) {\n      activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n      // If this fetcher was previously marked for deletion, unmark it since we\n      // have a new instance\n      if (deletedFetchers.has(key)) {\n        deletedFetchers.delete(key);\n      }\n    }\n    return state.fetchers.get(key) || IDLE_FETCHER;\n  }\n  function deleteFetcher(key) {\n    let fetcher = state.fetchers.get(key);\n    // Don't abort the controller if this is a deletion of a fetcher.submit()\n    // in it's loading phase since - we don't want to abort the corresponding\n    // revalidation and want them to complete and land\n    if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n      abortFetcher(key);\n    }\n    fetchLoadMatches.delete(key);\n    fetchReloadIds.delete(key);\n    fetchRedirectIds.delete(key);\n    deletedFetchers.delete(key);\n    state.fetchers.delete(key);\n  }\n  function deleteFetcherAndUpdateState(key) {\n    if (future.v7_fetcherPersist) {\n      let count = (activeFetchers.get(key) || 0) - 1;\n      if (count <= 0) {\n        activeFetchers.delete(key);\n        deletedFetchers.add(key);\n      } else {\n        activeFetchers.set(key, count);\n      }\n    } else {\n      deleteFetcher(key);\n    }\n    updateState({\n      fetchers: new Map(state.fetchers)\n    });\n  }\n  function abortFetcher(key) {\n    let controller = fetchControllers.get(key);\n    invariant(controller, \"Expected fetch controller: \" + key);\n    controller.abort();\n    fetchControllers.delete(key);\n  }\n  function markFetchersDone(keys) {\n    for (let key of keys) {\n      let fetcher = getFetcher(key);\n      let doneFetcher = getDoneFetcher(fetcher.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n  }\n  function markFetchRedirectsDone() {\n    let doneKeys = [];\n    let updatedFetchers = false;\n    for (let key of fetchRedirectIds) {\n      let fetcher = state.fetchers.get(key);\n      invariant(fetcher, \"Expected fetcher: \" + key);\n      if (fetcher.state === \"loading\") {\n        fetchRedirectIds.delete(key);\n        doneKeys.push(key);\n        updatedFetchers = true;\n      }\n    }\n    markFetchersDone(doneKeys);\n    return updatedFetchers;\n  }\n  function abortStaleFetchLoads(landedId) {\n    let yeetedKeys = [];\n    for (let [key, id] of fetchReloadIds) {\n      if (id < landedId) {\n        let fetcher = state.fetchers.get(key);\n        invariant(fetcher, \"Expected fetcher: \" + key);\n        if (fetcher.state === \"loading\") {\n          abortFetcher(key);\n          fetchReloadIds.delete(key);\n          yeetedKeys.push(key);\n        }\n      }\n    }\n    markFetchersDone(yeetedKeys);\n    return yeetedKeys.length > 0;\n  }\n  function getBlocker(key, fn) {\n    let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n    if (blockerFunctions.get(key) !== fn) {\n      blockerFunctions.set(key, fn);\n    }\n    return blocker;\n  }\n  function deleteBlocker(key) {\n    state.blockers.delete(key);\n    blockerFunctions.delete(key);\n  }\n  // Utility function to update blockers, ensuring valid state transitions\n  function updateBlocker(key, newBlocker) {\n    let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n    // Poor mans state machine :)\n    // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n    invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n    let blockers = new Map(state.blockers);\n    blockers.set(key, newBlocker);\n    updateState({\n      blockers\n    });\n  }\n  function shouldBlockNavigation(_ref4) {\n    let {\n      currentLocation,\n      nextLocation,\n      historyAction\n    } = _ref4;\n    if (blockerFunctions.size === 0) {\n      return;\n    }\n    // We ony support a single active blocker at the moment since we don't have\n    // any compelling use cases for multi-blocker yet\n    if (blockerFunctions.size > 1) {\n      warning(false, \"A router only supports one blocker at a time\");\n    }\n    let entries = Array.from(blockerFunctions.entries());\n    let [blockerKey, blockerFunction] = entries[entries.length - 1];\n    let blocker = state.blockers.get(blockerKey);\n    if (blocker && blocker.state === \"proceeding\") {\n      // If the blocker is currently proceeding, we don't need to re-check\n      // it and can let this navigation continue\n      return;\n    }\n    // At this point, we know we're unblocked/blocked so we need to check the\n    // user-provided blocker function\n    if (blockerFunction({\n      currentLocation,\n      nextLocation,\n      historyAction\n    })) {\n      return blockerKey;\n    }\n  }\n  function cancelActiveDeferreds(predicate) {\n    let cancelledRouteIds = [];\n    activeDeferreds.forEach((dfd, routeId) => {\n      if (!predicate || predicate(routeId)) {\n        // Cancel the deferred - but do not remove from activeDeferreds here -\n        // we rely on the subscribers to do that so our tests can assert proper\n        // cleanup via _internalActiveDeferreds\n        dfd.cancel();\n        cancelledRouteIds.push(routeId);\n        activeDeferreds.delete(routeId);\n      }\n    });\n    return cancelledRouteIds;\n  }\n  // Opt in to capturing and reporting scroll positions during navigations,\n  // used by the <ScrollRestoration> component\n  function enableScrollRestoration(positions, getPosition, getKey) {\n    savedScrollPositions = positions;\n    getScrollPosition = getPosition;\n    getScrollRestorationKey = getKey || null;\n    // Perform initial hydration scroll restoration, since we miss the boat on\n    // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n    // and therefore have no savedScrollPositions available\n    if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n      initialScrollRestored = true;\n      let y = getSavedScrollPosition(state.location, state.matches);\n      if (y != null) {\n        updateState({\n          restoreScrollPosition: y\n        });\n      }\n    }\n    return () => {\n      savedScrollPositions = null;\n      getScrollPosition = null;\n      getScrollRestorationKey = null;\n    };\n  }\n  function getScrollKey(location, matches) {\n    if (getScrollRestorationKey) {\n      let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n      return key || location.key;\n    }\n    return location.key;\n  }\n  function saveScrollPosition(location, matches) {\n    if (savedScrollPositions && getScrollPosition) {\n      let key = getScrollKey(location, matches);\n      savedScrollPositions[key] = getScrollPosition();\n    }\n  }\n  function getSavedScrollPosition(location, matches) {\n    if (savedScrollPositions) {\n      let key = getScrollKey(location, matches);\n      let y = savedScrollPositions[key];\n      if (typeof y === \"number\") {\n        return y;\n      }\n    }\n    return null;\n  }\n  function _internalSetRoutes(newRoutes) {\n    manifest = {};\n    inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n  }\n  router = {\n    get basename() {\n      return basename;\n    },\n    get future() {\n      return future;\n    },\n    get state() {\n      return state;\n    },\n    get routes() {\n      return dataRoutes;\n    },\n    get window() {\n      return routerWindow;\n    },\n    initialize,\n    subscribe,\n    enableScrollRestoration,\n    navigate,\n    fetch,\n    revalidate,\n    // Passthrough to history-aware createHref used by useHref so we get proper\n    // hash-aware URLs in DOM paths\n    createHref: to => init.history.createHref(to),\n    encodeLocation: to => init.history.encodeLocation(to),\n    getFetcher,\n    deleteFetcher: deleteFetcherAndUpdateState,\n    dispose,\n    getBlocker,\n    deleteBlocker,\n    _internalFetchControllers: fetchControllers,\n    _internalActiveDeferreds: activeDeferreds,\n    // TODO: Remove setRoutes, it's temporary to avoid dealing with\n    // updating the tree while validating the update algorithm.\n    _internalSetRoutes\n  };\n  return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n  invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n  let manifest = {};\n  let basename = (opts ? opts.basename : null) || \"/\";\n  let mapRouteProperties;\n  if (opts != null && opts.mapRouteProperties) {\n    mapRouteProperties = opts.mapRouteProperties;\n  } else if (opts != null && opts.detectErrorBoundary) {\n    // If they are still using the deprecated version, wrap it with the new API\n    let detectErrorBoundary = opts.detectErrorBoundary;\n    mapRouteProperties = route => ({\n      hasErrorBoundary: detectErrorBoundary(route)\n    });\n  } else {\n    mapRouteProperties = defaultMapRouteProperties;\n  }\n  // Config driven behavior flags\n  let future = _extends({\n    v7_relativeSplatPath: false,\n    v7_throwAbortReason: false\n  }, opts ? opts.future : null);\n  let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n  /**\n   * The query() method is intended for document requests, in which we want to\n   * call an optional action and potentially multiple loaders for all nested\n   * routes.  It returns a StaticHandlerContext object, which is very similar\n   * to the router state (location, loaderData, actionData, errors, etc.) and\n   * also adds SSR-specific information such as the statusCode and headers\n   * from action/loaders Responses.\n   *\n   * It _should_ never throw and should report all errors through the\n   * returned context.errors object, properly associating errors to their error\n   * boundary.  Additionally, it tracks _deepestRenderedBoundaryId which can be\n   * used to emulate React error boundaries during SSr by performing a second\n   * pass only down to the boundaryId.\n   *\n   * The one exception where we do not return a StaticHandlerContext is when a\n   * redirect response is returned or thrown from any action/loader.  We\n   * propagate that out and return the raw Response so the HTTP server can\n   * return it directly.\n   *\n   * - `opts.requestContext` is an optional server context that will be passed\n   *   to actions/loaders in the `context` parameter\n   * - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n   *   the bubbling of errors which allows single-fetch-type implementations\n   *   where the client will handle the bubbling and we may need to return data\n   *   for the handling route\n   */\n  async function query(request, _temp3) {\n    let {\n      requestContext,\n      skipLoaderErrorBubbling,\n      unstable_dataStrategy\n    } = _temp3 === void 0 ? {} : _temp3;\n    let url = new URL(request.url);\n    let method = request.method;\n    let location = createLocation(\"\", createPath(url), null, \"default\");\n    let matches = matchRoutes(dataRoutes, location, basename);\n    // SSR supports HEAD requests while SPA doesn't\n    if (!isValidMethod(method) && method !== \"HEAD\") {\n      let error = getInternalRouterError(405, {\n        method\n      });\n      let {\n        matches: methodNotAllowedMatches,\n        route\n      } = getShortCircuitMatches(dataRoutes);\n      return {\n        basename,\n        location,\n        matches: methodNotAllowedMatches,\n        loaderData: {},\n        actionData: null,\n        errors: {\n          [route.id]: error\n        },\n        statusCode: error.status,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null\n      };\n    } else if (!matches) {\n      let error = getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n      let {\n        matches: notFoundMatches,\n        route\n      } = getShortCircuitMatches(dataRoutes);\n      return {\n        basename,\n        location,\n        matches: notFoundMatches,\n        loaderData: {},\n        actionData: null,\n        errors: {\n          [route.id]: error\n        },\n        statusCode: error.status,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null\n      };\n    }\n    let result = await queryImpl(request, location, matches, requestContext, unstable_dataStrategy || null, skipLoaderErrorBubbling === true, null);\n    if (isResponse(result)) {\n      return result;\n    }\n    // When returning StaticHandlerContext, we patch back in the location here\n    // since we need it for React Context.  But this helps keep our submit and\n    // loadRouteData operating on a Request instead of a Location\n    return _extends({\n      location,\n      basename\n    }, result);\n  }\n  /**\n   * The queryRoute() method is intended for targeted route requests, either\n   * for fetch ?_data requests or resource route requests.  In this case, we\n   * are only ever calling a single action or loader, and we are returning the\n   * returned value directly.  In most cases, this will be a Response returned\n   * from the action/loader, but it may be a primitive or other value as well -\n   * and in such cases the calling context should handle that accordingly.\n   *\n   * We do respect the throw/return differentiation, so if an action/loader\n   * throws, then this method will throw the value.  This is important so we\n   * can do proper boundary identification in Remix where a thrown Response\n   * must go to the Catch Boundary but a returned Response is happy-path.\n   *\n   * One thing to note is that any Router-initiated Errors that make sense\n   * to associate with a status code will be thrown as an ErrorResponse\n   * instance which include the raw Error, such that the calling context can\n   * serialize the error as they see fit while including the proper response\n   * code.  Examples here are 404 and 405 errors that occur prior to reaching\n   * any user-defined loaders.\n   *\n   * - `opts.routeId` allows you to specify the specific route handler to call.\n   *   If not provided the handler will determine the proper route by matching\n   *   against `request.url`\n   * - `opts.requestContext` is an optional server context that will be passed\n   *    to actions/loaders in the `context` parameter\n   */\n  async function queryRoute(request, _temp4) {\n    let {\n      routeId,\n      requestContext\n    } = _temp4 === void 0 ? {} : _temp4;\n    let url = new URL(request.url);\n    let method = request.method;\n    let location = createLocation(\"\", createPath(url), null, \"default\");\n    let matches = matchRoutes(dataRoutes, location, basename);\n    // SSR supports HEAD requests while SPA doesn't\n    if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n      throw getInternalRouterError(405, {\n        method\n      });\n    } else if (!matches) {\n      throw getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n    }\n    let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n    if (routeId && !match) {\n      throw getInternalRouterError(403, {\n        pathname: location.pathname,\n        routeId\n      });\n    } else if (!match) {\n      // This should never hit I don't think?\n      throw getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n    }\n    let result = await queryImpl(request, location, matches, requestContext, null, false, match);\n    if (isResponse(result)) {\n      return result;\n    }\n    let error = result.errors ? Object.values(result.errors)[0] : undefined;\n    if (error !== undefined) {\n      // If we got back result.errors, that means the loader/action threw\n      // _something_ that wasn't a Response, but it's not guaranteed/required\n      // to be an `instanceof Error` either, so we have to use throw here to\n      // preserve the \"error\" state outside of queryImpl.\n      throw error;\n    }\n    // Pick off the right state value to return\n    if (result.actionData) {\n      return Object.values(result.actionData)[0];\n    }\n    if (result.loaderData) {\n      var _result$activeDeferre;\n      let data = Object.values(result.loaderData)[0];\n      if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n        data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n      }\n      return data;\n    }\n    return undefined;\n  }\n  async function queryImpl(request, location, matches, requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, routeMatch) {\n    invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n    try {\n      if (isMutationMethod(request.method.toLowerCase())) {\n        let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, routeMatch != null);\n        return result;\n      }\n      let result = await loadRouteData(request, matches, requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, routeMatch);\n      return isResponse(result) ? result : _extends({}, result, {\n        actionData: null,\n        actionHeaders: {}\n      });\n    } catch (e) {\n      // If the user threw/returned a Response in callLoaderOrAction for a\n      // `queryRoute` call, we throw the `HandlerResult` to bail out early\n      // and then return or throw the raw Response here accordingly\n      if (isHandlerResult(e) && isResponse(e.result)) {\n        if (e.type === ResultType.error) {\n          throw e.result;\n        }\n        return e.result;\n      }\n      // Redirects are always returned since they don't propagate to catch\n      // boundaries\n      if (isRedirectResponse(e)) {\n        return e;\n      }\n      throw e;\n    }\n  }\n  async function submit(request, matches, actionMatch, requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, isRouteRequest) {\n    let result;\n    if (!actionMatch.route.action && !actionMatch.route.lazy) {\n      let error = getInternalRouterError(405, {\n        method: request.method,\n        pathname: new URL(request.url).pathname,\n        routeId: actionMatch.route.id\n      });\n      if (isRouteRequest) {\n        throw error;\n      }\n      result = {\n        type: ResultType.error,\n        error\n      };\n    } else {\n      let results = await callDataStrategy(\"action\", request, [actionMatch], matches, isRouteRequest, requestContext, unstable_dataStrategy);\n      result = results[0];\n      if (request.signal.aborted) {\n        throwStaticHandlerAbortedError(request, isRouteRequest, future);\n      }\n    }\n    if (isRedirectResult(result)) {\n      // Uhhhh - this should never happen, we should always throw these from\n      // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n      // can get back on the \"throw all redirect responses\" train here should\n      // this ever happen :/\n      throw new Response(null, {\n        status: result.response.status,\n        headers: {\n          Location: result.response.headers.get(\"Location\")\n        }\n      });\n    }\n    if (isDeferredResult(result)) {\n      let error = getInternalRouterError(400, {\n        type: \"defer-action\"\n      });\n      if (isRouteRequest) {\n        throw error;\n      }\n      result = {\n        type: ResultType.error,\n        error\n      };\n    }\n    if (isRouteRequest) {\n      // Note: This should only be non-Response values if we get here, since\n      // isRouteRequest should throw any Response received in callLoaderOrAction\n      if (isErrorResult(result)) {\n        throw result.error;\n      }\n      return {\n        matches: [actionMatch],\n        loaderData: {},\n        actionData: {\n          [actionMatch.route.id]: result.data\n        },\n        errors: null,\n        // Note: statusCode + headers are unused here since queryRoute will\n        // return the raw Response or value\n        statusCode: 200,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null\n      };\n    }\n    // Create a GET request for the loaders\n    let loaderRequest = new Request(request.url, {\n      headers: request.headers,\n      redirect: request.redirect,\n      signal: request.signal\n    });\n    if (isErrorResult(result)) {\n      // Store off the pending error - we use it to determine which loaders\n      // to call and will commit it when we complete the navigation\n      let boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n      let context = await loadRouteData(loaderRequest, matches, requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, null, [boundaryMatch.route.id, result]);\n      // action status codes take precedence over loader status codes\n      return _extends({}, context, {\n        statusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n        actionData: null,\n        actionHeaders: _extends({}, result.headers ? {\n          [actionMatch.route.id]: result.headers\n        } : {})\n      });\n    }\n    let context = await loadRouteData(loaderRequest, matches, requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, null);\n    return _extends({}, context, {\n      actionData: {\n        [actionMatch.route.id]: result.data\n      }\n    }, result.statusCode ? {\n      statusCode: result.statusCode\n    } : {}, {\n      actionHeaders: result.headers ? {\n        [actionMatch.route.id]: result.headers\n      } : {}\n    });\n  }\n  async function loadRouteData(request, matches, requestContext, unstable_dataStrategy, skipLoaderErrorBubbling, routeMatch, pendingActionResult) {\n    let isRouteRequest = routeMatch != null;\n    // Short circuit if we have no loaders to run (queryRoute())\n    if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n      throw getInternalRouterError(400, {\n        method: request.method,\n        pathname: new URL(request.url).pathname,\n        routeId: routeMatch == null ? void 0 : routeMatch.route.id\n      });\n    }\n    let requestMatches = routeMatch ? [routeMatch] : pendingActionResult && isErrorResult(pendingActionResult[1]) ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]) : matches;\n    let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n    // Short circuit if we have no loaders to run (query())\n    if (matchesToLoad.length === 0) {\n      return {\n        matches,\n        // Add a null for all matched routes for proper revalidation on the client\n        loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n          [m.route.id]: null\n        }), {}),\n        errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n          [pendingActionResult[0]]: pendingActionResult[1].error\n        } : null,\n        statusCode: 200,\n        loaderHeaders: {},\n        activeDeferreds: null\n      };\n    }\n    let results = await callDataStrategy(\"loader\", request, matchesToLoad, matches, isRouteRequest, requestContext, unstable_dataStrategy);\n    if (request.signal.aborted) {\n      throwStaticHandlerAbortedError(request, isRouteRequest, future);\n    }\n    // Process and commit output from loaders\n    let activeDeferreds = new Map();\n    let context = processRouteLoaderData(matches, matchesToLoad, results, pendingActionResult, activeDeferreds, skipLoaderErrorBubbling);\n    // Add a null for any non-loader matches for proper revalidation on the client\n    let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n    matches.forEach(match => {\n      if (!executedLoaders.has(match.route.id)) {\n        context.loaderData[match.route.id] = null;\n      }\n    });\n    return _extends({}, context, {\n      matches,\n      activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n    });\n  }\n  // Utility wrapper for calling dataStrategy server-side without having to\n  // pass around the manifest, mapRouteProperties, etc.\n  async function callDataStrategy(type, request, matchesToLoad, matches, isRouteRequest, requestContext, unstable_dataStrategy) {\n    let results = await callDataStrategyImpl(unstable_dataStrategy || defaultDataStrategy, type, request, matchesToLoad, matches, manifest, mapRouteProperties, requestContext);\n    return await Promise.all(results.map((result, i) => {\n      if (isRedirectHandlerResult(result)) {\n        let response = result.result;\n        // Throw redirects and let the server handle them with an HTTP redirect\n        throw normalizeRelativeRoutingRedirectResponse(response, request, matchesToLoad[i].route.id, matches, basename, future.v7_relativeSplatPath);\n      }\n      if (isResponse(result.result) && isRouteRequest) {\n        // For SSR single-route requests, we want to hand Responses back\n        // directly without unwrapping\n        throw result;\n      }\n      return convertHandlerResultToDataResult(result);\n    }));\n  }\n  return {\n    dataRoutes,\n    query,\n    queryRoute\n  };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n  let newContext = _extends({}, context, {\n    statusCode: isRouteErrorResponse(error) ? error.status : 500,\n    errors: {\n      [context._deepestRenderedBoundaryId || routes[0].id]: error\n    }\n  });\n  return newContext;\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest, future) {\n  if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n    throw request.signal.reason;\n  }\n  let method = isRouteRequest ? \"queryRoute\" : \"query\";\n  throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n}\nfunction isSubmissionNavigation(opts) {\n  return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, v7_relativeSplatPath, fromRouteId, relative) {\n  let contextualMatches;\n  let activeRouteMatch;\n  if (fromRouteId) {\n    // Grab matches up to the calling route so our route-relative logic is\n    // relative to the correct source route\n    contextualMatches = [];\n    for (let match of matches) {\n      contextualMatches.push(match);\n      if (match.route.id === fromRouteId) {\n        activeRouteMatch = match;\n        break;\n      }\n    }\n  } else {\n    contextualMatches = matches;\n    activeRouteMatch = matches[matches.length - 1];\n  }\n  // Resolve the relative path\n  let path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches, v7_relativeSplatPath), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n  // When `to` is not specified we inherit search/hash from the current\n  // location, unlike when to=\".\" and we just inherit the path.\n  // See https://github.com/remix-run/remix/issues/927\n  if (to == null) {\n    path.search = location.search;\n    path.hash = location.hash;\n  }\n  // Add an ?index param for matched index routes if we don't already have one\n  if ((to == null || to === \"\" || to === \".\") && activeRouteMatch && activeRouteMatch.route.index && !hasNakedIndexQuery(path.search)) {\n    path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n  }\n  // If we're operating within a basename, prepend it to the pathname.  If\n  // this is a root navigation, then just use the raw basename which allows\n  // the basename to have full control over the presence of a trailing slash\n  // on root actions\n  if (prependBasename && basename !== \"/\") {\n    path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n  return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n  // Return location verbatim on non-submission navigations\n  if (!opts || !isSubmissionNavigation(opts)) {\n    return {\n      path\n    };\n  }\n  if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n    return {\n      path,\n      error: getInternalRouterError(405, {\n        method: opts.formMethod\n      })\n    };\n  }\n  let getInvalidBodyError = () => ({\n    path,\n    error: getInternalRouterError(400, {\n      type: \"invalid-body\"\n    })\n  });\n  // Create a Submission on non-GET navigations\n  let rawFormMethod = opts.formMethod || \"get\";\n  let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n  let formAction = stripHashFromPath(path);\n  if (opts.body !== undefined) {\n    if (opts.formEncType === \"text/plain\") {\n      // text only support POST/PUT/PATCH/DELETE submissions\n      if (!isMutationMethod(formMethod)) {\n        return getInvalidBodyError();\n      }\n      let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n      // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n      Array.from(opts.body.entries()).reduce((acc, _ref5) => {\n        let [name, value] = _ref5;\n        return \"\" + acc + name + \"=\" + value + \"\\n\";\n      }, \"\") : String(opts.body);\n      return {\n        path,\n        submission: {\n          formMethod,\n          formAction,\n          formEncType: opts.formEncType,\n          formData: undefined,\n          json: undefined,\n          text\n        }\n      };\n    } else if (opts.formEncType === \"application/json\") {\n      // json only supports POST/PUT/PATCH/DELETE submissions\n      if (!isMutationMethod(formMethod)) {\n        return getInvalidBodyError();\n      }\n      try {\n        let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n        return {\n          path,\n          submission: {\n            formMethod,\n            formAction,\n            formEncType: opts.formEncType,\n            formData: undefined,\n            json,\n            text: undefined\n          }\n        };\n      } catch (e) {\n        return getInvalidBodyError();\n      }\n    }\n  }\n  invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n  let searchParams;\n  let formData;\n  if (opts.formData) {\n    searchParams = convertFormDataToSearchParams(opts.formData);\n    formData = opts.formData;\n  } else if (opts.body instanceof FormData) {\n    searchParams = convertFormDataToSearchParams(opts.body);\n    formData = opts.body;\n  } else if (opts.body instanceof URLSearchParams) {\n    searchParams = opts.body;\n    formData = convertSearchParamsToFormData(searchParams);\n  } else if (opts.body == null) {\n    searchParams = new URLSearchParams();\n    formData = new FormData();\n  } else {\n    try {\n      searchParams = new URLSearchParams(opts.body);\n      formData = convertSearchParamsToFormData(searchParams);\n    } catch (e) {\n      return getInvalidBodyError();\n    }\n  }\n  let submission = {\n    formMethod,\n    formAction,\n    formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n    formData,\n    json: undefined,\n    text: undefined\n  };\n  if (isMutationMethod(submission.formMethod)) {\n    return {\n      path,\n      submission\n    };\n  }\n  // Flatten submission onto URLSearchParams for GET submissions\n  let parsedPath = parsePath(path);\n  // On GET navigation submissions we can drop the ?index param from the\n  // resulting location since all loaders will run.  But fetcher GET submissions\n  // only run a single loader so we need to preserve any incoming ?index params\n  if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n    searchParams.append(\"index\", \"\");\n  }\n  parsedPath.search = \"?\" + searchParams;\n  return {\n    path: createPath(parsedPath),\n    submission\n  };\n}\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId) {\n  let boundaryMatches = matches;\n  if (boundaryId) {\n    let index = matches.findIndex(m => m.route.id === boundaryId);\n    if (index >= 0) {\n      boundaryMatches = matches.slice(0, index);\n    }\n  }\n  return boundaryMatches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, isInitialLoad, skipActionErrorRevalidation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult) {\n  let actionResult = pendingActionResult ? isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : pendingActionResult[1].data : undefined;\n  let currentUrl = history.createURL(state.location);\n  let nextUrl = history.createURL(location);\n  // Pick navigation matches that are net-new or qualify for revalidation\n  let boundaryId = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[0] : undefined;\n  let boundaryMatches = boundaryId ? getLoaderMatchesUntilBoundary(matches, boundaryId) : matches;\n  // Don't revalidate loaders by default after action 4xx/5xx responses\n  // when the flag is enabled.  They can still opt-into revalidation via\n  // `shouldRevalidate` via `actionResult`\n  let actionStatus = pendingActionResult ? pendingActionResult[1].statusCode : undefined;\n  let shouldSkipRevalidation = skipActionErrorRevalidation && actionStatus && actionStatus >= 400;\n  let navigationMatches = boundaryMatches.filter((match, index) => {\n    let {\n      route\n    } = match;\n    if (route.lazy) {\n      // We haven't loaded this route yet so we don't know if it's got a loader!\n      return true;\n    }\n    if (route.loader == null) {\n      return false;\n    }\n    if (isInitialLoad) {\n      if (typeof route.loader !== \"function\" || route.loader.hydrate) {\n        return true;\n      }\n      return state.loaderData[route.id] === undefined && (\n      // Don't re-run if the loader ran and threw an error\n      !state.errors || state.errors[route.id] === undefined);\n    }\n    // Always call the loader on new route instances and pending defer cancellations\n    if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n      return true;\n    }\n    // This is the default implementation for when we revalidate.  If the route\n    // provides it's own implementation, then we give them full control but\n    // provide this value so they can leverage it if needed after they check\n    // their own specific use cases\n    let currentRouteMatch = state.matches[index];\n    let nextRouteMatch = match;\n    return shouldRevalidateLoader(match, _extends({\n      currentUrl,\n      currentParams: currentRouteMatch.params,\n      nextUrl,\n      nextParams: nextRouteMatch.params\n    }, submission, {\n      actionResult,\n      unstable_actionStatus: actionStatus,\n      defaultShouldRevalidate: shouldSkipRevalidation ? false :\n      // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n      isRevalidationRequired || currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n      // Search params affect all loaders\n      currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n    }));\n  });\n  // Pick fetcher.loads that need to be revalidated\n  let revalidatingFetchers = [];\n  fetchLoadMatches.forEach((f, key) => {\n    // Don't revalidate:\n    //  - on initial load (shouldn't be any fetchers then anyway)\n    //  - if fetcher won't be present in the subsequent render\n    //    - no longer matches the URL (v7_fetcherPersist=false)\n    //    - was unmounted but persisted due to v7_fetcherPersist=true\n    if (isInitialLoad || !matches.some(m => m.route.id === f.routeId) || deletedFetchers.has(key)) {\n      return;\n    }\n    let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n    // If the fetcher path no longer matches, push it in with null matches so\n    // we can trigger a 404 in callLoadersAndMaybeResolveData.  Note this is\n    // currently only a use-case for Remix HMR where the route tree can change\n    // at runtime and remove a route previously loaded via a fetcher\n    if (!fetcherMatches) {\n      revalidatingFetchers.push({\n        key,\n        routeId: f.routeId,\n        path: f.path,\n        matches: null,\n        match: null,\n        controller: null\n      });\n      return;\n    }\n    // Revalidating fetchers are decoupled from the route matches since they\n    // load from a static href.  They revalidate based on explicit revalidation\n    // (submission, useRevalidator, or X-Remix-Revalidate)\n    let fetcher = state.fetchers.get(key);\n    let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n    let shouldRevalidate = false;\n    if (fetchRedirectIds.has(key)) {\n      // Never trigger a revalidation of an actively redirecting fetcher\n      shouldRevalidate = false;\n    } else if (cancelledFetcherLoads.includes(key)) {\n      // Always revalidate if the fetcher was cancelled\n      shouldRevalidate = true;\n    } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n      // If the fetcher hasn't ever completed loading yet, then this isn't a\n      // revalidation, it would just be a brand new load if an explicit\n      // revalidation is required\n      shouldRevalidate = isRevalidationRequired;\n    } else {\n      // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n      // to explicit revalidations only\n      shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n        currentUrl,\n        currentParams: state.matches[state.matches.length - 1].params,\n        nextUrl,\n        nextParams: matches[matches.length - 1].params\n      }, submission, {\n        actionResult,\n        unstable_actionStatus: actionStatus,\n        defaultShouldRevalidate: shouldSkipRevalidation ? false : isRevalidationRequired\n      }));\n    }\n    if (shouldRevalidate) {\n      revalidatingFetchers.push({\n        key,\n        routeId: f.routeId,\n        path: f.path,\n        matches: fetcherMatches,\n        match: fetcherMatch,\n        controller: new AbortController()\n      });\n    }\n  });\n  return [navigationMatches, revalidatingFetchers];\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n  let isNew =\n  // [a] -> [a, b]\n  !currentMatch ||\n  // [a, b] -> [a, c]\n  match.route.id !== currentMatch.route.id;\n  // Handle the case that we don't have data for a re-used route, potentially\n  // from a prior error or from a cancelled pending deferred\n  let isMissingData = currentLoaderData[match.route.id] === undefined;\n  // Always load if this is a net-new route or we don't yet have data\n  return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n  let currentPath = currentMatch.route.path;\n  return (\n    // param change for this match, /users/123 -> /users/456\n    currentMatch.pathname !== match.pathname ||\n    // splat param changed, which is not present in match.path\n    // e.g. /files/images/avatar.jpg -> files/finances.xls\n    currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n  );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n  if (loaderMatch.route.shouldRevalidate) {\n    let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n    if (typeof routeChoice === \"boolean\") {\n      return routeChoice;\n    }\n  }\n  return arg.defaultShouldRevalidate;\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n  if (!route.lazy) {\n    return;\n  }\n  let lazyRoute = await route.lazy();\n  // If the lazy route function was executed and removed by another parallel\n  // call then we can return - first lazy() to finish wins because the return\n  // value of lazy is expected to be static\n  if (!route.lazy) {\n    return;\n  }\n  let routeToUpdate = manifest[route.id];\n  invariant(routeToUpdate, \"No route found in manifest\");\n  // Update the route in place.  This should be safe because there's no way\n  // we could yet be sitting on this route as we can't get there without\n  // resolving lazy() first.\n  //\n  // This is different than the HMR \"update\" use-case where we may actively be\n  // on the route being updated.  The main concern boils down to \"does this\n  // mutation affect any ongoing navigations or any current state.matches\n  // values?\".  If not, it should be safe to update in place.\n  let routeUpdates = {};\n  for (let lazyRouteProperty in lazyRoute) {\n    let staticRouteValue = routeToUpdate[lazyRouteProperty];\n    let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n    // This property isn't static since it should always be updated based\n    // on the route updates\n    lazyRouteProperty !== \"hasErrorBoundary\";\n    warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n    if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n      routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n    }\n  }\n  // Mutate the route with the provided updates.  Do this first so we pass\n  // the updated version to mapRouteProperties\n  Object.assign(routeToUpdate, routeUpdates);\n  // Mutate the `hasErrorBoundary` property on the route based on the route\n  // updates and remove the `lazy` function so we don't resolve the lazy\n  // route again.\n  Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n    lazy: undefined\n  }));\n}\n// Default implementation of `dataStrategy` which fetches all loaders in parallel\nfunction defaultDataStrategy(opts) {\n  return Promise.all(opts.matches.map(m => m.resolve()));\n}\nasync function callDataStrategyImpl(dataStrategyImpl, type, request, matchesToLoad, matches, manifest, mapRouteProperties, requestContext) {\n  let routeIdsToLoad = matchesToLoad.reduce((acc, m) => acc.add(m.route.id), new Set());\n  let loadedMatches = new Set();\n  // Send all matches here to allow for a middleware-type implementation.\n  // handler will be a no-op for unneeded routes and we filter those results\n  // back out below.\n  let results = await dataStrategyImpl({\n    matches: matches.map(match => {\n      let shouldLoad = routeIdsToLoad.has(match.route.id);\n      // `resolve` encapsulates the route.lazy, executing the\n      // loader/action, and mapping return values/thrown errors to a\n      // HandlerResult.  Users can pass a callback to take fine-grained control\n      // over the execution of the loader/action\n      let resolve = handlerOverride => {\n        loadedMatches.add(match.route.id);\n        return shouldLoad ? callLoaderOrAction(type, request, match, manifest, mapRouteProperties, handlerOverride, requestContext) : Promise.resolve({\n          type: ResultType.data,\n          result: undefined\n        });\n      };\n      return _extends({}, match, {\n        shouldLoad,\n        resolve\n      });\n    }),\n    request,\n    params: matches[0].params,\n    context: requestContext\n  });\n  // Throw if any loadRoute implementations not called since they are what\n  // ensures a route is fully loaded\n  matches.forEach(m => invariant(loadedMatches.has(m.route.id), \"`match.resolve()` was not called for route id \\\"\" + m.route.id + \"\\\". \" + \"You must call `match.resolve()` on every match passed to \" + \"`dataStrategy` to ensure all routes are properly loaded.\"));\n  // Filter out any middleware-only matches for which we didn't need to run handlers\n  return results.filter((_, i) => routeIdsToLoad.has(matches[i].route.id));\n}\n// Default logic for calling a loader/action is the user has no specified a dataStrategy\nasync function callLoaderOrAction(type, request, match, manifest, mapRouteProperties, handlerOverride, staticContext) {\n  let result;\n  let onReject;\n  let runHandler = handler => {\n    // Setup a promise we can race against so that abort signals short circuit\n    let reject;\n    // This will never resolve so safe to type it as Promise<HandlerResult> to\n    // satisfy the function return value\n    let abortPromise = new Promise((_, r) => reject = r);\n    onReject = () => reject();\n    request.signal.addEventListener(\"abort\", onReject);\n    let actualHandler = ctx => {\n      if (typeof handler !== \"function\") {\n        return Promise.reject(new Error(\"You cannot call the handler for a route which defines a boolean \" + (\"\\\"\" + type + \"\\\" [routeId: \" + match.route.id + \"]\")));\n      }\n      return handler({\n        request,\n        params: match.params,\n        context: staticContext\n      }, ...(ctx !== undefined ? [ctx] : []));\n    };\n    let handlerPromise;\n    if (handlerOverride) {\n      handlerPromise = handlerOverride(ctx => actualHandler(ctx));\n    } else {\n      handlerPromise = (async () => {\n        try {\n          let val = await actualHandler();\n          return {\n            type: \"data\",\n            result: val\n          };\n        } catch (e) {\n          return {\n            type: \"error\",\n            result: e\n          };\n        }\n      })();\n    }\n    return Promise.race([handlerPromise, abortPromise]);\n  };\n  try {\n    let handler = match.route[type];\n    if (match.route.lazy) {\n      if (handler) {\n        // Run statically defined handler in parallel with lazy()\n        let handlerError;\n        let [value] = await Promise.all([\n        // If the handler throws, don't let it immediately bubble out,\n        // since we need to let the lazy() execution finish so we know if this\n        // route has a boundary that can handle the error\n        runHandler(handler).catch(e => {\n          handlerError = e;\n        }), loadLazyRouteModule(match.route, mapRouteProperties, manifest)]);\n        if (handlerError !== undefined) {\n          throw handlerError;\n        }\n        result = value;\n      } else {\n        // Load lazy route module, then run any returned handler\n        await loadLazyRouteModule(match.route, mapRouteProperties, manifest);\n        handler = match.route[type];\n        if (handler) {\n          // Handler still runs even if we got interrupted to maintain consistency\n          // with un-abortable behavior of handler execution on non-lazy or\n          // previously-lazy-loaded routes\n          result = await runHandler(handler);\n        } else if (type === \"action\") {\n          let url = new URL(request.url);\n          let pathname = url.pathname + url.search;\n          throw getInternalRouterError(405, {\n            method: request.method,\n            pathname,\n            routeId: match.route.id\n          });\n        } else {\n          // lazy() route has no loader to run.  Short circuit here so we don't\n          // hit the invariant below that errors on returning undefined.\n          return {\n            type: ResultType.data,\n            result: undefined\n          };\n        }\n      }\n    } else if (!handler) {\n      let url = new URL(request.url);\n      let pathname = url.pathname + url.search;\n      throw getInternalRouterError(404, {\n        pathname\n      });\n    } else {\n      result = await runHandler(handler);\n    }\n    invariant(result.result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n  } catch (e) {\n    // We should already be catching and converting normal handler executions to\n    // HandlerResults and returning them, so anything that throws here is an\n    // unexpected error we still need to wrap\n    return {\n      type: ResultType.error,\n      result: e\n    };\n  } finally {\n    if (onReject) {\n      request.signal.removeEventListener(\"abort\", onReject);\n    }\n  }\n  return result;\n}\nasync function convertHandlerResultToDataResult(handlerResult) {\n  let {\n    result,\n    type,\n    status\n  } = handlerResult;\n  if (isResponse(result)) {\n    let data;\n    try {\n      let contentType = result.headers.get(\"Content-Type\");\n      // Check between word boundaries instead of startsWith() due to the last\n      // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n      if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n        if (result.body == null) {\n          data = null;\n        } else {\n          data = await result.json();\n        }\n      } else {\n        data = await result.text();\n      }\n    } catch (e) {\n      return {\n        type: ResultType.error,\n        error: e\n      };\n    }\n    if (type === ResultType.error) {\n      return {\n        type: ResultType.error,\n        error: new ErrorResponseImpl(result.status, result.statusText, data),\n        statusCode: result.status,\n        headers: result.headers\n      };\n    }\n    return {\n      type: ResultType.data,\n      data,\n      statusCode: result.status,\n      headers: result.headers\n    };\n  }\n  if (type === ResultType.error) {\n    return {\n      type: ResultType.error,\n      error: result,\n      statusCode: isRouteErrorResponse(result) ? result.status : status\n    };\n  }\n  if (isDeferredData(result)) {\n    var _result$init, _result$init2;\n    return {\n      type: ResultType.deferred,\n      deferredData: result,\n      statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n      headers: ((_result$init2 = result.init) == null ? void 0 : _result$init2.headers) && new Headers(result.init.headers)\n    };\n  }\n  return {\n    type: ResultType.data,\n    data: result,\n    statusCode: status\n  };\n}\n// Support relative routing in internal redirects\nfunction normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename, v7_relativeSplatPath) {\n  let location = response.headers.get(\"Location\");\n  invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n  if (!ABSOLUTE_URL_REGEX.test(location)) {\n    let trimmedMatches = matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1);\n    location = normalizeTo(new URL(request.url), trimmedMatches, basename, true, location, v7_relativeSplatPath);\n    response.headers.set(\"Location\", location);\n  }\n  return response;\n}\nfunction normalizeRedirectLocation(location, currentUrl, basename) {\n  if (ABSOLUTE_URL_REGEX.test(location)) {\n    // Strip off the protocol+origin for same-origin + same-basename absolute redirects\n    let normalizedLocation = location;\n    let url = normalizedLocation.startsWith(\"//\") ? new URL(currentUrl.protocol + normalizedLocation) : new URL(normalizedLocation);\n    let isSameBasename = stripBasename(url.pathname, basename) != null;\n    if (url.origin === currentUrl.origin && isSameBasename) {\n      return url.pathname + url.search + url.hash;\n    }\n  }\n  return location;\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches.  During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n  let url = history.createURL(stripHashFromPath(location)).toString();\n  let init = {\n    signal\n  };\n  if (submission && isMutationMethod(submission.formMethod)) {\n    let {\n      formMethod,\n      formEncType\n    } = submission;\n    // Didn't think we needed this but it turns out unlike other methods, patch\n    // won't be properly normalized to uppercase and results in a 405 error.\n    // See: https://fetch.spec.whatwg.org/#concept-method\n    init.method = formMethod.toUpperCase();\n    if (formEncType === \"application/json\") {\n      init.headers = new Headers({\n        \"Content-Type\": formEncType\n      });\n      init.body = JSON.stringify(submission.json);\n    } else if (formEncType === \"text/plain\") {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = submission.text;\n    } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = convertFormDataToSearchParams(submission.formData);\n    } else {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = submission.formData;\n    }\n  }\n  return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n  let searchParams = new URLSearchParams();\n  for (let [key, value] of formData.entries()) {\n    // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n    searchParams.append(key, typeof value === \"string\" ? value : value.name);\n  }\n  return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n  let formData = new FormData();\n  for (let [key, value] of searchParams.entries()) {\n    formData.append(key, value);\n  }\n  return formData;\n}\nfunction processRouteLoaderData(matches, matchesToLoad, results, pendingActionResult, activeDeferreds, skipLoaderErrorBubbling) {\n  // Fill in loaderData/errors from our loaders\n  let loaderData = {};\n  let errors = null;\n  let statusCode;\n  let foundError = false;\n  let loaderHeaders = {};\n  let pendingError = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : undefined;\n  // Process loader results into state.loaderData/state.errors\n  results.forEach((result, index) => {\n    let id = matchesToLoad[index].route.id;\n    invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n    if (isErrorResult(result)) {\n      let error = result.error;\n      // If we have a pending action error, we report it at the highest-route\n      // that throws a loader error, and then clear it out to indicate that\n      // it was consumed\n      if (pendingError !== undefined) {\n        error = pendingError;\n        pendingError = undefined;\n      }\n      errors = errors || {};\n      if (skipLoaderErrorBubbling) {\n        errors[id] = error;\n      } else {\n        // Look upwards from the matched route for the closest ancestor error\n        // boundary, defaulting to the root match.  Prefer higher error values\n        // if lower errors bubble to the same boundary\n        let boundaryMatch = findNearestBoundary(matches, id);\n        if (errors[boundaryMatch.route.id] == null) {\n          errors[boundaryMatch.route.id] = error;\n        }\n      }\n      // Clear our any prior loaderData for the throwing route\n      loaderData[id] = undefined;\n      // Once we find our first (highest) error, we set the status code and\n      // prevent deeper status codes from overriding\n      if (!foundError) {\n        foundError = true;\n        statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n      }\n      if (result.headers) {\n        loaderHeaders[id] = result.headers;\n      }\n    } else {\n      if (isDeferredResult(result)) {\n        activeDeferreds.set(id, result.deferredData);\n        loaderData[id] = result.deferredData.data;\n        // Error status codes always override success status codes, but if all\n        // loaders are successful we take the deepest status code.\n        if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n          statusCode = result.statusCode;\n        }\n        if (result.headers) {\n          loaderHeaders[id] = result.headers;\n        }\n      } else {\n        loaderData[id] = result.data;\n        // Error status codes always override success status codes, but if all\n        // loaders are successful we take the deepest status code.\n        if (result.statusCode && result.statusCode !== 200 && !foundError) {\n          statusCode = result.statusCode;\n        }\n        if (result.headers) {\n          loaderHeaders[id] = result.headers;\n        }\n      }\n    }\n  });\n  // If we didn't consume the pending action error (i.e., all loaders\n  // resolved), then consume it here.  Also clear out any loaderData for the\n  // throwing route\n  if (pendingError !== undefined && pendingActionResult) {\n    errors = {\n      [pendingActionResult[0]]: pendingError\n    };\n    loaderData[pendingActionResult[0]] = undefined;\n  }\n  return {\n    loaderData,\n    errors,\n    statusCode: statusCode || 200,\n    loaderHeaders\n  };\n}\nfunction processLoaderData(state, matches, matchesToLoad, results, pendingActionResult, revalidatingFetchers, fetcherResults, activeDeferreds) {\n  let {\n    loaderData,\n    errors\n  } = processRouteLoaderData(matches, matchesToLoad, results, pendingActionResult, activeDeferreds, false // This method is only called client side so we always want to bubble\n  );\n  // Process results from our revalidating fetchers\n  for (let index = 0; index < revalidatingFetchers.length; index++) {\n    let {\n      key,\n      match,\n      controller\n    } = revalidatingFetchers[index];\n    invariant(fetcherResults !== undefined && fetcherResults[index] !== undefined, \"Did not find corresponding fetcher result\");\n    let result = fetcherResults[index];\n    // Process fetcher non-redirect errors\n    if (controller && controller.signal.aborted) {\n      // Nothing to do for aborted fetchers\n      continue;\n    } else if (isErrorResult(result)) {\n      let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n      if (!(errors && errors[boundaryMatch.route.id])) {\n        errors = _extends({}, errors, {\n          [boundaryMatch.route.id]: result.error\n        });\n      }\n      state.fetchers.delete(key);\n    } else if (isRedirectResult(result)) {\n      // Should never get here, redirects should get processed above, but we\n      // keep this to type narrow to a success result in the else\n      invariant(false, \"Unhandled fetcher revalidation redirect\");\n    } else if (isDeferredResult(result)) {\n      // Should never get here, deferred data should be awaited for fetchers\n      // in resolveDeferredResults\n      invariant(false, \"Unhandled fetcher deferred data\");\n    } else {\n      let doneFetcher = getDoneFetcher(result.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n  }\n  return {\n    loaderData,\n    errors\n  };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n  let mergedLoaderData = _extends({}, newLoaderData);\n  for (let match of matches) {\n    let id = match.route.id;\n    if (newLoaderData.hasOwnProperty(id)) {\n      if (newLoaderData[id] !== undefined) {\n        mergedLoaderData[id] = newLoaderData[id];\n      }\n    } else if (loaderData[id] !== undefined && match.route.loader) {\n      // Preserve existing keys not included in newLoaderData and where a loader\n      // wasn't removed by HMR\n      mergedLoaderData[id] = loaderData[id];\n    }\n    if (errors && errors.hasOwnProperty(id)) {\n      // Don't keep any loader data below the boundary\n      break;\n    }\n  }\n  return mergedLoaderData;\n}\nfunction getActionDataForCommit(pendingActionResult) {\n  if (!pendingActionResult) {\n    return {};\n  }\n  return isErrorResult(pendingActionResult[1]) ? {\n    // Clear out prior actionData on errors\n    actionData: {}\n  } : {\n    actionData: {\n      [pendingActionResult[0]]: pendingActionResult[1].data\n    }\n  };\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n  let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n  return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n  // Prefer a root layout route if present, otherwise shim in a route object\n  let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n    id: \"__shim-error-route__\"\n  };\n  return {\n    matches: [{\n      params: {},\n      pathname: \"\",\n      pathnameBase: \"\",\n      route\n    }],\n    route\n  };\n}\nfunction getInternalRouterError(status, _temp5) {\n  let {\n    pathname,\n    routeId,\n    method,\n    type\n  } = _temp5 === void 0 ? {} : _temp5;\n  let statusText = \"Unknown Server Error\";\n  let errorMessage = \"Unknown @remix-run/router error\";\n  if (status === 400) {\n    statusText = \"Bad Request\";\n    if (method && pathname && routeId) {\n      errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n    } else if (type === \"defer-action\") {\n      errorMessage = \"defer() is not supported in actions\";\n    } else if (type === \"invalid-body\") {\n      errorMessage = \"Unable to encode submission body\";\n    }\n  } else if (status === 403) {\n    statusText = \"Forbidden\";\n    errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n  } else if (status === 404) {\n    statusText = \"Not Found\";\n    errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n  } else if (status === 405) {\n    statusText = \"Method Not Allowed\";\n    if (method && pathname && routeId) {\n      errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n    } else if (method) {\n      errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n    }\n  }\n  return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n  for (let i = results.length - 1; i >= 0; i--) {\n    let result = results[i];\n    if (isRedirectResult(result)) {\n      return {\n        result,\n        idx: i\n      };\n    }\n  }\n}\nfunction stripHashFromPath(path) {\n  let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n  return createPath(_extends({}, parsedPath, {\n    hash: \"\"\n  }));\n}\nfunction isHashChangeOnly(a, b) {\n  if (a.pathname !== b.pathname || a.search !== b.search) {\n    return false;\n  }\n  if (a.hash === \"\") {\n    // /page -> /page#hash\n    return b.hash !== \"\";\n  } else if (a.hash === b.hash) {\n    // /page#hash -> /page#hash\n    return true;\n  } else if (b.hash !== \"\") {\n    // /page#hash -> /page#other\n    return true;\n  }\n  // If the hash is removed the browser will re-perform a request to the server\n  // /page#hash -> /page\n  return false;\n}\nfunction isHandlerResult(result) {\n  return result != null && typeof result === \"object\" && \"type\" in result && \"result\" in result && (result.type === ResultType.data || result.type === ResultType.error);\n}\nfunction isRedirectHandlerResult(result) {\n  return isResponse(result.result) && redirectStatusCodes.has(result.result.status);\n}\nfunction isDeferredResult(result) {\n  return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n  return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n  return (result && result.type) === ResultType.redirect;\n}\nfunction isDeferredData(value) {\n  let deferred = value;\n  return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n  return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n  if (!isResponse(result)) {\n    return false;\n  }\n  let status = result.status;\n  let location = result.headers.get(\"Location\");\n  return status >= 300 && status <= 399 && location != null;\n}\nfunction isValidMethod(method) {\n  return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n  return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveDeferredResults(currentMatches, matchesToLoad, results, signals, isFetcher, currentLoaderData) {\n  for (let index = 0; index < results.length; index++) {\n    let result = results[index];\n    let match = matchesToLoad[index];\n    // If we don't have a match, then we can have a deferred result to do\n    // anything with.  This is for revalidating fetchers where the route was\n    // removed during HMR\n    if (!match) {\n      continue;\n    }\n    let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n    let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n    if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n      // Note: we do not have to touch activeDeferreds here since we race them\n      // against the signal in resolveDeferredData and they'll get aborted\n      // there if needed\n      let signal = signals[index];\n      invariant(signal, \"Expected an AbortSignal for revalidating fetcher deferred result\");\n      await resolveDeferredData(result, signal, isFetcher).then(result => {\n        if (result) {\n          results[index] = result || results[index];\n        }\n      });\n    }\n  }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n  if (unwrap === void 0) {\n    unwrap = false;\n  }\n  let aborted = await result.deferredData.resolveData(signal);\n  if (aborted) {\n    return;\n  }\n  if (unwrap) {\n    try {\n      return {\n        type: ResultType.data,\n        data: result.deferredData.unwrappedData\n      };\n    } catch (e) {\n      // Handle any TrackedPromise._error values encountered while unwrapping\n      return {\n        type: ResultType.error,\n        error: e\n      };\n    }\n  }\n  return {\n    type: ResultType.data,\n    data: result.deferredData.data\n  };\n}\nfunction hasNakedIndexQuery(search) {\n  return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n  let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n  if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n    // Return the leaf index route when index is present\n    return matches[matches.length - 1];\n  }\n  // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n  // pathless layout routes)\n  let pathMatches = getPathContributingMatches(matches);\n  return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n  let {\n    formMethod,\n    formAction,\n    formEncType,\n    text,\n    formData,\n    json\n  } = navigation;\n  if (!formMethod || !formAction || !formEncType) {\n    return;\n  }\n  if (text != null) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData: undefined,\n      json: undefined,\n      text\n    };\n  } else if (formData != null) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData,\n      json: undefined,\n      text: undefined\n    };\n  } else if (json !== undefined) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData: undefined,\n      json,\n      text: undefined\n    };\n  }\n}\nfunction getLoadingNavigation(location, submission) {\n  if (submission) {\n    let navigation = {\n      state: \"loading\",\n      location,\n      formMethod: submission.formMethod,\n      formAction: submission.formAction,\n      formEncType: submission.formEncType,\n      formData: submission.formData,\n      json: submission.json,\n      text: submission.text\n    };\n    return navigation;\n  } else {\n    let navigation = {\n      state: \"loading\",\n      location,\n      formMethod: undefined,\n      formAction: undefined,\n      formEncType: undefined,\n      formData: undefined,\n      json: undefined,\n      text: undefined\n    };\n    return navigation;\n  }\n}\nfunction getSubmittingNavigation(location, submission) {\n  let navigation = {\n    state: \"submitting\",\n    location,\n    formMethod: submission.formMethod,\n    formAction: submission.formAction,\n    formEncType: submission.formEncType,\n    formData: submission.formData,\n    json: submission.json,\n    text: submission.text\n  };\n  return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n  if (submission) {\n    let fetcher = {\n      state: \"loading\",\n      formMethod: submission.formMethod,\n      formAction: submission.formAction,\n      formEncType: submission.formEncType,\n      formData: submission.formData,\n      json: submission.json,\n      text: submission.text,\n      data\n    };\n    return fetcher;\n  } else {\n    let fetcher = {\n      state: \"loading\",\n      formMethod: undefined,\n      formAction: undefined,\n      formEncType: undefined,\n      formData: undefined,\n      json: undefined,\n      text: undefined,\n      data\n    };\n    return fetcher;\n  }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n  let fetcher = {\n    state: \"submitting\",\n    formMethod: submission.formMethod,\n    formAction: submission.formAction,\n    formEncType: submission.formEncType,\n    formData: submission.formData,\n    json: submission.json,\n    text: submission.text,\n    data: existingFetcher ? existingFetcher.data : undefined\n  };\n  return fetcher;\n}\nfunction getDoneFetcher(data) {\n  let fetcher = {\n    state: \"idle\",\n    formMethod: undefined,\n    formAction: undefined,\n    formEncType: undefined,\n    formData: undefined,\n    json: undefined,\n    text: undefined,\n    data\n  };\n  return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n  try {\n    let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n    if (sessionPositions) {\n      let json = JSON.parse(sessionPositions);\n      for (let [k, v] of Object.entries(json || {})) {\n        if (v && Array.isArray(v)) {\n          transitions.set(k, new Set(v || []));\n        }\n      }\n    }\n  } catch (e) {\n    // no-op, use default empty object\n  }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n  if (transitions.size > 0) {\n    let json = {};\n    for (let [k, v] of transitions) {\n      json[k] = [...v];\n    }\n    try {\n      _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n    } catch (error) {\n      warning(false, \"Failed to save applied view transitions in sessionStorage (\" + error + \").\");\n    }\n  }\n}\n//#endregion\n\nexport { AbortedDeferredError, Action, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, UNSAFE_DEFERRED_SYMBOL, DeferredData as UNSAFE_DeferredData, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, convertRouteMatchToUiMatch as UNSAFE_convertRouteMatchToUiMatch, convertRoutesToDataRoutes as UNSAFE_convertRoutesToDataRoutes, getResolveToMatches as UNSAFE_getResolveToMatches, invariant as UNSAFE_invariant, warning as UNSAFE_warning, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, createRouter, createStaticHandler, defer, generatePath, getStaticContextFromError, getToPathname, isDeferredData, isRouteErrorResponse, joinPaths, json, matchPath, matchRoutes, normalizePathname, parsePath, redirect, redirectDocument, resolvePath, resolveTo, stripBasename };\n//# sourceMappingURL=router.js.map\n","/**\n * React Router v6.23.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { UNSAFE_invariant, joinPaths, matchPath, UNSAFE_getResolveToMatches, UNSAFE_warning, resolveTo, parsePath, matchRoutes, Action, UNSAFE_convertRouteMatchToUiMatch, stripBasename, IDLE_BLOCKER, isRouteErrorResponse, createMemoryHistory, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, resolvePath } from '@remix-run/router';\n\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  AwaitContext.displayName = \"Await\";\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `<Router>` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n  outlet: null,\n  matches: [],\n  isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n  RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nfunction useHref(to, _temp) {\n  let {\n    relative\n  } = _temp === void 0 ? {} : _temp;\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useHref() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    basename,\n    navigator\n  } = React.useContext(NavigationContext);\n  let {\n    hash,\n    pathname,\n    search\n  } = useResolvedPath(to, {\n    relative\n  });\n  let joinedPathname = pathname;\n\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the href.  If this is a root navigation, then just use the raw\n  // basename which allows the basename to have full control over the presence\n  // of a trailing slash on root links\n  if (basename !== \"/\") {\n    joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n  }\n  return navigator.createHref({\n    pathname: joinedPathname,\n    search,\n    hash\n  });\n}\n\n/**\n * Returns true if this component is a descendant of a `<Router>`.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n  return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nfunction useLocation() {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useLocation() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n  return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * `<NavLink>`.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nfunction useMatch(pattern) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useMatch() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    pathname\n  } = useLocation();\n  return React.useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n  let isStatic = React.useContext(NavigationContext).static;\n  if (!isStatic) {\n    // We should be able to get rid of this once react 18.3 is released\n    // See: https://github.com/facebook/react/pull/26395\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(cb);\n  }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by `<Link>`s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nfunction useNavigate() {\n  let {\n    isDataRoute\n  } = React.useContext(RouteContext);\n  // Conditional usage is OK here because the usage of a data router is static\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useNavigate() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let dataRouterContext = React.useContext(DataRouterContext);\n  let {\n    basename,\n    future,\n    navigator\n  } = React.useContext(NavigationContext);\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n  let activeRef = React.useRef(false);\n  useIsomorphicLayoutEffect(() => {\n    activeRef.current = true;\n  });\n  let navigate = React.useCallback(function (to, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n    // Short circuit here since if this happens on first render the navigate\n    // is useless because we haven't wired up our history listener yet\n    if (!activeRef.current) return;\n    if (typeof to === \"number\") {\n      navigator.go(to);\n      return;\n    }\n    let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n    // If we're operating within a basename, prepend it to the pathname prior\n    // to handing off to history (but only if we're not in a data router,\n    // otherwise it'll prepend the basename inside of the router).\n    // If this is a root navigation, then we navigate to the raw basename\n    // which allows the basename to have full control over the presence of a\n    // trailing slash on root links\n    if (dataRouterContext == null && basename !== \"/\") {\n      path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n    }\n    (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n  }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n  return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n  return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `<Outlet>` to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nfunction useOutlet(context) {\n  let outlet = React.useContext(RouteContext).outlet;\n  if (outlet) {\n    return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n      value: context\n    }, outlet);\n  }\n  return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nfunction useParams() {\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let routeMatch = matches[matches.length - 1];\n  return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n  let {\n    relative\n  } = _temp2 === void 0 ? {} : _temp2;\n  let {\n    future\n  } = React.useContext(NavigationContext);\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n  return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `<Outlet>` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n  return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useRoutes() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    navigator\n  } = React.useContext(NavigationContext);\n  let {\n    matches: parentMatches\n  } = React.useContext(RouteContext);\n  let routeMatch = parentMatches[parentMatches.length - 1];\n  let parentParams = routeMatch ? routeMatch.params : {};\n  let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n  let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n  let parentRoute = routeMatch && routeMatch.route;\n  if (process.env.NODE_ENV !== \"production\") {\n    // You won't get a warning about 2 different <Routes> under a <Route>\n    // without a trailing *, but this is a best-effort warning anyway since we\n    // cannot even give the warning unless they land at the parent route.\n    //\n    // Example:\n    //\n    // <Routes>\n    //   {/* This route path MUST end with /* because otherwise\n    //       it will never match /blog/post/123 */}\n    //   <Route path=\"blog\" element={<Blog />} />\n    //   <Route path=\"blog/feed\" element={<BlogFeed />} />\n    // </Routes>\n    //\n    // function Blog() {\n    //   return (\n    //     <Routes>\n    //       <Route path=\"post/:id\" element={<Post />} />\n    //     </Routes>\n    //   );\n    // }\n    let parentPath = parentRoute && parentRoute.path || \"\";\n    warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant <Routes> (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under <Route path=\\\"\" + parentPath + \"\\\">) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent <Route path=\\\"\" + parentPath + \"\\\"> to <Route \") + (\"path=\\\"\" + (parentPath === \"/\" ? \"*\" : parentPath + \"/*\") + \"\\\">.\"));\n  }\n  let locationFromContext = useLocation();\n  let location;\n  if (locationArg) {\n    var _parsedLocationArg$pa;\n    let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n    !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n    location = parsedLocationArg;\n  } else {\n    location = locationFromContext;\n  }\n  let pathname = location.pathname || \"/\";\n  let remainingPathname = pathname;\n  if (parentPathnameBase !== \"/\") {\n    // Determine the remaining pathname by removing the # of URL segments the\n    // parentPathnameBase has, instead of removing based on character count.\n    // This is because we can't guarantee that incoming/outgoing encodings/\n    // decodings will match exactly.\n    // We decode paths before matching on a per-segment basis with\n    // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n    // match what `window.location.pathname` would reflect.  Those don't 100%\n    // align when it comes to encoded URI characters such as % and &.\n    //\n    // So we may end up with:\n    //   pathname:           \"/descendant/a%25b/match\"\n    //   parentPathnameBase: \"/descendant/a%b\"\n    //\n    // And the direct substring removal approach won't work :/\n    let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n    let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n    remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n  }\n  let matches = matchRoutes(routes, {\n    pathname: remainingPathname\n  });\n  if (process.env.NODE_ENV !== \"production\") {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined || matches[matches.length - 1].route.lazy !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an <Outlet /> with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n  }\n  let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n    params: Object.assign({}, parentParams, match.params),\n    pathname: joinPaths([parentPathnameBase,\n    // Re-encode pathnames that were decoded inside matchRoutes\n    navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n    pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n    // Re-encode pathnames that were decoded inside matchRoutes\n    navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n  })), parentMatches, dataRouterState, future);\n\n  // When a user passes in a `locationArg`, the associated routes need to\n  // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n  // to use the scoped location instead of the global location.\n  if (locationArg && renderedMatches) {\n    return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n      value: {\n        location: _extends({\n          pathname: \"/\",\n          search: \"\",\n          hash: \"\",\n          state: null,\n          key: \"default\"\n        }, location),\n        navigationType: Action.Pop\n      }\n    }, renderedMatches);\n  }\n  return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n  let error = useRouteError();\n  let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n  let stack = error instanceof Error ? error.stack : null;\n  let lightgrey = \"rgba(200,200,200, 0.5)\";\n  let preStyles = {\n    padding: \"0.5rem\",\n    backgroundColor: lightgrey\n  };\n  let codeStyles = {\n    padding: \"2px 4px\",\n    backgroundColor: lightgrey\n  };\n  let devInfo = null;\n  if (process.env.NODE_ENV !== \"production\") {\n    console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n    devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n      style: codeStyles\n    }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n      style: codeStyles\n    }, \"errorElement\"), \" prop on your route.\"));\n  }\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n    style: {\n      fontStyle: \"italic\"\n    }\n  }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n    style: preStyles\n  }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      location: props.location,\n      revalidation: props.revalidation,\n      error: props.error\n    };\n  }\n  static getDerivedStateFromError(error) {\n    return {\n      error: error\n    };\n  }\n  static getDerivedStateFromProps(props, state) {\n    // When we get into an error state, the user will likely click \"back\" to the\n    // previous page that didn't have an error. Because this wraps the entire\n    // application, that will have no effect--the error page continues to display.\n    // This gives us a mechanism to recover from the error when the location changes.\n    //\n    // Whether we're in an error state or not, we update the location in state\n    // so that when we are in an error state, it gets reset when a new location\n    // comes in and the user recovers from the error.\n    if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n      return {\n        error: props.error,\n        location: props.location,\n        revalidation: props.revalidation\n      };\n    }\n\n    // If we're not changing locations, preserve the location but still surface\n    // any new errors that may come through. We retain the existing error, we do\n    // this because the error provided from the app state may be cleared without\n    // the location changing.\n    return {\n      error: props.error !== undefined ? props.error : state.error,\n      location: state.location,\n      revalidation: props.revalidation || state.revalidation\n    };\n  }\n  componentDidCatch(error, errorInfo) {\n    console.error(\"React Router caught the following error during render\", error, errorInfo);\n  }\n  render() {\n    return this.state.error !== undefined ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n      value: this.props.routeContext\n    }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n      value: this.state.error,\n      children: this.props.component\n    })) : this.props.children;\n  }\n}\nfunction RenderedRoute(_ref) {\n  let {\n    routeContext,\n    match,\n    children\n  } = _ref;\n  let dataRouterContext = React.useContext(DataRouterContext);\n\n  // Track how deep we got in our render pass to emulate SSR componentDidCatch\n  // in a DataStaticRouter\n  if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n    dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n  }\n  return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n    value: routeContext\n  }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState, future) {\n  var _dataRouterState2;\n  if (parentMatches === void 0) {\n    parentMatches = [];\n  }\n  if (dataRouterState === void 0) {\n    dataRouterState = null;\n  }\n  if (future === void 0) {\n    future = null;\n  }\n  if (matches == null) {\n    var _dataRouterState;\n    if ((_dataRouterState = dataRouterState) != null && _dataRouterState.errors) {\n      // Don't bail if we have data router errors so we can render them in the\n      // boundary.  Use the pre-matched (or shimmed) matches\n      matches = dataRouterState.matches;\n    } else {\n      return null;\n    }\n  }\n  let renderedMatches = matches;\n\n  // If we have data errors, trim matches to the highest error boundary\n  let errors = (_dataRouterState2 = dataRouterState) == null ? void 0 : _dataRouterState2.errors;\n  if (errors != null) {\n    let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]) !== undefined);\n    !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n    renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n  }\n\n  // If we're in a partial hydration mode, detect if we need to render down to\n  // a given HydrateFallback while we load the rest of the hydration data\n  let renderFallback = false;\n  let fallbackIndex = -1;\n  if (dataRouterState && future && future.v7_partialHydration) {\n    for (let i = 0; i < renderedMatches.length; i++) {\n      let match = renderedMatches[i];\n      // Track the deepest fallback up until the first route without data\n      if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n        fallbackIndex = i;\n      }\n      if (match.route.id) {\n        let {\n          loaderData,\n          errors\n        } = dataRouterState;\n        let needsToRunLoader = match.route.loader && loaderData[match.route.id] === undefined && (!errors || errors[match.route.id] === undefined);\n        if (match.route.lazy || needsToRunLoader) {\n          // We found the first route that's not ready to render (waiting on\n          // lazy, or has a loader that hasn't run yet).  Flag that we need to\n          // render a fallback and render up until the appropriate fallback\n          renderFallback = true;\n          if (fallbackIndex >= 0) {\n            renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n          } else {\n            renderedMatches = [renderedMatches[0]];\n          }\n          break;\n        }\n      }\n    }\n  }\n  return renderedMatches.reduceRight((outlet, match, index) => {\n    // Only data routers handle errors/fallbacks\n    let error;\n    let shouldRenderHydrateFallback = false;\n    let errorElement = null;\n    let hydrateFallbackElement = null;\n    if (dataRouterState) {\n      error = errors && match.route.id ? errors[match.route.id] : undefined;\n      errorElement = match.route.errorElement || defaultErrorElement;\n      if (renderFallback) {\n        if (fallbackIndex < 0 && index === 0) {\n          warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n          shouldRenderHydrateFallback = true;\n          hydrateFallbackElement = null;\n        } else if (fallbackIndex === index) {\n          shouldRenderHydrateFallback = true;\n          hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n        }\n      }\n    }\n    let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n    let getChildren = () => {\n      let children;\n      if (error) {\n        children = errorElement;\n      } else if (shouldRenderHydrateFallback) {\n        children = hydrateFallbackElement;\n      } else if (match.route.Component) {\n        // Note: This is a de-optimized path since React won't re-use the\n        // ReactElement since it's identity changes with each new\n        // React.createElement call.  We keep this so folks can use\n        // `<Route Component={...}>` in `<Routes>` but generally `Component`\n        // usage is only advised in `RouterProvider` when we can convert it to\n        // `element` ahead of time.\n        children = /*#__PURE__*/React.createElement(match.route.Component, null);\n      } else if (match.route.element) {\n        children = match.route.element;\n      } else {\n        children = outlet;\n      }\n      return /*#__PURE__*/React.createElement(RenderedRoute, {\n        match: match,\n        routeContext: {\n          outlet,\n          matches,\n          isDataRoute: dataRouterState != null\n        },\n        children: children\n      });\n    };\n    // Only wrap in an error boundary within data router usages when we have an\n    // ErrorBoundary/errorElement on this route.  Otherwise let it bubble up to\n    // an ancestor ErrorBoundary/errorElement\n    return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n      location: dataRouterState.location,\n      revalidation: dataRouterState.revalidation,\n      component: errorElement,\n      error: error,\n      children: getChildren(),\n      routeContext: {\n        outlet: null,\n        matches,\n        isDataRoute: true\n      }\n    }) : getChildren();\n  }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n  DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n  DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n  DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n  return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n  DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n  DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n  DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n  DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n  DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n  DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n  DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n  DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n  DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n  DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n  return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n  return hookName + \" must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n  let ctx = React.useContext(DataRouterContext);\n  !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return ctx;\n}\nfunction useDataRouterState(hookName) {\n  let state = React.useContext(DataRouterStateContext);\n  !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return state;\n}\nfunction useRouteContext(hookName) {\n  let route = React.useContext(RouteContext);\n  !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n  let route = useRouteContext(hookName);\n  let thisRoute = route.matches[route.matches.length - 1];\n  !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n  return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n  return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n  let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n  return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n  let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n  let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n  return React.useMemo(() => ({\n    revalidate: dataRouterContext.router.revalidate,\n    state: state.revalidation\n  }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n  let {\n    matches,\n    loaderData\n  } = useDataRouterState(DataRouterStateHook.UseMatches);\n  return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n  let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n  if (state.errors && state.errors[routeId] != null) {\n    console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n    return undefined;\n  }\n  return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n  let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n  return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n  let state = useDataRouterState(DataRouterStateHook.UseActionData);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n  return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error.  This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n  var _state$errors;\n  let error = React.useContext(RouteErrorContext);\n  let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n  // If this was a render error, we put it in a RouteError context inside\n  // of RenderErrorBoundary\n  if (error !== undefined) {\n    return error;\n  }\n\n  // Otherwise look for errors from our data router state\n  return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `<Await />` value\n */\nfunction useAsyncValue() {\n  let value = React.useContext(AwaitContext);\n  return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `<Await />` value\n */\nfunction useAsyncError() {\n  let value = React.useContext(AwaitContext);\n  return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation.  Mostly used to avoid\n * using half-filled form data.  This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n  let {\n    router,\n    basename\n  } = useDataRouterContext(DataRouterHook.UseBlocker);\n  let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n  let [blockerKey, setBlockerKey] = React.useState(\"\");\n  let blockerFunction = React.useCallback(arg => {\n    if (typeof shouldBlock !== \"function\") {\n      return !!shouldBlock;\n    }\n    if (basename === \"/\") {\n      return shouldBlock(arg);\n    }\n\n    // If they provided us a function and we've got an active basename, strip\n    // it from the locations we expose to the user to match the behavior of\n    // useLocation\n    let {\n      currentLocation,\n      nextLocation,\n      historyAction\n    } = arg;\n    return shouldBlock({\n      currentLocation: _extends({}, currentLocation, {\n        pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n      }),\n      nextLocation: _extends({}, nextLocation, {\n        pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n      }),\n      historyAction\n    });\n  }, [basename, shouldBlock]);\n\n  // This effect is in charge of blocker key assignment and deletion (which is\n  // tightly coupled to the key)\n  React.useEffect(() => {\n    let key = String(++blockerId);\n    setBlockerKey(key);\n    return () => router.deleteBlocker(key);\n  }, [router]);\n\n  // This effect handles assigning the blockerFunction.  This is to handle\n  // unstable blocker function identities, and happens only after the prior\n  // effect so we don't get an orphaned blockerFunction in the router with a\n  // key of \"\".  Until then we just have the IDLE_BLOCKER.\n  React.useEffect(() => {\n    if (blockerKey !== \"\") {\n      router.getBlocker(blockerKey, blockerFunction);\n    }\n  }, [router, blockerKey, blockerFunction]);\n\n  // Prefer the blocker from `state` not `router.state` since DataRouterContext\n  // is memoized so this ensures we update on blocker state updates\n  return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n  let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n  let activeRef = React.useRef(false);\n  useIsomorphicLayoutEffect(() => {\n    activeRef.current = true;\n  });\n  let navigate = React.useCallback(function (to, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n    // Short circuit here since if this happens on first render the navigate\n    // is useless because we haven't wired up our router subscriber yet\n    if (!activeRef.current) return;\n    if (typeof to === \"number\") {\n      router.navigate(to);\n    } else {\n      router.navigate(to, _extends({\n        fromRouteId: id\n      }, options));\n    }\n  }, [router, id]);\n  return navigate;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n  if (!cond && !alreadyWarned[key]) {\n    alreadyWarned[key] = true;\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n  }\n}\n\n/**\n  Webpack + React 17 fails to compile on any of the following because webpack\n  complains that `startTransition` doesn't exist in `React`:\n  * import { startTransition } from \"react\"\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n  Moving it to a constant such as the following solves the Webpack/React 17 issue:\n  * import * as React from from \"react\";\n    const START_TRANSITION = \"startTransition\";\n    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n  However, that introduces webpack/terser minification issues in production builds\n  in React 18 where minification/obfuscation ends up removing the call of\n  React.startTransition entirely from the first half of the ternary.  Grabbing\n  this exported reference once up front resolves that issue.\n\n  See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n  let {\n    fallbackElement,\n    router,\n    future\n  } = _ref;\n  let [state, setStateImpl] = React.useState(router.state);\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    if (v7_startTransition && startTransitionImpl) {\n      startTransitionImpl(() => setStateImpl(newState));\n    } else {\n      setStateImpl(newState);\n    }\n  }, [setStateImpl, v7_startTransition]);\n\n  // Need to use a layout effect here so we are subscribed early enough to\n  // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n  React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n  React.useEffect(() => {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n    // Only log this once on initial mount\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  let navigator = React.useMemo(() => {\n    return {\n      createHref: router.createHref,\n      encodeLocation: router.encodeLocation,\n      go: n => router.navigate(n),\n      push: (to, state, opts) => router.navigate(to, {\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      }),\n      replace: (to, state, opts) => router.navigate(to, {\n        replace: true,\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      })\n    };\n  }, [router]);\n  let basename = router.basename || \"/\";\n  let dataRouterContext = React.useMemo(() => ({\n    router,\n    navigator,\n    static: false,\n    basename\n  }), [router, navigator, basename]);\n\n  // The fragment and {null} here are important!  We need them to keep React 18's\n  // useId happy when we are server-rendering since we may have a <script> here\n  // containing the hydrated server-side staticContext (from StaticRouterProvider).\n  // useId relies on the component tree structure to generate deterministic id's\n  // so we need to ensure it remains the same on the client even though\n  // we don't need the <script> tag\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataRouterContext.Provider, {\n    value: dataRouterContext\n  }, /*#__PURE__*/React.createElement(DataRouterStateContext.Provider, {\n    value: state\n  }, /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    location: state.location,\n    navigationType: state.historyAction,\n    navigator: navigator,\n    future: {\n      v7_relativeSplatPath: router.future.v7_relativeSplatPath\n    }\n  }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n    routes: router.routes,\n    future: router.future,\n    state: state\n  }) : fallbackElement))), null);\n}\nfunction DataRoutes(_ref2) {\n  let {\n    routes,\n    future,\n    state\n  } = _ref2;\n  return useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` that stores all entries in memory.\n *\n * @see https://reactrouter.com/router-components/memory-router\n */\nfunction MemoryRouter(_ref3) {\n  let {\n    basename,\n    children,\n    initialEntries,\n    initialIndex,\n    future\n  } = _ref3;\n  let historyRef = React.useRef();\n  if (historyRef.current == null) {\n    historyRef.current = createMemoryHistory({\n      initialEntries,\n      initialIndex,\n      v5Compat: true\n    });\n  }\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/components/navigate\n */\nfunction Navigate(_ref4) {\n  let {\n    to,\n    replace,\n    state,\n    relative\n  } = _ref4;\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n  // the router loaded. We can help them understand how to avoid that.\n  \"<Navigate> may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    future,\n    static: isStatic\n  } = React.useContext(NavigationContext);\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(!isStatic, \"<Navigate> must not be used on the initial render in a <StaticRouter>. \" + \"This is a no-op, but you should modify your code so the <Navigate> is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let navigate = useNavigate();\n\n  // Resolve the path outside of the effect so that when effects run twice in\n  // StrictMode they navigate to the same place\n  let path = resolveTo(to, UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath), locationPathname, relative === \"path\");\n  let jsonPath = JSON.stringify(path);\n  React.useEffect(() => navigate(JSON.parse(jsonPath), {\n    replace,\n    state,\n    relative\n  }), [navigate, jsonPath, relative, replace, state]);\n  return null;\n}\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/components/outlet\n */\nfunction Outlet(props) {\n  return useOutlet(props.context);\n}\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/components/route\n */\nfunction Route(_props) {\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, \" + \"never rendered directly. Please wrap your <Route> in a <Routes>.\") : UNSAFE_invariant(false) ;\n}\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n * router that is more specific to your environment such as a `<BrowserRouter>`\n * in web browsers or a `<StaticRouter>` for server rendering.\n *\n * @see https://reactrouter.com/router-components/router\n */\nfunction Router(_ref5) {\n  let {\n    basename: basenameProp = \"/\",\n    children = null,\n    location: locationProp,\n    navigationType = Action.Pop,\n    navigator,\n    static: staticProp = false,\n    future\n  } = _ref5;\n  !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"You cannot render a <Router> inside another <Router>.\" + \" You should never have more than one in your app.\") : UNSAFE_invariant(false) : void 0;\n\n  // Preserve trailing slashes on basename, so we can let the user control\n  // the enforcement of trailing slashes throughout the app\n  let basename = basenameProp.replace(/^\\/*/, \"/\");\n  let navigationContext = React.useMemo(() => ({\n    basename,\n    navigator,\n    static: staticProp,\n    future: _extends({\n      v7_relativeSplatPath: false\n    }, future)\n  }), [basename, future, navigator, staticProp]);\n  if (typeof locationProp === \"string\") {\n    locationProp = parsePath(locationProp);\n  }\n  let {\n    pathname = \"/\",\n    search = \"\",\n    hash = \"\",\n    state = null,\n    key = \"default\"\n  } = locationProp;\n  let locationContext = React.useMemo(() => {\n    let trailingPathname = stripBasename(pathname, basename);\n    if (trailingPathname == null) {\n      return null;\n    }\n    return {\n      location: {\n        pathname: trailingPathname,\n        search,\n        hash,\n        state,\n        key\n      },\n      navigationType\n    };\n  }, [basename, pathname, search, hash, state, key, navigationType]);\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(locationContext != null, \"<Router basename=\\\"\" + basename + \"\\\"> is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the <Router> won't render anything.\") : void 0;\n  if (locationContext == null) {\n    return null;\n  }\n  return /*#__PURE__*/React.createElement(NavigationContext.Provider, {\n    value: navigationContext\n  }, /*#__PURE__*/React.createElement(LocationContext.Provider, {\n    children: children,\n    value: locationContext\n  }));\n}\n/**\n * A container for a nested tree of `<Route>` elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/components/routes\n */\nfunction Routes(_ref6) {\n  let {\n    children,\n    location\n  } = _ref6;\n  return useRoutes(createRoutesFromChildren(children), location);\n}\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nfunction Await(_ref7) {\n  let {\n    children,\n    errorElement,\n    resolve\n  } = _ref7;\n  return /*#__PURE__*/React.createElement(AwaitErrorBoundary, {\n    resolve: resolve,\n    errorElement: errorElement\n  }, /*#__PURE__*/React.createElement(ResolveAwait, null, children));\n}\nvar AwaitRenderStatus = /*#__PURE__*/function (AwaitRenderStatus) {\n  AwaitRenderStatus[AwaitRenderStatus[\"pending\"] = 0] = \"pending\";\n  AwaitRenderStatus[AwaitRenderStatus[\"success\"] = 1] = \"success\";\n  AwaitRenderStatus[AwaitRenderStatus[\"error\"] = 2] = \"error\";\n  return AwaitRenderStatus;\n}(AwaitRenderStatus || {});\nconst neverSettledPromise = new Promise(() => {});\nclass AwaitErrorBoundary extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      error: null\n    };\n  }\n  static getDerivedStateFromError(error) {\n    return {\n      error\n    };\n  }\n  componentDidCatch(error, errorInfo) {\n    console.error(\"<Await> caught the following error during render\", error, errorInfo);\n  }\n  render() {\n    let {\n      children,\n      errorElement,\n      resolve\n    } = this.props;\n    let promise = null;\n    let status = AwaitRenderStatus.pending;\n    if (!(resolve instanceof Promise)) {\n      // Didn't get a promise - provide as a resolved promise\n      status = AwaitRenderStatus.success;\n      promise = Promise.resolve();\n      Object.defineProperty(promise, \"_tracked\", {\n        get: () => true\n      });\n      Object.defineProperty(promise, \"_data\", {\n        get: () => resolve\n      });\n    } else if (this.state.error) {\n      // Caught a render error, provide it as a rejected promise\n      status = AwaitRenderStatus.error;\n      let renderError = this.state.error;\n      promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n      Object.defineProperty(promise, \"_tracked\", {\n        get: () => true\n      });\n      Object.defineProperty(promise, \"_error\", {\n        get: () => renderError\n      });\n    } else if (resolve._tracked) {\n      // Already tracked promise - check contents\n      promise = resolve;\n      status = promise._error !== undefined ? AwaitRenderStatus.error : promise._data !== undefined ? AwaitRenderStatus.success : AwaitRenderStatus.pending;\n    } else {\n      // Raw (untracked) promise - track it\n      status = AwaitRenderStatus.pending;\n      Object.defineProperty(resolve, \"_tracked\", {\n        get: () => true\n      });\n      promise = resolve.then(data => Object.defineProperty(resolve, \"_data\", {\n        get: () => data\n      }), error => Object.defineProperty(resolve, \"_error\", {\n        get: () => error\n      }));\n    }\n    if (status === AwaitRenderStatus.error && promise._error instanceof AbortedDeferredError) {\n      // Freeze the UI by throwing a never resolved promise\n      throw neverSettledPromise;\n    }\n    if (status === AwaitRenderStatus.error && !errorElement) {\n      // No errorElement, throw to the nearest route-level error boundary\n      throw promise._error;\n    }\n    if (status === AwaitRenderStatus.error) {\n      // Render via our errorElement\n      return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n        value: promise,\n        children: errorElement\n      });\n    }\n    if (status === AwaitRenderStatus.success) {\n      // Render children with resolved value\n      return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n        value: promise,\n        children: children\n      });\n    }\n\n    // Throw to the suspense boundary\n    throw promise;\n  }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`\n */\nfunction ResolveAwait(_ref8) {\n  let {\n    children\n  } = _ref8;\n  let data = useAsyncValue();\n  let toRender = typeof children === \"function\" ? children(data) : children;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, toRender);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/utils/create-routes-from-children\n */\nfunction createRoutesFromChildren(children, parentPath) {\n  if (parentPath === void 0) {\n    parentPath = [];\n  }\n  let routes = [];\n  React.Children.forEach(children, (element, index) => {\n    if (! /*#__PURE__*/React.isValidElement(element)) {\n      // Ignore non-elements. This allows people to more easily inline\n      // conditionals in their route config.\n      return;\n    }\n    let treePath = [...parentPath, index];\n    if (element.type === React.Fragment) {\n      // Transparently support React.Fragment and its children.\n      routes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n      return;\n    }\n    !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>\") : UNSAFE_invariant(false) : void 0;\n    !(!element.props.index || !element.props.children) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"An index route cannot have child routes.\") : UNSAFE_invariant(false) : void 0;\n    let route = {\n      id: element.props.id || treePath.join(\"-\"),\n      caseSensitive: element.props.caseSensitive,\n      element: element.props.element,\n      Component: element.props.Component,\n      index: element.props.index,\n      path: element.props.path,\n      loader: element.props.loader,\n      action: element.props.action,\n      errorElement: element.props.errorElement,\n      ErrorBoundary: element.props.ErrorBoundary,\n      hasErrorBoundary: element.props.ErrorBoundary != null || element.props.errorElement != null,\n      shouldRevalidate: element.props.shouldRevalidate,\n      handle: element.props.handle,\n      lazy: element.props.lazy\n    };\n    if (element.props.children) {\n      route.children = createRoutesFromChildren(element.props.children, treePath);\n    }\n    routes.push(route);\n  });\n  return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nfunction renderMatches(matches) {\n  return _renderMatches(matches);\n}\n\nfunction mapRouteProperties(route) {\n  let updates = {\n    // Note: this check also occurs in createRoutesFromChildren so update\n    // there if you change this -- please and thank you!\n    hasErrorBoundary: route.ErrorBoundary != null || route.errorElement != null\n  };\n  if (route.Component) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (route.element) {\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `Component` and `element` on your route - \" + \"`Component` will be used.\") : void 0;\n      }\n    }\n    Object.assign(updates, {\n      element: /*#__PURE__*/React.createElement(route.Component),\n      Component: undefined\n    });\n  }\n  if (route.HydrateFallback) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (route.hydrateFallbackElement) {\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - \" + \"`HydrateFallback` will be used.\") : void 0;\n      }\n    }\n    Object.assign(updates, {\n      hydrateFallbackElement: /*#__PURE__*/React.createElement(route.HydrateFallback),\n      HydrateFallback: undefined\n    });\n  }\n  if (route.ErrorBoundary) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (route.errorElement) {\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `ErrorBoundary` and `errorElement` on your route - \" + \"`ErrorBoundary` will be used.\") : void 0;\n      }\n    }\n    Object.assign(updates, {\n      errorElement: /*#__PURE__*/React.createElement(route.ErrorBoundary),\n      ErrorBoundary: undefined\n    });\n  }\n  return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n  return createRouter({\n    basename: opts == null ? void 0 : opts.basename,\n    future: _extends({}, opts == null ? void 0 : opts.future, {\n      v7_prependBasename: true\n    }),\n    history: createMemoryHistory({\n      initialEntries: opts == null ? void 0 : opts.initialEntries,\n      initialIndex: opts == null ? void 0 : opts.initialIndex\n    }),\n    hydrationData: opts == null ? void 0 : opts.hydrationData,\n    routes,\n    mapRouteProperties,\n    unstable_dataStrategy: opts == null ? void 0 : opts.unstable_dataStrategy\n  }).initialize();\n}\n\nexport { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, mapRouteProperties as UNSAFE_mapRouteProperties, useRouteId as UNSAFE_useRouteId, useRoutesImpl as UNSAFE_useRoutesImpl, createMemoryRouter, createRoutesFromChildren, createRoutesFromChildren as createRoutesFromElements, renderMatches, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router DOM v6.23.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { UNSAFE_mapRouteProperties, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, Router, UNSAFE_useRoutesImpl, UNSAFE_NavigationContext, useHref, useResolvedPath, useLocation, useNavigate, createPath, UNSAFE_useRouteId, UNSAFE_RouteContext, useMatches, useNavigation, useBlocker } from 'react-router';\nexport { AbortedDeferredError, Await, MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, UNSAFE_useRouteId, createMemoryRouter, createPath, createRoutesFromChildren, createRoutesFromElements, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, resolvePath, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes } from 'react-router';\nimport { stripBasename, UNSAFE_warning, createRouter, createBrowserHistory, createHashHistory, UNSAFE_ErrorResponseImpl, UNSAFE_invariant, joinPaths, IDLE_FETCHER, matchPath } from '@remix-run/router';\nexport { UNSAFE_ErrorResponseImpl } from '@remix-run/router';\n\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}\n\nconst defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n  return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n  return event.button === 0 && (\n  // Ignore everything but left clicks\n  !target || target === \"_self\") &&\n  // Let browser handle \"target=_blank\" etc.\n  !isModifiedEvent(event) // Ignore clicks with modifier keys\n  ;\n}\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n *   let searchParams = new URLSearchParams([\n *     ['sort', 'name'],\n *     ['sort', 'price']\n *   ]);\n *\n * you can do:\n *\n *   let searchParams = createSearchParams({\n *     sort: ['name', 'price']\n *   });\n */\nfunction createSearchParams(init) {\n  if (init === void 0) {\n    init = \"\";\n  }\n  return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n    let value = init[key];\n    return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n  }, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n  let searchParams = createSearchParams(locationSearch);\n  if (defaultSearchParams) {\n    // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n    // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n    // web extensions. Relevant Bugzilla tickets:\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n    defaultSearchParams.forEach((_, key) => {\n      if (!searchParams.has(key)) {\n        defaultSearchParams.getAll(key).forEach(value => {\n          searchParams.append(key, value);\n        });\n      }\n    });\n  }\n  return searchParams;\n}\n// One-time check for submitter support\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n  if (_formDataSupportsSubmitter === null) {\n    try {\n      new FormData(document.createElement(\"form\"),\n      // @ts-expect-error if FormData supports the submitter parameter, this will throw\n      0);\n      _formDataSupportsSubmitter = false;\n    } catch (e) {\n      _formDataSupportsSubmitter = true;\n    }\n  }\n  return _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"]);\nfunction getFormEncType(encType) {\n  if (encType != null && !supportedFormEncTypes.has(encType)) {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"\\\"\" + encType + \"\\\" is not a valid `encType` for `<Form>`/`<fetcher.Form>` \" + (\"and will default to \\\"\" + defaultEncType + \"\\\"\")) : void 0;\n    return null;\n  }\n  return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n  let method;\n  let action;\n  let encType;\n  let formData;\n  let body;\n  if (isFormElement(target)) {\n    // When grabbing the action from the element, it will have had the basename\n    // prefixed to ensure non-JS scenarios work, so strip it since we'll\n    // re-prefix in the router\n    let attr = target.getAttribute(\"action\");\n    action = attr ? stripBasename(attr, basename) : null;\n    method = target.getAttribute(\"method\") || defaultMethod;\n    encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n    formData = new FormData(target);\n  } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n    let form = target.form;\n    if (form == null) {\n      throw new Error(\"Cannot submit a <button> or <input type=\\\"submit\\\"> without a <form>\");\n    }\n    // <button>/<input type=\"submit\"> may override attributes of <form>\n    // When grabbing the action from the element, it will have had the basename\n    // prefixed to ensure non-JS scenarios work, so strip it since we'll\n    // re-prefix in the router\n    let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n    action = attr ? stripBasename(attr, basename) : null;\n    method = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || defaultMethod;\n    encType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n    // Build a FormData object populated from a form and submitter\n    formData = new FormData(form, target);\n    // If this browser doesn't support the `FormData(el, submitter)` format,\n    // then tack on the submitter value at the end.  This is a lightweight\n    // solution that is not 100% spec compliant.  For complete support in older\n    // browsers, consider using the `formdata-submitter-polyfill` package\n    if (!isFormDataSubmitterSupported()) {\n      let {\n        name,\n        type,\n        value\n      } = target;\n      if (type === \"image\") {\n        let prefix = name ? name + \".\" : \"\";\n        formData.append(prefix + \"x\", \"0\");\n        formData.append(prefix + \"y\", \"0\");\n      } else if (name) {\n        formData.append(name, value);\n      }\n    }\n  } else if (isHtmlElement(target)) {\n    throw new Error(\"Cannot submit element that is not <form>, <button>, or \" + \"<input type=\\\"submit|image\\\">\");\n  } else {\n    method = defaultMethod;\n    action = null;\n    encType = defaultEncType;\n    body = target;\n  }\n  // Send body for <Form encType=\"text/plain\" so we encode it into text\n  if (formData && encType === \"text/plain\") {\n    body = formData;\n    formData = undefined;\n  }\n  return {\n    action,\n    method: method.toLowerCase(),\n    encType,\n    formData,\n    body\n  };\n}\n\nconst _excluded = [\"onClick\", \"relative\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\", \"preventScrollReset\", \"unstable_viewTransition\"],\n  _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"unstable_viewTransition\", \"children\"],\n  _excluded3 = [\"fetcherKey\", \"navigate\", \"reloadDocument\", \"replace\", \"state\", \"method\", \"action\", \"onSubmit\", \"relative\", \"preventScrollReset\", \"unstable_viewTransition\"];\n// HEY YOU! DON'T TOUCH THIS VARIABLE!\n//\n// It is replaced with the proper version at build time via a babel plugin in\n// the rollup config.\n//\n// Export a global property onto the window for React Router detection by the\n// Core Web Vitals Technology Report.  This way they can configure the `wappalyzer`\n// to detect and properly classify live websites as being built with React Router:\n// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json\nconst REACT_ROUTER_VERSION = \"6\";\ntry {\n  window.__reactRouterVersion = REACT_ROUTER_VERSION;\n} catch (e) {\n  // no-op\n}\nfunction createBrowserRouter(routes, opts) {\n  return createRouter({\n    basename: opts == null ? void 0 : opts.basename,\n    future: _extends({}, opts == null ? void 0 : opts.future, {\n      v7_prependBasename: true\n    }),\n    history: createBrowserHistory({\n      window: opts == null ? void 0 : opts.window\n    }),\n    hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n    routes,\n    mapRouteProperties: UNSAFE_mapRouteProperties,\n    unstable_dataStrategy: opts == null ? void 0 : opts.unstable_dataStrategy,\n    window: opts == null ? void 0 : opts.window\n  }).initialize();\n}\nfunction createHashRouter(routes, opts) {\n  return createRouter({\n    basename: opts == null ? void 0 : opts.basename,\n    future: _extends({}, opts == null ? void 0 : opts.future, {\n      v7_prependBasename: true\n    }),\n    history: createHashHistory({\n      window: opts == null ? void 0 : opts.window\n    }),\n    hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n    routes,\n    mapRouteProperties: UNSAFE_mapRouteProperties,\n    unstable_dataStrategy: opts == null ? void 0 : opts.unstable_dataStrategy,\n    window: opts == null ? void 0 : opts.window\n  }).initialize();\n}\nfunction parseHydrationData() {\n  var _window;\n  let state = (_window = window) == null ? void 0 : _window.__staticRouterHydrationData;\n  if (state && state.errors) {\n    state = _extends({}, state, {\n      errors: deserializeErrors(state.errors)\n    });\n  }\n  return state;\n}\nfunction deserializeErrors(errors) {\n  if (!errors) return null;\n  let entries = Object.entries(errors);\n  let serialized = {};\n  for (let [key, val] of entries) {\n    // Hey you!  If you change this, please change the corresponding logic in\n    // serializeErrors in react-router-dom/server.tsx :)\n    if (val && val.__type === \"RouteErrorResponse\") {\n      serialized[key] = new UNSAFE_ErrorResponseImpl(val.status, val.statusText, val.data, val.internal === true);\n    } else if (val && val.__type === \"Error\") {\n      // Attempt to reconstruct the right type of Error (i.e., ReferenceError)\n      if (val.__subType) {\n        let ErrorConstructor = window[val.__subType];\n        if (typeof ErrorConstructor === \"function\") {\n          try {\n            // @ts-expect-error\n            let error = new ErrorConstructor(val.message);\n            // Wipe away the client-side stack trace.  Nothing to fill it in with\n            // because we don't serialize SSR stack traces for security reasons\n            error.stack = \"\";\n            serialized[key] = error;\n          } catch (e) {\n            // no-op - fall through and create a normal Error\n          }\n        }\n      }\n      if (serialized[key] == null) {\n        let error = new Error(val.message);\n        // Wipe away the client-side stack trace.  Nothing to fill it in with\n        // because we don't serialize SSR stack traces for security reasons\n        error.stack = \"\";\n        serialized[key] = error;\n      }\n    } else {\n      serialized[key] = val;\n    }\n  }\n  return serialized;\n}\nconst ViewTransitionContext = /*#__PURE__*/React.createContext({\n  isTransitioning: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n  ViewTransitionContext.displayName = \"ViewTransition\";\n}\nconst FetchersContext = /*#__PURE__*/React.createContext(new Map());\nif (process.env.NODE_ENV !== \"production\") {\n  FetchersContext.displayName = \"Fetchers\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n/**\n  Webpack + React 17 fails to compile on any of the following because webpack\n  complains that `startTransition` doesn't exist in `React`:\n  * import { startTransition } from \"react\"\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n  Moving it to a constant such as the following solves the Webpack/React 17 issue:\n  * import * as React from from \"react\";\n    const START_TRANSITION = \"startTransition\";\n    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n  However, that introduces webpack/terser minification issues in production builds\n  in React 18 where minification/obfuscation ends up removing the call of\n  React.startTransition entirely from the first half of the ternary.  Grabbing\n  this exported reference once up front resolves that issue.\n\n  See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\nconst FLUSH_SYNC = \"flushSync\";\nconst flushSyncImpl = ReactDOM[FLUSH_SYNC];\nconst USE_ID = \"useId\";\nconst useIdImpl = React[USE_ID];\nfunction startTransitionSafe(cb) {\n  if (startTransitionImpl) {\n    startTransitionImpl(cb);\n  } else {\n    cb();\n  }\n}\nfunction flushSyncSafe(cb) {\n  if (flushSyncImpl) {\n    flushSyncImpl(cb);\n  } else {\n    cb();\n  }\n}\nclass Deferred {\n  constructor() {\n    this.status = \"pending\";\n    this.promise = new Promise((resolve, reject) => {\n      this.resolve = value => {\n        if (this.status === \"pending\") {\n          this.status = \"resolved\";\n          resolve(value);\n        }\n      };\n      this.reject = reason => {\n        if (this.status === \"pending\") {\n          this.status = \"rejected\";\n          reject(reason);\n        }\n      };\n    });\n  }\n}\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n  let {\n    fallbackElement,\n    router,\n    future\n  } = _ref;\n  let [state, setStateImpl] = React.useState(router.state);\n  let [pendingState, setPendingState] = React.useState();\n  let [vtContext, setVtContext] = React.useState({\n    isTransitioning: false\n  });\n  let [renderDfd, setRenderDfd] = React.useState();\n  let [transition, setTransition] = React.useState();\n  let [interruption, setInterruption] = React.useState();\n  let fetcherData = React.useRef(new Map());\n  let {\n    v7_startTransition\n  } = future || {};\n  let optInStartTransition = React.useCallback(cb => {\n    if (v7_startTransition) {\n      startTransitionSafe(cb);\n    } else {\n      cb();\n    }\n  }, [v7_startTransition]);\n  let setState = React.useCallback((newState, _ref2) => {\n    let {\n      deletedFetchers,\n      unstable_flushSync: flushSync,\n      unstable_viewTransitionOpts: viewTransitionOpts\n    } = _ref2;\n    deletedFetchers.forEach(key => fetcherData.current.delete(key));\n    newState.fetchers.forEach((fetcher, key) => {\n      if (fetcher.data !== undefined) {\n        fetcherData.current.set(key, fetcher.data);\n      }\n    });\n    let isViewTransitionUnavailable = router.window == null || typeof router.window.document.startViewTransition !== \"function\";\n    // If this isn't a view transition or it's not available in this browser,\n    // just update and be done with it\n    if (!viewTransitionOpts || isViewTransitionUnavailable) {\n      if (flushSync) {\n        flushSyncSafe(() => setStateImpl(newState));\n      } else {\n        optInStartTransition(() => setStateImpl(newState));\n      }\n      return;\n    }\n    // flushSync + startViewTransition\n    if (flushSync) {\n      // Flush through the context to mark DOM elements as transition=ing\n      flushSyncSafe(() => {\n        // Cancel any pending transitions\n        if (transition) {\n          renderDfd && renderDfd.resolve();\n          transition.skipTransition();\n        }\n        setVtContext({\n          isTransitioning: true,\n          flushSync: true,\n          currentLocation: viewTransitionOpts.currentLocation,\n          nextLocation: viewTransitionOpts.nextLocation\n        });\n      });\n      // Update the DOM\n      let t = router.window.document.startViewTransition(() => {\n        flushSyncSafe(() => setStateImpl(newState));\n      });\n      // Clean up after the animation completes\n      t.finished.finally(() => {\n        flushSyncSafe(() => {\n          setRenderDfd(undefined);\n          setTransition(undefined);\n          setPendingState(undefined);\n          setVtContext({\n            isTransitioning: false\n          });\n        });\n      });\n      flushSyncSafe(() => setTransition(t));\n      return;\n    }\n    // startTransition + startViewTransition\n    if (transition) {\n      // Interrupting an in-progress transition, cancel and let everything flush\n      // out, and then kick off a new transition from the interruption state\n      renderDfd && renderDfd.resolve();\n      transition.skipTransition();\n      setInterruption({\n        state: newState,\n        currentLocation: viewTransitionOpts.currentLocation,\n        nextLocation: viewTransitionOpts.nextLocation\n      });\n    } else {\n      // Completed navigation update with opted-in view transitions, let 'er rip\n      setPendingState(newState);\n      setVtContext({\n        isTransitioning: true,\n        flushSync: false,\n        currentLocation: viewTransitionOpts.currentLocation,\n        nextLocation: viewTransitionOpts.nextLocation\n      });\n    }\n  }, [router.window, transition, renderDfd, fetcherData, optInStartTransition]);\n  // Need to use a layout effect here so we are subscribed early enough to\n  // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n  React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n  // When we start a view transition, create a Deferred we can use for the\n  // eventual \"completed\" render\n  React.useEffect(() => {\n    if (vtContext.isTransitioning && !vtContext.flushSync) {\n      setRenderDfd(new Deferred());\n    }\n  }, [vtContext]);\n  // Once the deferred is created, kick off startViewTransition() to update the\n  // DOM and then wait on the Deferred to resolve (indicating the DOM update has\n  // happened)\n  React.useEffect(() => {\n    if (renderDfd && pendingState && router.window) {\n      let newState = pendingState;\n      let renderPromise = renderDfd.promise;\n      let transition = router.window.document.startViewTransition(async () => {\n        optInStartTransition(() => setStateImpl(newState));\n        await renderPromise;\n      });\n      transition.finished.finally(() => {\n        setRenderDfd(undefined);\n        setTransition(undefined);\n        setPendingState(undefined);\n        setVtContext({\n          isTransitioning: false\n        });\n      });\n      setTransition(transition);\n    }\n  }, [optInStartTransition, pendingState, renderDfd, router.window]);\n  // When the new location finally renders and is committed to the DOM, this\n  // effect will run to resolve the transition\n  React.useEffect(() => {\n    if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n      renderDfd.resolve();\n    }\n  }, [renderDfd, transition, state.location, pendingState]);\n  // If we get interrupted with a new navigation during a transition, we skip\n  // the active transition, let it cleanup, then kick it off again here\n  React.useEffect(() => {\n    if (!vtContext.isTransitioning && interruption) {\n      setPendingState(interruption.state);\n      setVtContext({\n        isTransitioning: true,\n        flushSync: false,\n        currentLocation: interruption.currentLocation,\n        nextLocation: interruption.nextLocation\n      });\n      setInterruption(undefined);\n    }\n  }, [vtContext.isTransitioning, interruption]);\n  React.useEffect(() => {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n    // Only log this once on initial mount\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  let navigator = React.useMemo(() => {\n    return {\n      createHref: router.createHref,\n      encodeLocation: router.encodeLocation,\n      go: n => router.navigate(n),\n      push: (to, state, opts) => router.navigate(to, {\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      }),\n      replace: (to, state, opts) => router.navigate(to, {\n        replace: true,\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      })\n    };\n  }, [router]);\n  let basename = router.basename || \"/\";\n  let dataRouterContext = React.useMemo(() => ({\n    router,\n    navigator,\n    static: false,\n    basename\n  }), [router, navigator, basename]);\n  // The fragment and {null} here are important!  We need them to keep React 18's\n  // useId happy when we are server-rendering since we may have a <script> here\n  // containing the hydrated server-side staticContext (from StaticRouterProvider).\n  // useId relies on the component tree structure to generate deterministic id's\n  // so we need to ensure it remains the same on the client even though\n  // we don't need the <script> tag\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UNSAFE_DataRouterContext.Provider, {\n    value: dataRouterContext\n  }, /*#__PURE__*/React.createElement(UNSAFE_DataRouterStateContext.Provider, {\n    value: state\n  }, /*#__PURE__*/React.createElement(FetchersContext.Provider, {\n    value: fetcherData.current\n  }, /*#__PURE__*/React.createElement(ViewTransitionContext.Provider, {\n    value: vtContext\n  }, /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    location: state.location,\n    navigationType: state.historyAction,\n    navigator: navigator,\n    future: {\n      v7_relativeSplatPath: router.future.v7_relativeSplatPath\n    }\n  }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n    routes: router.routes,\n    future: router.future,\n    state: state\n  }) : fallbackElement))))), null);\n}\nfunction DataRoutes(_ref3) {\n  let {\n    routes,\n    future,\n    state\n  } = _ref3;\n  return UNSAFE_useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref4) {\n  let {\n    basename,\n    children,\n    future,\n    window\n  } = _ref4;\n  let historyRef = React.useRef();\n  if (historyRef.current == null) {\n    historyRef.current = createBrowserHistory({\n      window,\n      v5Compat: true\n    });\n  }\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref5) {\n  let {\n    basename,\n    children,\n    future,\n    window\n  } = _ref5;\n  let historyRef = React.useRef();\n  if (historyRef.current == null) {\n    historyRef.current = createHashHistory({\n      window,\n      v5Compat: true\n    });\n  }\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref6) {\n  let {\n    basename,\n    children,\n    future,\n    history\n  } = _ref6;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\nif (process.env.NODE_ENV !== \"production\") {\n  HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\nconst isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n/**\n * The public API for rendering a history-aware `<a>`.\n */\nconst Link = /*#__PURE__*/React.forwardRef(function LinkWithRef(_ref7, ref) {\n  let {\n      onClick,\n      relative,\n      reloadDocument,\n      replace,\n      state,\n      target,\n      to,\n      preventScrollReset,\n      unstable_viewTransition\n    } = _ref7,\n    rest = _objectWithoutPropertiesLoose(_ref7, _excluded);\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  // Rendered into <a href> for absolute URLs\n  let absoluteHref;\n  let isExternal = false;\n  if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n    // Render the absolute href server- and client-side\n    absoluteHref = to;\n    // Only check for external origins client-side\n    if (isBrowser) {\n      try {\n        let currentUrl = new URL(window.location.href);\n        let targetUrl = to.startsWith(\"//\") ? new URL(currentUrl.protocol + to) : new URL(to);\n        let path = stripBasename(targetUrl.pathname, basename);\n        if (targetUrl.origin === currentUrl.origin && path != null) {\n          // Strip the protocol/origin/basename for same-origin absolute URLs\n          to = path + targetUrl.search + targetUrl.hash;\n        } else {\n          isExternal = true;\n        }\n      } catch (e) {\n        // We can't do external URL detection without a valid URL\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"<Link to=\\\"\" + to + \"\\\"> contains an invalid URL which will probably break \" + \"when clicked - please update to a valid URL path.\") : void 0;\n      }\n    }\n  }\n  // Rendered into <a href> for relative URLs\n  let href = useHref(to, {\n    relative\n  });\n  let internalOnClick = useLinkClickHandler(to, {\n    replace,\n    state,\n    target,\n    preventScrollReset,\n    relative,\n    unstable_viewTransition\n  });\n  function handleClick(event) {\n    if (onClick) onClick(event);\n    if (!event.defaultPrevented) {\n      internalOnClick(event);\n    }\n  }\n  return (\n    /*#__PURE__*/\n    // eslint-disable-next-line jsx-a11y/anchor-has-content\n    React.createElement(\"a\", _extends({}, rest, {\n      href: absoluteHref || href,\n      onClick: isExternal || reloadDocument ? onClick : handleClick,\n      ref: ref,\n      target: target\n    }))\n  );\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Link.displayName = \"Link\";\n}\n/**\n * A `<Link>` wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/React.forwardRef(function NavLinkWithRef(_ref8, ref) {\n  let {\n      \"aria-current\": ariaCurrentProp = \"page\",\n      caseSensitive = false,\n      className: classNameProp = \"\",\n      end = false,\n      style: styleProp,\n      to,\n      unstable_viewTransition,\n      children\n    } = _ref8,\n    rest = _objectWithoutPropertiesLoose(_ref8, _excluded2);\n  let path = useResolvedPath(to, {\n    relative: rest.relative\n  });\n  let location = useLocation();\n  let routerState = React.useContext(UNSAFE_DataRouterStateContext);\n  let {\n    navigator,\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let isTransitioning = routerState != null &&\n  // Conditional usage is OK here because the usage of a data router is static\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  useViewTransitionState(path) && unstable_viewTransition === true;\n  let toPathname = navigator.encodeLocation ? navigator.encodeLocation(path).pathname : path.pathname;\n  let locationPathname = location.pathname;\n  let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n  if (!caseSensitive) {\n    locationPathname = locationPathname.toLowerCase();\n    nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n    toPathname = toPathname.toLowerCase();\n  }\n  if (nextLocationPathname && basename) {\n    nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n  }\n  // If the `to` has a trailing slash, look at that exact spot.  Otherwise,\n  // we're looking for a slash _after_ what's in `to`.  For example:\n  //\n  // <NavLink to=\"/users\"> and <NavLink to=\"/users/\">\n  // both want to look for a / at index 6 to match URL `/users/matt`\n  const endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n  let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n  let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === \"/\");\n  let renderProps = {\n    isActive,\n    isPending,\n    isTransitioning\n  };\n  let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n  let className;\n  if (typeof classNameProp === \"function\") {\n    className = classNameProp(renderProps);\n  } else {\n    // If the className prop is not a function, we use a default `active`\n    // class for <NavLink />s that are active. In v5 `active` was the default\n    // value for `activeClassName`, but we are removing that API and can still\n    // use the old default behavior for a cleaner upgrade path and keep the\n    // simple styling rules working as they currently do.\n    className = [classNameProp, isActive ? \"active\" : null, isPending ? \"pending\" : null, isTransitioning ? \"transitioning\" : null].filter(Boolean).join(\" \");\n  }\n  let style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n  return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n    \"aria-current\": ariaCurrent,\n    className: className,\n    ref: ref,\n    style: style,\n    to: to,\n    unstable_viewTransition: unstable_viewTransition\n  }), typeof children === \"function\" ? children(renderProps) : children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  NavLink.displayName = \"NavLink\";\n}\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nconst Form = /*#__PURE__*/React.forwardRef((_ref9, forwardedRef) => {\n  let {\n      fetcherKey,\n      navigate,\n      reloadDocument,\n      replace,\n      state,\n      method = defaultMethod,\n      action,\n      onSubmit,\n      relative,\n      preventScrollReset,\n      unstable_viewTransition\n    } = _ref9,\n    props = _objectWithoutPropertiesLoose(_ref9, _excluded3);\n  let submit = useSubmit();\n  let formAction = useFormAction(action, {\n    relative\n  });\n  let formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n  let submitHandler = event => {\n    onSubmit && onSubmit(event);\n    if (event.defaultPrevented) return;\n    event.preventDefault();\n    let submitter = event.nativeEvent.submitter;\n    let submitMethod = (submitter == null ? void 0 : submitter.getAttribute(\"formmethod\")) || method;\n    submit(submitter || event.currentTarget, {\n      fetcherKey,\n      method: submitMethod,\n      navigate,\n      replace,\n      state,\n      relative,\n      preventScrollReset,\n      unstable_viewTransition\n    });\n  };\n  return /*#__PURE__*/React.createElement(\"form\", _extends({\n    ref: forwardedRef,\n    method: formMethod,\n    action: formAction,\n    onSubmit: reloadDocument ? onSubmit : submitHandler\n  }, props));\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Form.displayName = \"Form\";\n}\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nfunction ScrollRestoration(_ref10) {\n  let {\n    getKey,\n    storageKey\n  } = _ref10;\n  useScrollRestoration({\n    getKey,\n    storageKey\n  });\n  return null;\n}\nif (process.env.NODE_ENV !== \"production\") {\n  ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\nvar DataRouterHook;\n(function (DataRouterHook) {\n  DataRouterHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n  DataRouterHook[\"UseSubmit\"] = \"useSubmit\";\n  DataRouterHook[\"UseSubmitFetcher\"] = \"useSubmitFetcher\";\n  DataRouterHook[\"UseFetcher\"] = \"useFetcher\";\n  DataRouterHook[\"useViewTransitionState\"] = \"useViewTransitionState\";\n})(DataRouterHook || (DataRouterHook = {}));\nvar DataRouterStateHook;\n(function (DataRouterStateHook) {\n  DataRouterStateHook[\"UseFetcher\"] = \"useFetcher\";\n  DataRouterStateHook[\"UseFetchers\"] = \"useFetchers\";\n  DataRouterStateHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n})(DataRouterStateHook || (DataRouterStateHook = {}));\n// Internal hooks\nfunction getDataRouterConsoleError(hookName) {\n  return hookName + \" must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n  let ctx = React.useContext(UNSAFE_DataRouterContext);\n  !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return ctx;\n}\nfunction useDataRouterState(hookName) {\n  let state = React.useContext(UNSAFE_DataRouterStateContext);\n  !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return state;\n}\n// External hooks\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nfunction useLinkClickHandler(to, _temp) {\n  let {\n    target,\n    replace: replaceProp,\n    state,\n    preventScrollReset,\n    relative,\n    unstable_viewTransition\n  } = _temp === void 0 ? {} : _temp;\n  let navigate = useNavigate();\n  let location = useLocation();\n  let path = useResolvedPath(to, {\n    relative\n  });\n  return React.useCallback(event => {\n    if (shouldProcessLinkClick(event, target)) {\n      event.preventDefault();\n      // If the URL hasn't changed, a regular <a> will do a replace instead of\n      // a push, so do the same here unless the replace prop is explicitly set\n      let replace = replaceProp !== undefined ? replaceProp : createPath(location) === createPath(path);\n      navigate(to, {\n        replace,\n        state,\n        preventScrollReset,\n        relative,\n        unstable_viewTransition\n      });\n    }\n  }, [location, navigate, path, replaceProp, state, target, to, preventScrollReset, relative, unstable_viewTransition]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nfunction useSearchParams(defaultInit) {\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params\\n\\n\" + \"If you're unsure how to load polyfills, we recommend you check out \" + \"https://polyfill.io/v3/ which provides some recommendations about how \" + \"to load polyfills only for users that need them, instead of for every \" + \"user.\") : void 0;\n  let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n  let hasSetSearchParamsRef = React.useRef(false);\n  let location = useLocation();\n  let searchParams = React.useMemo(() =>\n  // Only merge in the defaults if we haven't yet called setSearchParams.\n  // Once we call that we want those to take precedence, otherwise you can't\n  // remove a param with setSearchParams({}) if it has an initial value\n  getSearchParamsForLocation(location.search, hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current), [location.search]);\n  let navigate = useNavigate();\n  let setSearchParams = React.useCallback((nextInit, navigateOptions) => {\n    const newSearchParams = createSearchParams(typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit);\n    hasSetSearchParamsRef.current = true;\n    navigate(\"?\" + newSearchParams, navigateOptions);\n  }, [navigate, searchParams]);\n  return [searchParams, setSearchParams];\n}\nfunction validateClientSideSubmission() {\n  if (typeof document === \"undefined\") {\n    throw new Error(\"You are calling submit during the server render. \" + \"Try calling submit within a `useEffect` or callback instead.\");\n  }\n}\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => \"__\" + String(++fetcherId) + \"__\";\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nfunction useSubmit() {\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseSubmit);\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let currentRouteId = UNSAFE_useRouteId();\n  return React.useCallback(function (target, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    validateClientSideSubmission();\n    let {\n      action,\n      method,\n      encType,\n      formData,\n      body\n    } = getFormSubmissionInfo(target, basename);\n    if (options.navigate === false) {\n      let key = options.fetcherKey || getUniqueFetcherId();\n      router.fetch(key, currentRouteId, options.action || action, {\n        preventScrollReset: options.preventScrollReset,\n        formData,\n        body,\n        formMethod: options.method || method,\n        formEncType: options.encType || encType,\n        unstable_flushSync: options.unstable_flushSync\n      });\n    } else {\n      router.navigate(options.action || action, {\n        preventScrollReset: options.preventScrollReset,\n        formData,\n        body,\n        formMethod: options.method || method,\n        formEncType: options.encType || encType,\n        replace: options.replace,\n        state: options.state,\n        fromRouteId: currentRouteId,\n        unstable_flushSync: options.unstable_flushSync,\n        unstable_viewTransition: options.unstable_viewTransition\n      });\n    }\n  }, [router, basename, currentRouteId]);\n}\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nfunction useFormAction(action, _temp2) {\n  let {\n    relative\n  } = _temp2 === void 0 ? {} : _temp2;\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let routeContext = React.useContext(UNSAFE_RouteContext);\n  !routeContext ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFormAction must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n  let [match] = routeContext.matches.slice(-1);\n  // Shallow clone path so we can modify it below, otherwise we modify the\n  // object referenced by useMemo inside useResolvedPath\n  let path = _extends({}, useResolvedPath(action ? action : \".\", {\n    relative\n  }));\n  // If no action was specified, browsers will persist current search params\n  // when determining the path, so match that behavior\n  // https://github.com/remix-run/remix/issues/927\n  let location = useLocation();\n  if (action == null) {\n    // Safe to write to this directly here since if action was undefined, we\n    // would have called useResolvedPath(\".\") which will never include a search\n    path.search = location.search;\n    // When grabbing search params from the URL, remove any included ?index param\n    // since it might not apply to our contextual route.  We add it back based\n    // on match.route.index below\n    let params = new URLSearchParams(path.search);\n    if (params.has(\"index\") && params.get(\"index\") === \"\") {\n      params.delete(\"index\");\n      path.search = params.toString() ? \"?\" + params.toString() : \"\";\n    }\n  }\n  if ((!action || action === \".\") && match.route.index) {\n    path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n  }\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the form action.  If this is a root navigation, then just use\n  // the raw basename which allows the basename to have full control over the\n  // presence of a trailing slash on root actions\n  if (basename !== \"/\") {\n    path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n  return createPath(path);\n}\n// TODO: (v7) Change the useFetcher generic default from `any` to `unknown`\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nfunction useFetcher(_temp3) {\n  var _route$matches;\n  let {\n    key\n  } = _temp3 === void 0 ? {} : _temp3;\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseFetcher);\n  let state = useDataRouterState(DataRouterStateHook.UseFetcher);\n  let fetcherData = React.useContext(FetchersContext);\n  let route = React.useContext(UNSAFE_RouteContext);\n  let routeId = (_route$matches = route.matches[route.matches.length - 1]) == null ? void 0 : _route$matches.route.id;\n  !fetcherData ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a FetchersContext\") : UNSAFE_invariant(false) : void 0;\n  !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n  !(routeId != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n  // Fetcher key handling\n  // OK to call conditionally to feature detect `useId`\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  let defaultKey = useIdImpl ? useIdImpl() : \"\";\n  let [fetcherKey, setFetcherKey] = React.useState(key || defaultKey);\n  if (key && key !== fetcherKey) {\n    setFetcherKey(key);\n  } else if (!fetcherKey) {\n    // We will only fall through here when `useId` is not available\n    setFetcherKey(getUniqueFetcherId());\n  }\n  // Registration/cleanup\n  React.useEffect(() => {\n    router.getFetcher(fetcherKey);\n    return () => {\n      // Tell the router we've unmounted - if v7_fetcherPersist is enabled this\n      // will not delete immediately but instead queue up a delete after the\n      // fetcher returns to an `idle` state\n      router.deleteFetcher(fetcherKey);\n    };\n  }, [router, fetcherKey]);\n  // Fetcher additions\n  let load = React.useCallback((href, opts) => {\n    !routeId ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"No routeId available for fetcher.load()\") : UNSAFE_invariant(false) : void 0;\n    router.fetch(fetcherKey, routeId, href, opts);\n  }, [fetcherKey, routeId, router]);\n  let submitImpl = useSubmit();\n  let submit = React.useCallback((target, opts) => {\n    submitImpl(target, _extends({}, opts, {\n      navigate: false,\n      fetcherKey\n    }));\n  }, [fetcherKey, submitImpl]);\n  let FetcherForm = React.useMemo(() => {\n    let FetcherForm = /*#__PURE__*/React.forwardRef((props, ref) => {\n      return /*#__PURE__*/React.createElement(Form, _extends({}, props, {\n        navigate: false,\n        fetcherKey: fetcherKey,\n        ref: ref\n      }));\n    });\n    if (process.env.NODE_ENV !== \"production\") {\n      FetcherForm.displayName = \"fetcher.Form\";\n    }\n    return FetcherForm;\n  }, [fetcherKey]);\n  // Exposed FetcherWithComponents\n  let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n  let data = fetcherData.get(fetcherKey);\n  let fetcherWithComponents = React.useMemo(() => _extends({\n    Form: FetcherForm,\n    submit,\n    load\n  }, fetcher, {\n    data\n  }), [FetcherForm, submit, load, fetcher, data]);\n  return fetcherWithComponents;\n}\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nfunction useFetchers() {\n  let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n  return Array.from(state.fetchers.entries()).map(_ref11 => {\n    let [key, fetcher] = _ref11;\n    return _extends({}, fetcher, {\n      key\n    });\n  });\n}\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions = {};\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration(_temp4) {\n  let {\n    getKey,\n    storageKey\n  } = _temp4 === void 0 ? {} : _temp4;\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n  let {\n    restoreScrollPosition,\n    preventScrollReset\n  } = useDataRouterState(DataRouterStateHook.UseScrollRestoration);\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let location = useLocation();\n  let matches = useMatches();\n  let navigation = useNavigation();\n  // Trigger manual scroll restoration while we're active\n  React.useEffect(() => {\n    window.history.scrollRestoration = \"manual\";\n    return () => {\n      window.history.scrollRestoration = \"auto\";\n    };\n  }, []);\n  // Save positions on pagehide\n  usePageHide(React.useCallback(() => {\n    if (navigation.state === \"idle\") {\n      let key = (getKey ? getKey(location, matches) : null) || location.key;\n      savedScrollPositions[key] = window.scrollY;\n    }\n    try {\n      sessionStorage.setItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY, JSON.stringify(savedScrollPositions));\n    } catch (error) {\n      process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (\" + error + \").\") : void 0;\n    }\n    window.history.scrollRestoration = \"auto\";\n  }, [storageKey, getKey, navigation.state, location, matches]));\n  // Read in any saved scroll locations\n  if (typeof document !== \"undefined\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      try {\n        let sessionPositions = sessionStorage.getItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY);\n        if (sessionPositions) {\n          savedScrollPositions = JSON.parse(sessionPositions);\n        }\n      } catch (e) {\n        // no-op, use default empty object\n      }\n    }, [storageKey]);\n    // Enable scroll restoration in the router\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      let getKeyWithoutBasename = getKey && basename !== \"/\" ? (location, matches) => getKey( // Strip the basename to match useLocation()\n      _extends({}, location, {\n        pathname: stripBasename(location.pathname, basename) || location.pathname\n      }), matches) : getKey;\n      let disableScrollRestoration = router == null ? void 0 : router.enableScrollRestoration(savedScrollPositions, () => window.scrollY, getKeyWithoutBasename);\n      return () => disableScrollRestoration && disableScrollRestoration();\n    }, [router, basename, getKey]);\n    // Restore scrolling when state.restoreScrollPosition changes\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      // Explicit false means don't do anything (used for submissions)\n      if (restoreScrollPosition === false) {\n        return;\n      }\n      // been here before, scroll to it\n      if (typeof restoreScrollPosition === \"number\") {\n        window.scrollTo(0, restoreScrollPosition);\n        return;\n      }\n      // try to scroll to the hash\n      if (location.hash) {\n        let el = document.getElementById(decodeURIComponent(location.hash.slice(1)));\n        if (el) {\n          el.scrollIntoView();\n          return;\n        }\n      }\n      // Don't reset if this navigation opted out\n      if (preventScrollReset === true) {\n        return;\n      }\n      // otherwise go to the top on new locations\n      window.scrollTo(0, 0);\n    }, [location, restoreScrollPosition, preventScrollReset]);\n  }\n}\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction useBeforeUnload(callback, options) {\n  let {\n    capture\n  } = options || {};\n  React.useEffect(() => {\n    let opts = capture != null ? {\n      capture\n    } : undefined;\n    window.addEventListener(\"beforeunload\", callback, opts);\n    return () => {\n      window.removeEventListener(\"beforeunload\", callback, opts);\n    };\n  }, [callback, capture]);\n}\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.  This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(callback, options) {\n  let {\n    capture\n  } = options || {};\n  React.useEffect(() => {\n    let opts = capture != null ? {\n      capture\n    } : undefined;\n    window.addEventListener(\"pagehide\", callback, opts);\n    return () => {\n      window.removeEventListener(\"pagehide\", callback, opts);\n    };\n  }, [callback, capture]);\n}\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open.  Use at your own risk.\n */\nfunction usePrompt(_ref12) {\n  let {\n    when,\n    message\n  } = _ref12;\n  let blocker = useBlocker(when);\n  React.useEffect(() => {\n    if (blocker.state === \"blocked\") {\n      let proceed = window.confirm(message);\n      if (proceed) {\n        // This timeout is needed to avoid a weird \"race\" on POP navigations\n        // between the `window.history` revert navigation and the result of\n        // `window.confirm`\n        setTimeout(blocker.proceed, 0);\n      } else {\n        blocker.reset();\n      }\n    }\n  }, [blocker, message]);\n  React.useEffect(() => {\n    if (blocker.state === \"blocked\" && !when) {\n      blocker.reset();\n    }\n  }, [blocker, when]);\n}\n/**\n * Return a boolean indicating if there is an active view transition to the\n * given href.  You can use this value to render CSS classes or viewTransitionName\n * styles onto your elements\n *\n * @param href The destination href\n * @param [opts.relative] Relative routing type (\"route\" | \"path\")\n */\nfunction useViewTransitionState(to, opts) {\n  if (opts === void 0) {\n    opts = {};\n  }\n  let vtContext = React.useContext(ViewTransitionContext);\n  !(vtContext != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"`unstable_useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  \" + \"Did you accidentally import `RouterProvider` from `react-router`?\") : UNSAFE_invariant(false) : void 0;\n  let {\n    basename\n  } = useDataRouterContext(DataRouterHook.useViewTransitionState);\n  let path = useResolvedPath(to, {\n    relative: opts.relative\n  });\n  if (!vtContext.isTransitioning) {\n    return false;\n  }\n  let currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n  let nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n  // Transition is active if we're going to or coming from the indicated\n  // destination.  This ensures that other PUSH navigations that reverse\n  // an indicated transition apply.  I.e., on the list view you have:\n  //\n  //   <NavLink to=\"/details/1\" unstable_viewTransition>\n  //\n  // If you click the breadcrumb back to the list view:\n  //\n  //   <NavLink to=\"/list\" unstable_viewTransition>\n  //\n  // We should apply the transition because it's indicated as active going\n  // from /list -> /details/1 and therefore should be active on the reverse\n  // (even though this isn't strictly a POP reverse)\n  return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n//#endregion\n\nexport { BrowserRouter, Form, HashRouter, Link, NavLink, RouterProvider, ScrollRestoration, FetchersContext as UNSAFE_FetchersContext, ViewTransitionContext as UNSAFE_ViewTransitionContext, useScrollRestoration as UNSAFE_useScrollRestoration, createBrowserRouter, createHashRouter, createSearchParams, HistoryRouter as unstable_HistoryRouter, usePrompt as unstable_usePrompt, useViewTransitionState as unstable_useViewTransitionState, useBeforeUnload, useFetcher, useFetchers, useFormAction, useLinkClickHandler, useSearchParams, useSubmit };\n//# sourceMappingURL=index.js.map\n","import React       from 'react'\nimport { NavLink } from 'react-router-dom'\nimport { WithIcons, classes } from '@abw/badger-react-ui'\n\nconst InternalLink = ({\n  to,\n  exact,     // old name\n  end=exact, // new name\n  onClick,\n  label,\n  style,\n  linkRef,\n  size,\n  color,\n  button,\n  outline,\n  bare,\n  className,\n  activeClass='active',\n  codeClass='code',\n  disabled,\n  code,\n  text=code,\n  ...props\n}) =>\n  <NavLink\n    to={to}\n    onClick={onClick}\n    end={end}\n    className={\n      ({ isActive }) => classes(\n        className, size, color,\n        {\n          button, outline, bare, disabled,\n          [activeClass]: isActive,\n          [codeClass]: code,\n        }\n      )\n    }\n    aria-label={label}\n    style={style}\n    ref={linkRef}\n    disabled={disabled}\n  >\n    <WithIcons text={text} {...props}/>\n  </NavLink>\n\nexport default InternalLink\n","import React        from 'react'\nimport ExternalLink from './Link/External.jsx'\nimport InternalLink from './Link/Internal.jsx'\nimport { Themed }   from '@abw/badger-react-ui'\n\nconst LinkSwitch = ({\n  href,\n  ...props\n}) =>\n  href\n    ? <ExternalLink href={href} {...props}/>\n    : <InternalLink {...props}/>\n\nexport const Link = Themed(LinkSwitch, 'Link')\nexport default Link\n","import React from 'react'\nimport Link from '@/ui/Link.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Author = SiteConsumer(\n  ({ site }) =>\n    site.author\n      ? site.authorLink\n        ? <Link\n            href={site.authorLink}\n            className=\"author\"\n            targetBlank\n            text={site.author}\n          />\n        : <span className=\"author\">\n            {site.author}\n          </span>\n      : null\n)\n\nexport default Author\n\n","import React from 'react'\nimport { Icon } from '@abw/badger-react-ui'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const BadgerPower = SiteConsumer(\n  ({ site }) =>\n    Boolean(site.badgerpower) &&\n      <a href=\"https://badgerpower.com/\" target=\"_blank\" rel=\"noreferrer\">\n        <Icon name=\"badger-white\"/>\n      </a>\n)\n\nexport default BadgerPower\n\n","import React from 'react'\nimport { Icon } from '@abw/badger-react-ui'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const BadgerPowered = SiteConsumer(\n  ({ site }) =>\n    Boolean(site.badgerpower) &&\n      <a\n        href=\"https://badgerpower.com/\"\n        target=\"_blank\"\n        rel=\"noreferrer\"\n        className=\"flex gap-2 middle center\"\n      >\n        <Icon name=\"badger-white\" size=\"larger\"/>\n        Badger Powered\n      </a>\n)\n\nexport default BadgerPowered\n\n","import React from 'react'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Copyright = SiteConsumer(\n  ({ site }) =>\n    Boolean(site.copyright) &&\n      <span className=\"copyright\">\n        &copy; {site.copyright}\n      </span>\n)\n\nexport default Copyright\n\n","import React from 'react'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Release = SiteConsumer(\n  ({ site }) =>\n    <div className=\"flex gap-2 middle\">\n      <span className=\"version\">v{site.version}</span>\n      <span className=\"date\">{site.date}</span>\n    </div>\n)\n\nexport default Release\n\n","import React            from 'react'\nimport SiteAuthor       from './Author.jsx'\nimport SiteCopyright    from './Copyright.jsx'\nimport SitePowered      from './BadgerPowered.jsx'\nimport SiteRelease      from './Release.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Footer = SiteConsumer(\n  ({\n    Copyright=SiteCopyright,\n    Author=SiteAuthor,\n    Powered=SitePowered,\n    Release=SiteRelease\n  }) =>\n    <footer>\n      <nav className=\"flex space middle gap-4 stack-tablet\">\n        <div>\n          <Powered/>\n        </div>\n        <div className=\"flex gap-2 middle center\">\n          <Copyright/>\n          <Author/>\n        </div>\n        <div className=\"flex gap-2 middle center\">\n          <Release/>\n        </div>\n      </nav>\n    </footer>\n)\n\nexport default Footer\n\n","import React from 'react'\nimport Link from '@/ui/Link.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Repository = SiteConsumer(\n  ({ site, className='' }) =>\n    Boolean(site.repository) &&\n      <Link\n        href={site.repository}\n        targetBlank\n        className={`repository ${className}`}\n        icon={site.repoIcon || 'github'}\n      />\n)\n\nexport default Repository\n\n","import React          from 'react'\nimport Link           from '@/ui/Link.jsx'\nimport BadgerPower    from './BadgerPower.jsx'\nimport SiteRepository from './Repository.jsx'\nimport { Icon }       from '@abw/badger-react-ui'\nimport { Toggle }     from '@abw/react-night-and-day'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Header = SiteConsumer(\n  ({\n    sidebarIconClick,\n    site,\n    Repository=SiteRepository\n  }) =>\n    <header>\n      <nav>\n        <div className=\"flex baseline gap-2\">\n          <Icon\n            name=\"bars\"\n            className=\"toggle-sidebar action\"\n            onClick={sidebarIconClick}\n          />\n          <Link to=\"/\" className=\"home\" text={site.title}/>\n          <span className=\"small\">v{site.version}</span>\n        </div>\n        <div className=\"flex gap-4 middle\">\n          <BadgerPower/>\n          <Repository/>\n          <Toggle/>\n        </div>\n      </nav>\n    </header>\n)\n\nexport default Header","import { isArray } from '@abw/badger-utils'\n\nexport const toArray = item =>\n  isArray(item)\n    ? item\n    : [item]","import React from 'react'\nimport { toArray } from '@/utils/Coerce.jsx'\n\nexport const Hero = ({\n  logo,\n  title,\n  tagline,\n  overview,\n  underview,\n  stack='laptop'\n}) =>\n  <div className={`hero grid-2 gap-12 start stack-${stack}`}>\n    <div>\n      {logo}\n    </div>\n    <div>\n      <h1>\n        {title}\n      </h1>\n      { Boolean(tagline) &&\n      <h2>{tagline}</h2>\n      }\n      { Boolean(overview) &&\n      <div className=\"overview\">\n        { toArray(overview).map(\n          (p, n) =>\n            <p key={n}>{p}</p>\n        )}\n      </div>\n      }\n      { Boolean(underview) &&\n      <div className=\"underview\">\n        { toArray(underview).map(\n          (p, n) =>\n            <p key={n}>{p}</p>\n        )}\n      </div>\n      }\n    </div>\n  </div>\n\nexport default Hero","import * as React from \"react\";\nconst SvgOss = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: \"100%\", height: \"100%\", viewBox: \"0 0 440 440\", xmlns: \"http://www.w3.org/2000/svg\", style: {\n  fillRule: \"evenodd\",\n  clipRule: \"evenodd\",\n  strokeLinecap: \"round\",\n  strokeLinejoin: \"round\",\n  strokeMiterlimit: 1.5\n}, ...props }, /* @__PURE__ */ React.createElement(\"circle\", { className: \"inner-disc\", cx: 220, cy: 220, r: 144, style: {\n  strokeWidth: \"0.33px\"\n} }), /* @__PURE__ */ React.createElement(\"path\", { className: \"outer-ring\", d: \"M220,12C334.798,12 428,105.202 428,220C428,334.798 334.798,428 220,428C105.202,428 12,334.798 12,220C12,105.202 105.202,12 220,12ZM220,76C140.524,76 76,140.524 76,220C76,299.476 140.524,364 220,364C299.476,364 364,299.476 364,220C364,140.524 299.476,76 220,76Z\", style: {\n  strokeWidth: \"6.67px\"\n} }), /* @__PURE__ */ React.createElement(\"path\", { className: \"outer-text\", d: \"M41.319,232.772C38.119,232.829 35.878,232.789 34.556,232.652C33.233,232.516 32.025,232.097 30.891,231.317C29.797,230.537 28.939,229.512 28.315,228.163C27.731,226.853 27.383,225.299 27.351,223.499C27.321,221.82 27.574,220.295 28.11,218.925C28.645,217.555 29.466,216.461 30.532,215.641C31.636,214.782 32.828,214.28 34.145,214.097C35.421,213.914 37.7,213.793 40.979,213.735L46.378,213.638C49.538,213.582 51.819,213.621 53.142,213.758C54.464,213.894 55.672,214.313 56.766,215.093C57.9,215.873 58.758,216.898 59.343,218.248C59.966,219.557 60.274,221.112 60.306,222.912C60.336,224.591 60.083,226.116 59.547,227.486C59.052,228.855 58.231,229.95 57.126,230.769C56.021,231.629 54.829,232.131 53.553,232.313C52.236,232.497 49.957,232.618 46.718,232.675L41.319,232.772ZM51.53,224.348C53.01,224.322 53.968,224.225 54.365,224.058C54.762,223.891 54.957,223.567 54.947,223.047C54.94,222.607 54.774,222.29 54.45,222.056C54.126,221.862 53.124,221.759 51.484,221.789L36.727,222.052C34.887,222.085 33.769,222.185 33.331,222.313C32.934,222.48 32.7,222.844 32.71,223.364C32.72,223.924 32.966,224.279 33.489,224.43C33.972,224.581 35.173,224.64 37.012,224.607L51.53,224.348ZM60.115,235.306L61.347,243.494C61.681,245.709 61.739,247.439 61.562,248.68C61.424,249.914 61.047,250.901 60.464,251.596C59.92,252.284 59.189,252.799 58.275,253.179C57.356,253.52 55.95,253.853 53.972,254.151L51.243,254.562C49.265,254.859 47.772,254.882 46.796,254.584C45.827,254.325 45.002,253.681 44.361,252.645C43.719,251.609 43.228,250.226 42.96,248.447L42.632,246.271L30.054,248.165L28.827,240.017L60.115,235.306ZM55.962,244.264L48.012,245.461L48.101,246.054C48.214,246.806 48.45,247.296 48.887,247.514C49.285,247.737 50.06,247.782 51.207,247.609L53.778,247.222C54.846,247.061 55.534,246.796 55.797,246.392C56.066,246.028 56.117,245.293 55.962,244.264ZM65.668,263.888L35.019,271.744L32.973,263.762L63.622,255.906L65.668,263.888ZM73.017,284.844L43.393,295.958L40.864,289.217L52.805,280.165L39.36,285.21L36.944,278.768L66.567,267.654L68.984,274.095L57.267,283.404L70.6,278.402L73.017,284.844ZM78.538,295.659L50.283,309.897L46.575,302.539L74.83,288.301L78.538,295.659ZM74.884,324.988C72.198,326.727 70.274,327.877 69.079,328.459C67.884,329.042 66.637,329.325 65.262,329.262C63.921,329.177 62.651,328.76 61.408,327.945C60.221,327.141 59.105,326.005 58.127,324.494C57.214,323.084 56.623,321.655 56.354,320.209C56.085,318.763 56.204,317.4 56.676,316.142C57.159,314.828 57.906,313.773 58.927,312.922C59.915,312.092 61.786,310.786 64.539,309.004L69.073,306.07C71.725,304.353 73.683,303.181 74.878,302.598C76.073,302.015 77.32,301.733 78.661,301.817C80.036,301.88 81.306,302.297 82.515,303.135C83.736,303.917 84.819,305.074 85.797,306.585C86.71,307.996 87.3,309.424 87.569,310.87C87.872,312.294 87.753,313.657 87.248,314.937C86.764,316.251 86.017,317.306 85.03,318.136C84.008,318.987 82.138,320.293 79.418,322.054L74.884,324.988ZM79.105,312.441C80.347,311.637 81.11,311.048 81.358,310.697C81.607,310.345 81.601,309.968 81.319,309.531C81.08,309.162 80.772,308.98 80.372,308.952C79.995,308.958 79.09,309.401 77.714,310.292L65.322,318.312C63.778,319.312 62.881,319.987 62.577,320.327C62.328,320.679 62.322,321.111 62.605,321.548C62.909,322.018 63.306,322.19 63.829,322.042C64.319,321.915 65.37,321.33 66.915,320.331L79.105,312.441ZM104.097,331.146L80.061,351.721L75.379,346.251L83.505,333.662L72.595,343L68.121,337.773L92.158,317.198L96.632,322.425L88.805,335.179L99.624,325.92L104.097,331.146ZM116.973,342.973L99.303,369.64L93.032,363.991L96.536,359.503L94.337,357.522L90.179,361.421L83.849,355.718L108.146,335.022L116.973,342.973ZM100.106,355.182C102.219,352.239 104.837,348.676 108.073,344.485C103.407,348.41 100.049,351.361 98.026,353.308L100.106,355.182ZM133.778,355.495L130.062,360.657L126.102,357.806L111.332,378.323L104.645,373.509L119.414,352.992L115.486,350.164L119.202,345.002L133.778,355.495ZM135.754,356.629L147.731,363.322L144.628,368.874L139.845,366.2L136.918,371.438L141.387,373.936L138.46,379.173L133.991,376.676L130.596,382.752L135.833,385.678L132.75,391.196L120.32,384.249L135.754,356.629ZM150.451,364.831L156.15,367.169C159.813,368.672 162.217,369.874 163.376,370.738C164.534,371.603 165.306,372.568 165.653,373.618C166,374.669 166.095,375.702 165.849,376.725C165.654,377.726 164.969,379.607 163.83,382.382L159.625,392.633C158.547,395.261 157.708,396.991 157.099,397.736C156.476,398.518 155.781,399.054 154.939,399.314C154.149,399.553 153.22,399.604 152.256,399.424C151.255,399.23 149.84,398.779 148.027,398.035L138.442,394.103L150.451,364.831ZM156.01,372.991L148.115,392.235C149.188,392.675 149.946,392.726 150.387,392.388C150.828,392.051 151.462,390.927 152.267,388.966L156.927,377.605C157.474,376.272 157.749,375.391 157.827,374.99C157.904,374.59 157.826,374.255 157.569,373.933C157.348,373.627 156.824,373.325 156.01,372.991ZM194.889,388.345L187.399,386.838L187.865,384.525C188.078,383.466 188.102,382.736 187.961,382.422C187.828,382.069 187.538,381.888 187.107,381.802C186.636,381.707 186.205,381.824 185.891,382.169C185.537,382.506 185.301,383.07 185.135,383.894C184.93,384.913 184.929,385.729 185.101,386.294C185.265,386.899 185.884,387.676 186.989,388.673C190.171,391.517 192.051,393.731 192.724,395.254C193.389,396.816 193.418,399.106 192.802,402.165C192.361,404.361 191.755,405.953 191.04,406.87C190.317,407.826 189.124,408.484 187.484,408.929C185.891,409.343 184.095,409.349 182.134,408.954C179.977,408.52 178.221,407.718 176.857,406.587C175.486,405.495 174.679,404.231 174.461,402.882C174.243,401.532 174.37,399.681 174.836,397.367L175.246,395.328L182.736,396.835L181.979,400.599C181.742,401.776 181.71,402.545 181.843,402.898C182.007,403.298 182.328,403.526 182.877,403.636C183.387,403.739 183.866,403.59 184.18,403.246C184.541,402.869 184.785,402.266 184.951,401.442C185.322,399.599 185.323,398.375 184.924,397.724C184.532,397.033 183.467,395.839 181.727,394.143C179.995,392.407 178.859,391.159 178.35,390.444C177.802,389.722 177.419,388.788 177.2,387.642C176.982,386.497 177.062,385.085 177.393,383.438C177.875,381.046 178.535,379.384 179.345,378.404C180.193,377.432 181.347,376.767 182.798,376.447C184.297,376.095 185.968,376.105 187.89,376.492C189.968,376.91 191.709,377.586 193.057,378.592C194.374,379.551 195.18,380.611 195.446,381.725C195.711,382.839 195.631,384.659 195.142,387.09L194.889,388.345ZM200.214,379.311L213.892,380.38L213.397,386.721L207.933,386.294L207.466,392.276L212.57,392.675L212.102,398.657L206.998,398.257L206.456,405.196L212.437,405.664L211.945,411.965L197.748,410.855L200.214,379.311ZM225.777,380.267L226.42,405.578L231.418,405.452L231.578,411.77L218.342,412.105L217.54,380.476L225.777,380.267ZM233.537,379.948L247.346,378.191L248.149,384.5L242.514,385.217L243.272,391.169L248.311,390.528L249.069,396.479L244.029,397.121L245.706,410.295L237.532,411.335L233.537,379.948ZM258.549,375.749L265.335,406.653L257.287,408.42L250.501,377.517L258.549,375.749ZM281.962,378.541L274.713,380.955L273.968,378.716C273.626,377.691 273.285,377.046 273.007,376.844C272.716,376.603 272.374,376.591 271.957,376.73C271.501,376.882 271.185,377.198 271.084,377.653C270.945,378.121 271.02,378.728 271.286,379.525C271.615,380.512 272.019,381.22 272.449,381.625C272.892,382.068 273.815,382.435 275.27,382.751C279.444,383.638 282.176,384.625 283.516,385.612C284.869,386.637 286.033,388.61 287.019,391.57C287.727,393.696 287.992,395.378 287.827,396.529C287.675,397.718 286.967,398.882 285.765,400.083C284.588,401.234 283.032,402.132 281.135,402.764C279.047,403.459 277.125,403.636 275.379,403.332C273.646,403.066 272.318,402.37 271.458,401.307C270.598,400.244 269.789,398.574 269.043,396.335L268.386,394.362L275.635,391.947L276.848,395.591C277.227,396.729 277.581,397.412 277.872,397.653C278.214,397.918 278.606,397.956 279.137,397.779C279.63,397.615 279.972,397.248 280.073,396.793C280.2,396.287 280.112,395.642 279.846,394.845C279.252,393.061 278.645,391.999 277.975,391.632C277.292,391.227 275.774,390.721 273.421,390.113C271.056,389.467 269.45,388.948 268.653,388.581C267.818,388.227 267.021,387.607 266.263,386.721C265.504,385.836 264.872,384.571 264.341,382.977C263.57,380.662 263.317,378.891 263.532,377.639C263.786,376.374 264.456,375.223 265.557,374.224C266.683,373.174 268.138,372.352 269.997,371.733C272.009,371.063 273.855,370.785 275.525,370.988C277.144,371.165 278.371,371.684 279.155,372.519C279.939,373.354 280.774,374.973 281.557,377.326L281.962,378.541ZM298.791,359.997L312.694,388.418L305.293,392.039L299.457,380.11L297.265,381.182L303.101,393.111L295.699,396.732L281.795,368.311L289.197,364.69L294.172,374.858L296.363,373.786L291.389,363.618L298.791,359.997ZM328.977,350.672L322.871,355.265L321.453,353.379C320.804,352.515 320.275,352.012 319.947,351.909C319.595,351.773 319.267,351.87 318.915,352.134C318.532,352.423 318.332,352.823 318.381,353.287C318.397,353.775 318.662,354.326 319.167,354.998C319.792,355.829 320.401,356.372 320.937,356.619C321.498,356.898 322.49,356.953 323.97,356.791C328.209,356.305 331.113,356.373 332.698,356.883C334.306,357.425 336.036,358.927 337.912,361.42C339.258,363.21 340.044,364.721 340.254,365.865C340.488,367.04 340.185,368.369 339.428,369.89C338.678,371.355 337.487,372.701 335.889,373.903C334.131,375.225 332.364,376.004 330.612,376.27C328.885,376.568 327.404,376.33 326.251,375.596C325.098,374.862 323.8,373.535 322.382,371.649L321.132,369.987L327.237,365.395L329.546,368.463C330.267,369.422 330.82,369.958 331.172,370.093C331.58,370.237 331.964,370.148 332.411,369.812C332.827,369.499 333.034,369.043 332.986,368.579C332.945,368.059 332.656,367.475 332.151,366.804C331.021,365.301 330.108,364.487 329.356,364.352C328.58,364.185 326.98,364.187 324.556,364.358C322.108,364.498 320.42,364.516 319.548,364.421C318.644,364.35 317.691,364.016 316.691,363.417C315.69,362.818 314.688,361.82 313.679,360.477C312.212,358.527 311.41,356.928 311.216,355.673C311.054,354.393 311.324,353.088 312.051,351.791C312.785,350.438 313.903,349.197 315.47,348.019C317.164,346.744 318.827,345.894 320.474,345.556C322.066,345.21 323.394,345.312 324.403,345.854C325.411,346.397 326.717,347.667 328.208,349.649L328.977,350.672ZM352.018,341.021C354.259,343.305 355.771,344.96 356.581,346.015C357.391,347.069 357.917,348.234 358.13,349.594C358.315,350.925 358.161,352.253 357.61,353.634C357.06,354.958 356.17,356.279 354.885,357.539C353.686,358.715 352.405,359.58 351.041,360.132C349.678,360.685 348.319,360.841 346.992,360.631C345.608,360.419 344.425,359.899 343.386,359.068C342.376,358.266 340.722,356.695 338.425,354.353L334.644,350.498C332.431,348.242 330.892,346.558 330.082,345.504C329.272,344.449 328.746,343.285 328.561,341.953C328.348,340.594 328.502,339.266 329.081,337.914C329.603,336.561 330.521,335.269 331.806,334.008C333.005,332.832 334.286,331.967 335.649,331.415C336.984,330.834 338.343,330.677 339.699,330.917C341.083,331.128 342.266,331.649 343.276,332.45C344.315,333.281 345.968,334.852 348.237,337.166L352.018,341.021ZM338.881,339.394C337.845,338.338 337.116,337.708 336.721,337.535C336.327,337.361 335.959,337.443 335.587,337.807C335.273,338.115 335.157,338.453 335.21,338.85C335.291,339.218 335.905,340.016 337.054,341.187L347.389,351.724C348.678,353.038 349.519,353.782 349.913,354.012C350.307,354.185 350.732,354.104 351.103,353.74C351.503,353.348 351.592,352.925 351.342,352.442C351.12,351.987 350.337,351.074 349.049,349.76L338.881,339.394ZM341.099,325.297L349.778,314.415L354.751,318.38L351.209,322.821L355.9,326.562L359.067,322.591L363.758,326.332L360.59,330.303L370.973,338.584L365.835,345.026L341.099,325.297ZM360.217,298.339L365.582,301.754L362.962,305.871L384.287,319.447L379.862,326.398L358.537,312.822L355.937,316.905L350.572,313.489L360.217,298.339ZM373.724,268.616L401.315,284.523L397.232,293.957C392.425,292.879 387.026,291.458 381.05,289.656C383.345,290.998 388.109,293.888 395.342,298.326L391.291,307.687L360.792,298.497L363.969,291.155L374.435,294.769L384.533,298.224C379.631,295.754 373.288,292.181 365.542,287.521L368.942,279.665C369.87,279.936 373.139,281.046 378.872,283.004L390.287,286.942C383.414,283.488 376.851,279.819 370.562,275.921L373.724,268.616ZM376.781,254.323L408.604,257.594L406.512,265.77L400.91,264.75L400.176,267.617L405.56,269.49L403.448,277.745L373.836,265.832L376.781,254.323ZM395.425,263.594C391.838,263.089 387.466,262.425 382.252,261.503C387.895,263.814 392.068,265.419 394.731,266.307L395.425,263.594ZM378.103,248.493L378.802,242.694C379.266,238.842 379.736,236.28 380.221,234.928C380.661,233.612 381.55,232.591 382.886,231.865C384.218,231.18 386.216,230.977 388.877,231.298C391.339,231.594 392.929,232.108 393.691,232.804C394.454,233.5 394.826,234.754 394.77,236.56C395.359,235.02 396.048,233.975 396.791,233.5C397.533,233.025 398.167,232.779 398.781,232.692C399.352,232.64 400.91,232.747 403.452,233.053L411.712,234.049L410.798,241.634L400.354,240.375C398.686,240.175 397.639,240.169 397.208,240.399C396.778,240.63 396.498,241.281 396.364,242.393L410.502,244.096L409.516,252.277L378.103,248.493ZM384.49,240.962L391.479,241.804C391.589,240.891 391.507,240.236 391.312,239.85C391.116,239.464 390.306,239.165 388.916,238.998L387.209,238.792C386.216,238.672 385.522,238.75 385.161,239.069C384.84,239.393 384.6,240.049 384.49,240.962ZM380.371,226.869L380.35,213.149L386.71,213.139L386.718,218.619L392.718,218.61L392.71,213.49L398.71,213.48L398.718,218.6L405.678,218.589L405.669,212.589L411.989,212.579L412.011,226.819L380.371,226.869ZM65.814,139.849C68.729,141.171 70.736,142.169 71.872,142.859C73.008,143.55 73.919,144.446 74.609,145.637C75.262,146.812 75.598,148.106 75.583,149.592C75.548,151.026 75.195,152.579 74.452,154.218C73.759,155.748 72.876,157.017 71.804,158.024C70.733,159.032 69.522,159.669 68.208,159.951C66.841,160.254 65.55,160.196 64.281,159.796C63.05,159.414 60.94,158.545 57.953,157.191L53.034,154.961C50.156,153.656 48.113,152.642 46.977,151.951C45.841,151.261 44.929,150.364 44.276,149.19C43.586,147.999 43.251,146.705 43.302,145.235C43.301,143.785 43.69,142.248 44.433,140.609C45.127,139.079 46.009,137.81 47.081,136.803C48.116,135.779 49.327,135.142 50.677,134.876C52.044,134.573 53.335,134.631 54.567,135.014C55.836,135.414 57.945,136.282 60.896,137.62L65.814,139.849ZM52.976,143.077C51.628,142.466 50.721,142.142 50.291,142.123C49.86,142.103 49.546,142.312 49.331,142.786C49.15,143.186 49.163,143.544 49.356,143.895C49.564,144.209 50.426,144.731 51.919,145.408L65.362,151.503C67.038,152.262 68.091,152.652 68.542,152.724C68.972,152.744 69.339,152.515 69.554,152.041C69.785,151.531 69.715,151.104 69.308,150.744C68.937,150.4 67.877,149.832 66.201,149.072L52.976,143.077ZM52.319,126.004L56.705,118.981C57.892,117.081 58.972,115.728 59.913,114.901C60.82,114.053 61.749,113.548 62.643,113.399C63.504,113.229 64.394,113.314 65.336,113.619C66.256,113.958 67.541,114.619 69.237,115.678L71.578,117.14C73.275,118.2 74.424,119.153 74.971,120.014C75.54,120.84 75.748,121.866 75.562,123.07C75.376,124.275 74.85,125.644 73.897,127.171L72.732,129.037L83.52,135.775L79.156,142.764L52.319,126.004ZM61.298,121.897L68.117,126.156L68.435,125.647C68.838,125.002 68.978,124.476 68.787,124.027C68.63,123.599 68.07,123.06 67.086,122.446L64.88,121.069C63.964,120.497 63.269,120.251 62.807,120.387C62.366,120.489 61.849,121.015 61.298,121.897ZM65.491,105.806L74.058,95.089L79.026,99.06L75.604,103.341L80.291,107.087L83.488,103.088L88.174,106.834L84.977,110.834L90.414,115.179L94.16,110.493L99.097,114.439L90.205,125.562L65.491,105.806ZM91.595,76.985L113.834,99.49L108.713,104.551L95.575,97.345L105.668,107.559L100.775,112.395L78.535,89.89L83.429,85.054L96.71,91.949L86.701,81.82L91.595,76.985ZM125.69,63.611L119.349,67.872L118.033,65.913C117.43,65.017 116.929,64.486 116.607,64.365C116.262,64.211 115.93,64.29 115.565,64.536C115.166,64.803 114.946,65.192 114.97,65.658C114.961,66.146 115.196,66.711 115.664,67.409C116.244,68.272 116.823,68.846 117.346,69.122C117.89,69.431 118.878,69.538 120.364,69.455C124.624,69.195 127.52,69.417 129.075,70.011C130.653,70.637 132.301,72.229 134.041,74.818C135.29,76.677 135.995,78.228 136.144,79.381C136.314,80.568 135.942,81.878 135.104,83.357C134.277,84.78 133.017,86.06 131.357,87.176C129.531,88.403 127.726,89.086 125.962,89.259C124.221,89.465 122.756,89.149 121.643,88.354C120.531,87.56 119.306,86.166 117.989,84.207L116.829,82.481L123.17,78.22L125.312,81.407C125.981,82.403 126.505,82.967 126.849,83.121C127.249,83.286 127.637,83.218 128.102,82.905C128.534,82.615 128.765,82.171 128.741,81.705C128.728,81.184 128.471,80.585 128.002,79.888C126.954,78.328 126.085,77.466 125.341,77.291C124.575,77.083 122.977,77 120.548,77.042C118.096,77.051 116.409,76.98 115.544,76.839C114.645,76.72 113.711,76.335 112.744,75.684C111.776,75.033 110.829,73.983 109.892,72.589C108.531,70.563 107.815,68.924 107.688,67.66C107.595,66.373 107.934,65.085 108.728,63.829C109.533,62.516 110.716,61.336 112.343,60.243C114.102,59.06 115.808,58.3 117.471,58.05C119.079,57.788 120.4,57.961 121.378,58.557C122.357,59.152 123.593,60.49 124.976,62.548L125.69,63.611ZM151.705,60.191C153.126,63.059 154.048,65.102 154.491,66.356C154.934,67.609 155.072,68.88 154.852,70.239C154.615,71.562 154.056,72.776 153.103,73.917C152.169,75.005 150.913,75.984 149.3,76.783C147.795,77.529 146.308,77.953 144.841,78.055C143.374,78.156 142.033,77.883 140.837,77.27C139.587,76.64 138.624,75.777 137.895,74.666C137.184,73.59 136.1,71.582 134.644,68.643L132.247,63.804C130.844,60.972 129.904,58.894 129.461,57.64C129.019,56.386 128.881,55.115 129.118,53.793C129.338,52.434 129.897,51.219 130.867,50.114C131.783,48.99 133.057,48.047 134.67,47.248C136.175,46.502 137.662,46.079 139.129,45.977C140.579,45.839 141.919,46.112 143.133,46.761C144.383,47.392 145.346,48.254 146.057,49.33C146.787,50.442 147.87,52.449 149.309,55.353L151.705,60.191ZM139.723,54.566C139.066,53.239 138.568,52.415 138.247,52.127C137.927,51.84 137.551,51.803 137.085,52.033C136.691,52.229 136.475,52.514 136.402,52.907C136.365,53.283 136.701,54.232 137.429,55.702L143.981,68.928C144.797,70.577 145.366,71.545 145.669,71.886C145.99,72.173 146.419,72.229 146.885,71.998C147.387,71.749 147.603,71.375 147.516,70.838C147.446,70.336 146.985,69.226 146.168,67.577L139.723,54.566ZM167.692,34.963L174.441,55.018C175.206,57.293 175.666,58.911 175.821,59.871C176.013,60.82 175.878,61.92 175.489,63.149C175.088,64.339 174.357,65.429 173.348,66.317C172.3,67.218 170.987,67.956 169.395,68.491C167.613,69.091 165.919,69.324 164.35,69.176C162.794,69.067 161.502,68.615 160.501,67.897C159.499,67.179 158.751,66.334 158.28,65.311C157.809,64.287 156.98,62.076 155.845,58.702L149.874,40.96L157.683,38.332L165.249,60.813C165.696,62.14 166.052,62.948 166.281,63.251C166.56,63.579 166.927,63.667 167.344,63.526C167.837,63.36 168.076,63.069 168.088,62.601C168.099,62.133 167.856,61.159 167.358,59.681L159.92,37.579L167.692,34.963ZM174.727,33.131L180.462,32.033C184.273,31.303 186.857,30.972 188.292,31.023C189.681,31.042 190.923,31.578 192.021,32.631C193.079,33.691 193.88,35.533 194.383,38.165C194.85,40.601 194.844,42.272 194.412,43.21C193.981,44.147 192.9,44.884 191.162,45.379C192.809,45.471 194.014,45.811 194.692,46.373C195.37,46.936 195.797,47.465 196.067,48.024C196.29,48.552 196.662,50.069 197.143,52.583L198.707,60.755L191.204,62.191L189.226,51.859C188.91,50.209 188.597,49.21 188.246,48.87C187.896,48.53 187.191,48.461 186.091,48.671L188.768,62.658L180.675,64.207L174.727,33.131ZM183.842,36.925L185.166,43.839C186.069,43.666 186.668,43.389 186.976,43.085C187.285,42.782 187.323,41.919 187.06,40.544L186.737,38.855C186.549,37.873 186.264,37.235 185.85,36.988C185.444,36.781 184.746,36.752 183.842,36.925ZM219.815,41.52L211.587,41.97L211.288,36.498C211.198,34.861 211.064,33.867 210.884,33.516C210.663,33.128 210.292,32.947 209.693,32.98C209.014,33.017 208.588,33.281 208.454,33.769C208.281,34.259 208.258,35.302 208.345,36.9L209.148,51.558C209.231,53.076 209.367,54.11 209.591,54.538C209.777,55.009 210.19,55.226 210.829,55.191C211.468,55.156 211.854,54.895 211.987,54.407C212.163,53.957 212.182,52.834 212.088,51.116L211.871,47.162L220.099,46.712L220.165,47.91C220.344,51.185 220.231,53.515 219.866,54.897C219.461,56.281 218.528,57.534 216.987,58.66C215.447,59.786 213.558,60.41 211.241,60.537C208.845,60.668 206.824,60.338 205.218,59.545C203.612,58.751 202.508,57.61 201.904,56.08C201.342,54.589 200.935,52.288 200.765,49.172L200.26,39.946C200.135,37.67 200.123,35.988 200.22,34.821C200.318,33.694 200.736,32.549 201.438,31.469C202.138,30.349 203.173,29.491 204.498,28.818C205.861,28.102 207.403,27.738 209.2,27.639C211.597,27.508 213.62,27.878 215.268,28.709C216.876,29.543 217.98,30.684 218.536,32.056C219.132,33.425 219.489,35.569 219.651,38.524L219.815,41.52ZM226.051,27.944L239.739,28.872L239.309,35.218L233.841,34.847L233.435,40.833L238.544,41.179L238.137,47.166L233.029,46.819L232.558,53.763L238.544,54.169L238.117,60.475L223.909,59.511L226.051,27.944ZM272.132,44.93L264.713,43.105L265.276,40.813C265.534,39.765 265.59,39.037 265.462,38.717C265.344,38.359 265.062,38.166 264.635,38.061C264.169,37.946 263.733,38.045 263.404,38.376C263.037,38.697 262.777,39.251 262.576,40.067C262.328,41.077 262.292,41.892 262.44,42.464C262.578,43.074 263.163,43.877 264.225,44.921C267.282,47.898 269.067,50.19 269.674,51.74C270.272,53.329 270.203,55.618 269.458,58.648C268.923,60.823 268.25,62.388 267.497,63.274C266.734,64.198 265.514,64.804 263.856,65.179C262.247,65.525 260.452,65.454 258.51,64.977C256.373,64.451 254.653,63.575 253.339,62.387C252.015,61.237 251.263,59.94 251.102,58.583C250.942,57.225 251.148,55.381 251.712,53.089L252.209,51.069L259.628,52.894L258.711,56.623C258.424,57.788 258.359,58.555 258.477,58.913C258.624,59.32 258.935,59.562 259.479,59.695C259.984,59.82 260.469,59.692 260.797,59.36C261.174,59 261.444,58.407 261.644,57.592C262.093,55.766 262.147,54.543 261.775,53.875C261.414,53.169 260.4,51.931 258.734,50.162C257.078,48.354 255.996,47.058 255.518,46.322C255.001,45.577 254.658,44.628 254.489,43.474C254.319,42.32 254.459,40.913 254.861,39.282C255.443,36.912 256.174,35.28 257.025,34.335C257.913,33.401 259.095,32.785 260.559,32.527C262.071,32.24 263.74,32.321 265.643,32.789C267.702,33.295 269.412,34.045 270.716,35.108C271.991,36.121 272.752,37.215 272.97,38.339C273.187,39.464 273.029,41.279 272.437,43.687L272.132,44.93ZM292.077,61.866C290.909,64.845 290.018,66.902 289.387,68.072C288.756,69.243 287.909,70.199 286.755,70.95C285.616,71.664 284.341,72.066 282.856,72.129C281.423,72.168 279.854,71.897 278.178,71.24C276.614,70.627 275.301,69.812 274.239,68.794C273.177,67.776 272.478,66.6 272.127,65.303C271.754,63.953 271.745,62.661 272.078,61.374C272.396,60.123 273.153,57.972 274.35,54.918L276.321,49.89C277.474,46.948 278.381,44.854 279.011,43.684C279.642,42.513 280.49,41.557 281.629,40.843C282.782,40.092 284.057,39.69 285.527,39.665C286.975,39.588 288.53,39.896 290.206,40.553C291.77,41.166 293.083,41.982 294.145,42.999C295.221,43.98 295.92,45.156 296.256,46.491C296.63,47.84 296.639,49.132 296.321,50.383C295.988,51.67 295.23,53.822 294.048,56.838L292.077,61.866ZM288.186,49.213C288.726,47.836 289.002,46.913 288.999,46.482C288.996,46.051 288.771,45.748 288.287,45.558C287.877,45.398 287.521,45.43 287.181,45.64C286.878,45.865 286.401,46.752 285.803,48.279L280.416,62.021C279.745,63.734 279.411,64.806 279.362,65.26C279.365,65.691 279.612,66.045 280.097,66.235C280.618,66.44 281.041,66.347 281.379,65.922C281.704,65.533 282.216,64.445 282.887,62.732L288.186,49.213ZM305.248,47.78L317.483,54.419L314.45,60.009L309.458,57.3L306.596,62.574L311.062,64.997L308.2,70.27L303.735,67.848L297.402,79.521L290.16,75.591L305.248,47.78ZM336.214,66.91L332.603,72.146L328.586,69.376L314.235,90.188L307.451,85.51L321.802,64.698L317.818,61.951L321.428,56.715L336.214,66.91ZM364.183,92.203L339.722,112.6L332.279,105.509C334.952,101.37 338.151,96.794 341.907,91.809C339.854,93.499 335.496,96.971 328.833,102.225L321.448,95.189L340.609,69.743L346.401,75.262L339.394,83.834L332.663,92.117C336.674,88.37 342.219,83.653 349.268,77.993L355.466,83.898C354.89,84.676 352.72,87.36 348.901,92.064L341.262,101.415C346.878,96.158 352.588,91.267 358.42,86.712L364.183,92.203ZM375.916,107.812L353.681,130.812L348.545,124.115L352.809,120.341L351.008,117.992L346.209,121.067L341.024,114.307L368.687,98.385L375.916,107.812ZM357.107,116.742C359.72,114.234 362.944,111.208 366.89,107.677C361.586,110.686 357.747,112.975 355.403,114.521L357.107,116.742ZM381.75,116.129L384.673,121.184C386.616,124.543 387.779,126.874 388.203,128.246C388.641,129.564 388.544,130.914 387.911,132.296C387.258,133.644 385.782,135.006 383.462,136.348C381.315,137.589 379.735,138.133 378.708,138.035C377.68,137.936 376.629,137.157 375.589,135.679C376.044,137.264 376.12,138.514 375.812,139.34C375.504,140.165 375.144,140.742 374.705,141.181C374.28,141.565 372.97,142.416 370.754,143.697L363.551,147.862L359.727,141.249L368.834,135.982C370.288,135.141 371.128,134.516 371.334,134.074C371.54,133.631 371.373,132.942 370.812,131.973L358.485,139.102L354.36,131.969L381.75,116.129ZM381.166,125.985L375.071,129.51C375.532,130.306 375.991,130.78 376.379,130.972C376.767,131.163 377.594,130.916 378.806,130.215L380.295,129.354C381.161,128.853 381.669,128.374 381.766,127.902C381.828,127.451 381.626,126.782 381.166,125.985ZM394.047,138.523L399.41,151.152L393.555,153.638L391.414,148.594L385.891,150.939L387.892,155.651L382.369,157.996L380.368,153.284L373.962,156.004L376.307,161.527L370.49,163.997L364.924,150.89L394.047,138.523Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"oss\", d: \"M184.955,228.867C188.721,238.945 188.513,248.571 184.331,257.744C180.149,266.917 173.328,273.271 163.868,276.806C162.694,277.245 161.783,276.599 161.136,274.868C160.466,273.075 160.618,271.785 161.592,270.998C165.55,268.391 167.432,264.376 167.237,258.953C167.118,255.615 165.001,248.444 160.888,237.438C158.162,230.143 155.958,225.188 154.277,222.575C150.745,216.708 146.627,213.702 141.923,213.557C140.501,214.089 139.223,212.84 138.091,209.81C137.167,207.337 137.447,205.823 138.931,205.269C147.834,201.941 156.818,202.6 165.882,207.246C174.969,211.953 181.327,219.16 184.955,228.867ZM154.841,276.691C155.65,278.855 155.467,280.157 154.292,280.596C144.462,284.27 134.975,283.869 125.834,279.394C116.823,275.08 110.469,267.978 106.772,258.085C103.145,248.378 103.217,238.768 106.99,229.254C110.725,219.826 117.074,213.437 126.039,210.086C127.029,209.717 127.959,210.038 128.831,211.051C129.61,211.817 130.208,212.756 130.624,213.869C131.017,214.92 131.112,215.836 130.911,216.616C130.678,217.125 129.963,217.851 128.764,218.792C127.404,219.864 126.471,220.952 125.968,222.057C125.054,223.948 124.673,226.416 124.824,229.46C125.129,232.728 126.46,237.515 128.817,243.822L132.768,254.395C136.096,263.298 139.268,269.053 142.286,271.66C145.11,274.127 148.362,275.097 152.04,274.568C152.395,274.576 152.932,274.692 153.65,274.917C154.144,275.296 154.541,275.888 154.841,276.691ZM242.304,166.531L250.75,188.847L244.327,191.459C243.207,191.102 241.934,189.957 240.507,188.025C238.841,185.829 237.838,184.653 237.498,184.498C232.627,181.457 228.398,180.606 224.812,181.946C223.452,182.455 222.252,181.318 221.212,178.535C220.38,176.31 220.332,174.954 221.066,174.468L222.364,173.983C223.539,173.544 225.332,173.437 227.742,173.664C230.152,173.891 231.851,173.82 232.84,173.45C234.51,172.826 235.717,171.247 236.461,168.714L242.304,166.531ZM263.863,212.907C266.451,219.832 265.806,226.591 261.928,233.184C258.136,239.252 252.716,243.602 245.667,246.237C244.493,246.676 243.374,245.473 242.311,242.629C241.294,239.908 241.254,238.197 242.189,237.495C242.638,237.187 243.283,236.84 244.126,236.455C246.622,235.028 248.416,233.512 249.508,231.907C250.599,230.301 250.832,228.663 250.208,226.994C248.984,223.717 246.104,222.045 241.569,221.978C240.125,221.884 235.883,222.412 228.844,223.563C221.782,224.652 215.452,224.023 209.854,221.676C203.537,219.104 199.281,214.881 197.086,209.008C194.845,203.01 194.983,196.969 197.501,190.885C200.103,184.839 204.403,180.695 210.401,178.454C211.204,178.153 212.042,178.51 212.914,179.523C213.608,180.25 214.129,181.077 214.476,182.004C215.284,184.168 215.171,185.655 214.134,186.465C212.318,187.637 210.964,189.2 210.073,191.154C209.02,193.238 208.864,195.27 209.603,197.248C209.973,198.238 210.694,199.131 211.767,199.928C215.673,202.837 220.643,203.41 226.679,201.648C228.703,201.032 230.917,200.451 233.321,199.906C235.724,199.36 238.366,198.795 241.249,198.211C245.088,198.115 248.954,199.031 252.845,200.959C258.25,203.731 261.922,207.713 263.863,212.907ZM214.54,257.975L205.898,235.415L212.483,232.954C213.603,233.311 214.888,234.486 216.338,236.481C217.857,238.661 218.829,239.848 219.254,240.042C224.063,243.107 228.323,243.946 232.032,242.559C233.393,242.051 234.593,243.188 235.632,245.97C236.464,248.196 236.471,249.533 235.651,249.98C235.489,250.111 235.098,250.292 234.48,250.523C233.244,250.985 231.42,251.103 229.01,250.876C226.6,250.649 224.931,250.709 224.004,251.056C222.335,251.68 221.128,253.258 220.383,255.791L214.54,257.975ZM316.313,138.873L324.758,161.189L318.336,163.801C317.216,163.444 315.942,162.299 314.515,160.366C312.849,158.171 311.846,156.995 311.507,156.84C306.635,153.799 302.407,152.948 298.821,154.288C297.46,154.797 296.26,153.66 295.221,150.877C294.389,148.652 294.34,147.296 295.075,146.81L296.373,146.325C297.548,145.886 299.34,145.779 301.75,146.006C304.16,146.233 305.86,146.161 306.849,145.792C308.518,145.168 309.725,143.589 310.47,141.056L316.313,138.873ZM337.872,185.249C340.46,192.174 339.815,198.933 335.937,205.526C332.145,211.593 326.724,215.944 319.676,218.579C318.501,219.018 317.382,217.815 316.32,214.971C315.303,212.25 315.262,210.539 316.198,209.837C316.646,209.529 317.292,209.182 318.134,208.797C320.631,207.37 322.425,205.854 323.516,204.249C324.607,202.643 324.841,201.005 324.217,199.336C322.992,196.059 320.113,194.387 315.578,194.32C314.133,194.226 309.892,194.754 302.853,195.905C295.791,196.994 289.46,196.365 283.862,194.018C277.546,191.446 273.29,187.223 271.095,181.35C268.854,175.352 268.992,169.311 271.509,163.227C274.112,157.181 278.412,153.037 284.409,150.796C285.213,150.495 286.051,150.852 286.923,151.865C287.617,152.592 288.138,153.419 288.484,154.346C289.293,156.51 289.179,157.997 288.143,158.807C286.326,159.979 284.973,161.542 284.082,163.496C283.029,165.58 282.872,167.612 283.612,169.59C283.981,170.58 284.703,171.473 285.776,172.27C289.681,175.179 294.652,175.752 300.687,173.99C302.712,173.374 304.926,172.793 307.329,172.248C309.732,171.702 312.375,171.137 315.257,170.553C319.097,170.457 322.962,171.373 326.854,173.301C332.258,176.073 335.931,180.055 337.872,185.249ZM288.549,230.317L279.907,207.757L286.491,205.296C287.611,205.653 288.896,206.828 290.346,208.823C291.866,211.003 292.838,212.19 293.262,212.384C298.072,215.449 302.331,216.288 306.041,214.901C307.401,214.393 308.601,215.53 309.641,218.312C310.473,220.538 310.479,221.875 309.66,222.322C309.497,222.453 309.107,222.634 308.489,222.865C307.252,223.327 305.429,223.445 303.019,223.218C300.609,222.991 298.94,223.051 298.013,223.398C296.343,224.022 295.136,225.6 294.392,228.133L288.549,230.317Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"dot\", d: \"M394.606,195.569C388.976,196.699 383.488,193.046 382.359,187.416C381.229,181.786 384.882,176.298 390.512,175.168C396.142,174.038 401.63,177.692 402.76,183.321C403.89,188.951 400.236,194.439 394.606,195.569Z\" }), /* @__PURE__ */ React.createElement(\"path\", { className: \"dot\", d: \"M49.46,175.274C55.091,176.4 58.748,181.886 57.621,187.517C56.495,193.147 51.009,196.804 45.378,195.678C39.748,194.551 36.091,189.066 37.217,183.435C38.344,177.804 43.83,174.148 49.46,175.274Z\" }));\nexport default SvgOss;\n","import React from 'react'\nimport OSS   from '@/svg/oss.svg?react'\n\nexport const OSSLogo = ({\n  className='',\n  style\n}) =>\n  <OSS\n    style={style}\n    className={`oss-logo ${className}`}\n  />\n\nexport default OSSLogo","import React from 'react'\nimport Link from '@/ui/Link.jsx'\nimport OSSLogo from './OSSLogo.jsx'\nimport { Icon, Warning } from '@abw/badger-react-ui'\n\nexport const PeopleWhoShare = ({\n  title='People who share their source code do not owe you anything!',\n  className,\n  logo=true,\n  short=false,\n  freedom=true,\n  children\n}) =>\n  <Warning Xheadline={title} border className={className}>\n    <div className=\"side-icon\">\n      { Boolean(logo) &&\n      <OSSLogo className=\"width-8rem\"/>\n      }\n      <div className=\"wide\">\n        <h2>{title}</h2>\n        <p className={short ? '' : 'large'}>\n          This is <b>Open Source Software</b> and you&apos;re welcome to use it.\n          But be warned that it is also <b>Opinionated and Selfish Software</b>.\n        </p>\n        { Boolean(short) ||\n        <p>\n          I wrote it for me to help me get my job done.  If you want to use it to\n          help you get your job done, then that&apos;s great.  But that&apos;s\n          your job, not mine. I have no responsibility or obligation to help you\n          do it. If you want to use it then you do so at your own risk.\n        </p>\n        }\n        {children}\n        { Boolean(freedom) &&\n        <div className=\"flex space gap-2 middle surface-5 pad-a-2 border\">\n          <div className=\"small\">\n            Free as in <Link href=\"https://en.wiktionary.org/wiki/free_as_in_beer\"    targetBlank text=\"beer\"/>,\n            free as in <Link href=\"https://en.wiktionary.org/wiki/free_as_in_speech\"  targetBlank text=\"speech\"/>,\n            free as in <Link href=\"https://freeasinweekend.org/open-source-open-mind\" targetBlank text=\"weekend\"/>\n          </div>\n          <div className=\"text-right smaller\">\n            <Icon name=\"thumb\"/>{' '}\n            Thanks <Link href=\"https://dylanbeattie.net/\" targetBlank text=\"Dylan\"/>!\n          </div>\n        </div>\n        }\n      </div>\n    </div>\n  </Warning>\n\nexport default PeopleWhoShare","import React from 'react'\nimport Source from '@/code/Source.jsx'\n\nexport const Pre = ({ children, ...props }) => {\n  const { className='', children: code } = children.props\n  const match = className.match(/language-(\\w+)(?:\\?(.*))?/)\n  props.language ||= match?.[1]\n  return (\n    <Source\n      code={code}\n      {...props}\n      expand\n    />\n  )\n}\n\nexport default Pre","import { Generator } from '@abw/react-context'\nimport { useSite } from '@/site/Context.jsx'\n\nconst Context = ({ render, page }) => {\n  const { addPageToc, getPageToc } = useSite()\n\n  const addToc = item => {\n    // console.log(`adding TOC item \"${item.title || item.code}\" to page TOC`)\n    addPageToc(\n      page.uri,\n      item.id,\n      item\n    )\n  }\n\n  const getToc = () => getPageToc(page.uri)\n\n  return render({\n    addToc, getToc\n  })\n}\n\nexport const PageContext = Generator(Context)\n\nexport const {\n  Provider: PageProvider,\n  Consumer: PageConsumer,\n  Children: PageChildren,\n  Use:      usePage\n} = PageContext\n\nexport default PageContext\n","export const idSafe = text =>\n  text\n    .replaceAll(/\\W+/g, '-')\n    .replace(/^-+/, '')\n    .replace(/-+$/, '')\n    .toLowerCase()\n","import { useRef, useEffect } from 'react'\nimport { usePage } from '@/page/Context.jsx'\nimport { idSafe } from '@/utils/Misc.jsx'\n\nconst useToc = ({\n  code,\n  text=code,\n  title=text,\n  id,\n  ...props\n}) => {\n  const { addToc } = usePage()\n  const ref = useRef()\n  id ||= idSafe(title)\n\n  useEffect(\n    () => {\n      addToc({ id, code, title, ref, ...props })\n    },\n    [title]\n  )\n\n  return { id, code, title, ref, children: props.children }\n}\n\nexport default useToc\n","import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\nexport const scroll = (\n  element,\n  {\n    top=0,\n    left=0,\n    behavior='smooth'\n  } = { }\n) =>\n  element?.scrollTo({\n    top,\n    left,\n    behavior\n  })\n\nexport const scrollDocumentUp = () =>\n  scroll(document.documentElement)\n\nexport const scrollToTop = () => {\n  scrollDocumentUp()\n  scroll(document.getElementById('content'))\n}\n\nexport const ScrollToTop = () => {\n  const { pathname } = useLocation()\n\n  useEffect(\n    scrollToTop,\n    [pathname]\n  )\n  return null\n}\n\n","import React from 'react'\nimport useToc from '@/toc/useToc.jsx'\nimport { classes, Icon } from '@abw/badger-react-ui'\nimport { scrollToTop } from '@/utils/Scroll.jsx'\nimport { useSite } from '@/site/Context.jsx'\n\nexport const Heading = ({\n  site=useSite(),\n  linkUpIcon=site.linkUpIcon||'arrow-up',\n  linkUp=site.linkUp??true,\n  ...props\n}) => {\n  const { id, ref, code, title, children } = useToc({ ...props, heading: true })\n\n  return (\n    <h2\n      id={id}\n      ref={ref}\n      className={ classes('page-heading flex space middle', { 'font-mono': code }) }\n    >\n      { children\n        ? <span>{children}</span>\n        : title\n      }\n      { Boolean(linkUp) &&\n        <Icon\n          className=\"page-heading-scroll-up\"\n          name={linkUpIcon}\n          size=\"medium\"\n          onClick={scrollToTop}\n        />\n      }\n    </h2>\n  )\n}\n\nexport default Heading","import { isString, isObject, isArray } from '@abw/badger-utils'\nimport { toArray } from '@/utils/Coerce.jsx'\nimport { idSafe } from '@/utils/Misc.jsx'\nimport { fail } from '@abw/badger-utils'\n\nexport const expandCodeChildren = children => {\n  // Coerce children to text\n  if (isString(children)) {\n    return { title: children }\n  }\n  else if (isObject(children) && children.type === 'code') {\n    return { code: children.props.children }\n  }\n  else {\n    const text = expandChildrenToText(children)\n    const id = idSafe(text)\n    return {\n      children,\n      id,\n      error: [ 'Cannot handle mixed content in MDX heading', ...children]\n    }\n  }\n}\n\nexport const expandChildrenToText = children =>\n  toArray(children)\n    .map(expandChildToText)\n    .join('')\n\nexport const expandChildToText = child => {\n  if (isString(child)) {\n    return child\n  }\n  else if (isObject(child) && child.props.children) {\n    return expandChildrenToText(child.props.children)\n  }\n  else if (isArray(child)) {\n    return expandChildrenToText(child)\n  }\n  else {\n    console.log(`MDX child:`, child)\n    fail(\"Can't expand MDX children to text\")\n  }\n}\n","import React from 'react'\nimport Heading from '@/page/Heading.jsx'\nimport { expandCodeChildren } from './Utils.jsx'\n\nexport const H2 = ({ children }) =>\n  <Heading { ...expandCodeChildren(children) }/>\n\nexport default H2","import React from 'react'\nimport useToc from '@/toc/useToc.jsx'\nimport { classes } from '@abw/badger-react-ui'\n\nexport const SubHeading = props => {\n  const { id, ref, code, title, children } = useToc({ ...props })\n\n  return (\n    <h3\n      id={id}\n      ref={ref}\n      className={ classes('page-sub-heading', { 'font-mono': code }) }\n    >\n      { children\n        ? <span>{children}</span>\n        : title\n      }\n    </h3>\n  )\n}\n\nexport default SubHeading","export * from './Pre.jsx'\nimport pre from './Pre.jsx'\nimport h2 from './H2.jsx'\nimport h3 from './H3.jsx'\n\nexport const mdxComponents = {\n  pre,\n  h2,\n  h3\n}\n\nexport default mdxComponents","import React from 'react'\nimport SubHeading from '@/page/SubHeading.jsx'\nimport { expandCodeChildren } from './Utils.jsx'\n\nexport const H3 = ({ children }) =>\n  <SubHeading { ...expandCodeChildren(children) }/>\n\nexport default H3","import React from 'react'\nimport { SiteConsumer } from '@/site/Context.jsx'\nimport { hasValue, isString } from '@abw/badger-utils'\n\nexport const PageTitle = SiteConsumer(\n  ({\n    page={},\n    codeClass='font-mono'\n  }) => {\n    let {\n      titleText,\n      titleCode,\n      title = {\n        text: titleText ?? titleCode,\n        code: titleCode\n      }\n    } = page\n    title = isString(title)\n      ? { text: title }\n      : title\n    const { text, code } = title\n    return (hasValue(text ?? code))\n      ? <h1 className={code ? codeClass : null}>{text ?? code}</h1>\n      : null\n  }\n)\n\nexport default PageTitle","import { hasValue } from '@abw/badger-utils'\n\n// function to convert `backticks` to <code>backticks</code>\nexport const codify = (text, codeClass='') =>\n  hasValue(text)\n    ? text.replace(/`([^`]*)`/g, `<code class=${codeClass}>$1</code>`)\n    : ''\n","import React from 'react'\nimport { SiteConsumer } from '@/site/Context.jsx'\nimport { hasValue } from '@abw/badger-utils'\nimport { toArray } from '@/utils/Coerce.jsx'\nimport { codify } from '@/utils/Markup.jsx'\n\nexport const Intro = SiteConsumer(\n  ({\n    page={},\n    introClass='intro'\n  }) => {\n    const { intro } = page\n    return (hasValue(intro))\n      ? <div className={introClass}>\n          { toArray(intro).map(\n            (p, n) =>\n              <p key={n} dangerouslySetInnerHTML={{__html: codify(p)}}/>\n          )}\n        </div>\n      : null\n  }\n)\n\nexport default Intro","import React from 'react'\nimport Link from '@/ui/Link.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const PrevNextLink = SiteConsumer(\n  ({\n    text,\n    code,\n    prev = false,\n    codeClass = 'font-mono',\n    prevNextTitleClass = 'mar-t-none mar-b-none',\n    prevTitleClass = prevNextTitleClass,\n    nextTitleClass = `${prevNextTitleClass} text-right`,\n    prevPageClass = 'prev',\n    nextPageClass = 'next',\n    prevPageTitle = 'Previous Page',\n    nextPageTitle = 'Next Page',\n    title = prev ? prevPageTitle : nextPageTitle,\n    className = prev ? prevPageClass : nextPageClass,\n    titleClass = prev ? prevTitleClass : nextTitleClass,\n    ...props\n  }) =>\n    <Link\n      className={className}\n      {...props}\n    >\n      <h6 className={titleClass}>{title}</h6>\n      <div className={code ? codeClass : null}>\n        {code ?? text}\n      </div>\n    </Link>\n)\n\nexport default PrevNextLink","import React from 'react'\nimport Link from './PrevNextLink'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const PrevNext = SiteConsumer(\n  ({\n    prevNextPage,\n    PrevNextLink=Link,\n    prevNextClass='prev-next flex space gap-2 middle mar-t-8',\n    className=prevNextClass\n  }) => {\n    const [prev, next] = prevNextPage()\n    if (! prev && ! next) {\n      return null\n    }\n\n    return (\n      <div className={className}>\n        { prev\n          ? <PrevNextLink prev {...prev}/>\n          : <div>&nbsp;</div>\n        }\n        { next\n          ? <PrevNextLink {...next}/>\n          : <div>&nbsp;</div>\n        }\n      </div>\n    )\n  }\n)\n\nexport default PrevNext","import React from 'react'\nimport Link from '@/ui/Link.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\nimport { capitalise } from '@abw/badger-utils'\n\nexport const PrevNextArrows = SiteConsumer(\n  ({\n    prevNextPage,\n    prevNextArrowsClass='prev-next-arrows flex space gap-2 middle',\n    className=prevNextArrowsClass,\n    prevNextArrowsText\n  }) => {\n    const [prev, next] = prevNextPage()\n\n    return (\n      <div className={className}>\n        { prev\n          ? <Link {...linkAttrs(prev, 'left', prevNextArrowsText)}/>\n          : <div>&nbsp;</div>\n        }\n        { next\n          ? <Link {...linkAttrs(next, 'right', prevNextArrowsText)}/>\n          : <div>&nbsp;</div>\n        }\n      </div>\n    )\n  }\n)\n\nconst linkAttrs = (link, dir, prevNextArrowsText) =>\n  prevNextArrowsText\n    ? {\n        to: link.to,\n        text: link.code ?? link.text,\n        className: link.code ? 'font-mono' : '',\n        [`icon${capitalise(dir)}`]: `arrow-${dir}`\n      }\n    : {\n        to: link.to,\n        icon: `arrow-${dir}`\n      }\n\nexport default PrevNextArrows","import React from 'react'\nimport Title from './Title.jsx'\nimport Intro from './Intro.jsx'\nimport PrevNext from './PrevNext.jsx'\nimport PrevNextArrows from './PrevNextArrows.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\nimport { PageProvider } from './Context.jsx'\n\nexport const Page = SiteConsumer(\n  ({\n    isLayout,\n    setPage,\n    page={},\n    Component,\n    prevNext=true,\n    prevNextArrows=false,\n  }) => {\n    React.useEffect(\n      () => {\n        if (! isLayout) {\n          // console.log(`setting ${page.uri} page: `, page)\n          setPage(page)\n        }\n      },\n      [page]\n    )\n    return (\n      <PageProvider page={page}>\n        { (prevNextArrows && (page.prevNext ?? true)) &&\n          <PrevNextArrows/>\n        }\n        <div id=\"page\">\n          <Title/>\n          <Intro/>\n          <Component/>\n          { (prevNext && (page.prevNext ?? true)) &&\n            <PrevNext/>\n          }\n        </div>\n      </PageProvider>\n    )\n  }\n)\n\nexport default Page","import React from 'react'\nimport Heading from './Heading.jsx'\n\nexport const Section = ({\n  children,\n  ...props\n}) =>\n  <section className=\"page-section\">\n    <Heading {...props}/>\n    <div className=\"page-section-content\">\n      {children}\n    </div>\n  </section>\n\nexport default Section","import React from 'react'\nimport SubHeading from './SubHeading.jsx'\n\nexport const SubSection = ({\n  children,\n  ...props\n}) =>\n  <section className=\"page-sub-section\">\n    <SubHeading {...props}/>\n    <div className=\"page-sub-section-content\">\n      {children}\n    </div>\n  </section>\n\nexport default SubSection","import { useSite } from '@/site/Context.jsx'\nimport { scroll, scrollDocumentUp } from '@/utils/Scroll.jsx'\n\nconst TocClick = item => {\n  const { contentRef, scrollOffset = 24 } = useSite()\n  return () => {\n    scrollDocumentUp()\n    scroll(\n      contentRef.current,\n      { top: item.ref.current?.offsetTop - scrollOffset }\n    )\n  }\n}\n\nexport default TocClick","import React from 'react'\nimport TocClick from './Click.jsx'\nimport { classes } from '@abw/badger-react-ui'\n\nconst TocTitle = ({ item }) =>\n  <h4\n    key={item.id}\n    onClick={TocClick(item)}\n    className={classes({ 'font-mono': item.code })}\n  >\n    { item.children\n      ? <span>{item.children}</span>\n      : (item.code || item.title)\n    }\n  </h4>\n\n\nexport default TocTitle","import React from 'react'\nimport { classes } from '@abw/badger-react-ui'\nimport TocClick from './Click.jsx'\n\nconst TocLink = ({ item }) =>\n  <div\n    key={item.id}\n    onClick={TocClick(item)}\n    className={classes('item', { code: item.code })}\n  >\n    { item.children\n      ? <span>{item.children}</span>\n      : (item.code || item.title)\n    }\n  </div>\n\nexport default TocLink","import React from 'react'\nimport TocTitle from './Title.jsx'\nimport TocLink from './Link.jsx'\nimport { useSite } from '@/site/Context.jsx'\n\nexport const TocMenu = ({\n  className='toc menu',\n  sectionClass='toc-section'\n}) => {\n  const { page, getPageToc } = useSite()\n  const toc = getPageToc(page.uri)\n  if (! toc) {\n    return null\n  }\n\n  // Bah!  We want to group headings in menus so we need to do some munging\n  const sections = [\n    { menu: [ ] }\n  ]\n  Object.values(toc).forEach(\n    item => {\n      const lastSection = sections.at(-1)\n      if (item.heading) {\n        if (lastSection.menu.length == 0 && ! lastSection.title) {\n          lastSection.title = item\n        }\n        else {\n          sections.push({\n            title: item,\n            menu: [ ]\n          })\n        }\n      }\n      else {\n        lastSection.menu.push(item)\n      }\n    }\n  )\n\n  return (\n    <div className={className}>\n      { sections.map(\n        (section, n) =>\n          <div\n            key={n}\n            className={sectionClass}\n          >\n            { Boolean(section.title) &&\n              <TocTitle\n                item={section.title}\n              />\n            }\n            { section.menu.map(\n              item =>\n                <TocLink\n                  key={item.id}\n                  item={item}\n                />\n            )}\n          </div>\n      )}\n    </div>\n  )\n}\n\nexport default TocMenu\n","import React from 'react'\nimport TocMenu from '@/toc/Menu.jsx'\n\nexport const PageToc = () =>\n  <TocMenu className=\"toc\"/>\n\nexport default PageToc","import React from 'react'\n\nexport const SidebarTitle = ({\n  title,\n  controls,\n  className\n}) =>\n  controls\n    ? <div className=\"flex space end\">\n        <h3 className={className}>{ title }</h3>\n        { Boolean(controls) &&\n          controls\n        }\n      </div>\n    : <h3 className={className}>{title}</h3>\n\nexport default SidebarTitle","import React from 'react'\nimport Item from './MenuItem.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const SidebarMenuSection = SiteConsumer(\n  ({\n    sidebar={},\n    menuClass=sidebar.menuClass ?? 'menu',\n    title,\n    menu,\n    SidebarMenuItem=Item\n  }) =>\n    <div className={menuClass}>\n      { Boolean(title) &&\n        <h4>{title}</h4>\n      }\n      { menu.map(\n        (item, n) =>\n          <SidebarMenuItem\n            key={item.to || `menu-item-${n}`}\n            {...item}\n          />\n      )}\n    </div>\n)\n\nexport default SidebarMenuSection\n","import React from 'react'\nimport TocMenu from '@/toc/Menu.jsx'\nimport { useSite } from '@/site/Context.jsx'\n\nexport const SidebarToc = ({\n  item\n}) => {\n  const { page } = useSite()\n  const pageMatch = item.to === page?.uri || item.to === page?.uri + '/'\n  return pageMatch\n    ? <TocMenu/>\n    : null\n}\n\nexport default SidebarToc\n","import React from 'react'\nimport UILink from '@/ui/Link.jsx'\nimport MenuSection from './MenuSection.jsx'\nimport { classes } from '@abw/badger-react-ui'\nimport { useSite } from '@/site/Context.jsx'\nimport Toc from './Toc.jsx'\n\nexport const SidebarMenuItem = ({\n  ...item\n}) => {\n  const {\n    sidebar={},\n    itemClass=sidebar.menuItemClass ?? 'item',\n    Link=UILink,\n    className,\n    sidebarToc=true\n  } = useSite()\n\n  return (\n    item.menu\n      ? <MenuSection {...item}/>\n      : <>\n          <Link\n            className={classes(className, itemClass)}\n            {...item}\n          >\n            {item.display}\n          </Link>\n          { sidebarToc &&\n            <Toc item={item}/>\n          }\n        </>\n  )\n}\n\nexport default SidebarMenuItem\n","import React from 'react'\nimport Item from './MenuItem.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const SidebarMenu = SiteConsumer(\n  ({\n    sidebar={},\n    sidebarClick,\n    menu,\n    menuClass=sidebar.menuClass ?? 'menu',\n    SidebarMenuItem=Item\n  }) =>\n    <div className={menuClass} onClick={sidebarClick}>\n      { menu.map(\n        (item, n) =>\n          <SidebarMenuItem\n            key={item.to || `menu-item-${n}`}\n            {...item}\n          />\n      )}\n    </div>\n)\n\nexport default SidebarMenu\n","import React from 'react'\nimport Menu from './Menu.jsx'\nimport { Details } from '@abw/badger-react-ui'\nimport { useResolvedPath } from 'react-router'\nimport { useSite } from '@/site/Context.jsx'\n\nexport const SidebarDetails = ({\n  title,\n  summary=title,\n  menu,\n  children,\n  content=children,\n  openPath,\n}) => {\n  const { SidebarMenu=Menu } = useSite()\n  const resolved = useResolvedPath()\n  const open = isOpen(resolved.pathname, openPath)\n  if (openPath) {\n    // console.log(`openPath: ${openPath} vs [${resolved.pathname.slice(0, openPath.length)}] [${open ? 'OPEN' : 'CLOSED'}]`)\n  }\n\n  return (\n    <Details summary={summary} open={open}>\n      { menu &&\n        <SidebarMenu\n          menu={menu}\n        />\n      }\n      { content }\n    </Details>\n  )\n}\n\nconst isOpen = (resolved, openPath) => {\n  if (! openPath) {\n    return false\n  }\n  if (resolved === openPath) {\n    return true\n  }\n  // We have to be careful here because we might have two sections which are\n  // /foo and /food.  When we're matching /foo the next character must be a\n  // path separator or the end of string, otherwise we'll match /food\n  const endsInSlash = openPath.at(-1) === '/'\n  if (endsInSlash) {\n    return resolved.slice(0, openPath.length) === openPath\n  }\n  const slice = resolved.slice(0, openPath.length + 1)\n  // console.log(`slice: [${slice}]  openPath: [${openPath}]`)\n  if (slice === openPath || slice === openPath + '/') {\n    return true\n  }\n  return false\n}\n\nexport default SidebarDetails\n","import React from 'react'\nimport Menu from './Menu.jsx'\nimport Title from './Title.jsx'\nimport Details from './Details.jsx'\nimport { useSite } from '@/site/Context.jsx'\n\nexport const SidebarSection = ({\n  title,\n  controls,\n  className,\n  openPath,\n  revealable,\n  menu,\n  children,\n  content=children\n}) => {\n  const {\n    SidebarTitle=Title,\n    SidebarDetails=Details,\n    SidebarMenu=Menu\n  } = useSite()\n\n  return (\n    <section className={className}>\n      { revealable\n        ? <SidebarDetails\n            title={title}\n            menu={menu}\n            content={content}\n            openPath={openPath}\n          />\n        : <>\n            { Boolean(title) &&\n              <SidebarTitle\n                title={title}\n                controls={controls}\n              />\n            }\n            { menu &&\n              <SidebarMenu\n                menu={menu}\n              />\n            }\n          </>\n      }\n      { content }\n    </section>\n  )\n}\n\nexport default SidebarSection","import React from 'react'\nimport Section from './Section.jsx'\nimport Title from './Title.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const SidebarSections = SiteConsumer(\n  ({\n    sections,\n    SidebarSection=Section,\n    SidebarTitle=Title,\n  }) =>\n    sections.map(\n      (section, id) =>\n        section.menu\n          ? <SidebarSection key={id} {...section}/>\n          : <SidebarTitle key={id} className=\"sidebar-title\" {...section}/>\n    )\n)\n\nexport default SidebarSections","import React from 'react'\nimport Title from '@/sidebar/Title.jsx'\nimport Menu from '@/sidebar/Menu.jsx'\nimport Sections from '@/sidebar/Sections.jsx'\nimport { SiteConsumer } from '@/site/Context.jsx'\n\nexport const Sidebar = SiteConsumer(\n  ({\n    sidebar={},\n    SidebarTitle=Title,\n    SidebarMenu=Menu,\n    SidebarSections=Sections,\n  }) =>\n    <div>\n      { Boolean(sidebar.title) &&\n        <SidebarTitle title={sidebar.title}/>\n      }\n      { Boolean(sidebar.menu) &&\n        <SidebarMenu items={sidebar.menu}/>\n      }\n      { Boolean(sidebar.sections) &&\n        <SidebarSections sections={sidebar.sections}/>\n      }\n    </div>\n)\n\nexport default Sidebar","import React            from 'react'\nimport SiteHeader       from '@/content/Header.jsx'\nimport SiteFooter       from '@/content/Footer.jsx'\nimport SiteSidebar      from './Sidebar.jsx'\nimport { Outlet }       from 'react-router-dom'\nimport { ScrollToTop }  from '@/utils/Scroll.jsx'\nimport { SiteConsumer } from './Context.jsx'\nimport { CLOSED, OPEN } from '@/constants/Sidebar.jsx'\n\nexport const Layout = SiteConsumer(\n  ({\n    contentRef,\n    theme,\n    sidebarOpen,\n    smallScreenSidebarOpen,\n    Header=SiteHeader,\n    Footer=SiteFooter,\n    Sidebar=SiteSidebar,\n  }) =>\n    <div\n      id=\"site\"\n      data-sidebar={sidebarOpen ? OPEN : CLOSED}\n      data-small-screen-sidebar={smallScreenSidebarOpen ? OPEN : CLOSED}\n      data-theme={theme}\n    >\n      <Header/>\n      <div id=\"app\">\n        <ScrollToTop/>\n        <aside>\n          <Sidebar/>\n        </aside>\n        <main id=\"content\" ref={contentRef}>\n          <Outlet/>\n        </main>\n      </div>\n      <Footer/>\n    </div>\n)\n\nexport default Layout","import React from 'react'\nimport Page from '@/page/Page.jsx'\n\nexport const makeRoute = ({\n  path,\n  isLayout,\n  Component,\n  children,\n  ...page\n}) => ({\n  path,\n  children,\n  element:\n    <Page\n      path={path}\n      Component={Component}\n      isLayout={isLayout}\n      page={{ ...page, path }}\n    />,\n})\n\n","import defaultLayout from '@/site/Layout.jsx'\nimport { createBrowserRouter } from 'react-router-dom'\nimport { makeRoute } from './Utils.jsx'\nimport {\n  MATCH_PAGES_PREFIX,\n  MATCH_PAGE_SUFFIX,\n  MATCH_INDEX_PAGE,\n  MATCH_LAYOUT,\n  MATCH_IGNORE,\n  MATCH_PLACEHOLDER\n} from '@/constants/Pages.jsx'\n\nexport const Router = ({\n  pages,\n  matchPagesPrefix = MATCH_PAGES_PREFIX,\n  matchPageSuffix  = MATCH_PAGE_SUFFIX,\n  matchIndexPage   = MATCH_INDEX_PAGE,\n  matchLayout      = MATCH_LAYOUT,\n  matchIgnore      = MATCH_IGNORE,\n  matchPlaceholder = MATCH_PLACEHOLDER,\n  Layout           = defaultLayout,\n  site             = { },\n  basename         = site.basename || import.meta.env.BASE_URL,\n  debugRouter,\n} = { }) => {\n\n  // Cleanup the path names, removing the leading ./...etc.../pages prefix,\n  // any .js, .jsx, .ts, .tsx, .md or .mdx suffixes, removing the final 'index'\n  // in an index page, and converting any [placeholder] directories into\n  // ':placeholder' route segments\n  const metas = Object\n    .entries(pages)\n    .map(\n      ([route, module]) => {\n        const {\n          default: Component,\n          metadata = { },\n          ...rest\n        } = module\n        const meta = {\n          Component,\n          ...rest,\n          ...metadata\n        }\n        meta.uri = meta.path = route\n          .replace(matchPagesPrefix, '')\n          .replace(matchPageSuffix, '')\n          .replace(matchIndexPage, '')\n          .replace(/\\/$/, '')    // canonical form - no trailing slash\n          .replace(matchPlaceholder, ':$1')\n        return meta\n      }\n    )\n\n  if (debugRouter) {\n    console.log(`Scanned paths: `, metas)\n  }\n\n  // Build a lookup table from path to page\n  const paths = metas\n    .filter(\n      route => ! route.path.match(matchIgnore)\n    )\n    .reduce(\n      (paths, route) => {\n        paths[route.path] = route\n        return paths\n      },\n      { }\n    )\n\n  if (debugRouter) {\n    console.log(`Created path lookup: `, paths)\n  }\n\n  // find all the paths that end in /_layout\n  const layoutPaths = Object\n    .keys(paths)\n    .filter(\n      path => path.match(matchLayout)\n    )\n    .sort(\n      (a, b) => b.length - a.length\n    )\n\n  // process each layout path\n  for (let layoutPath of layoutPaths) {\n    const layout = paths[layoutPath]\n    layout.isLayout = true\n    delete paths[layoutPath]\n    const base  = layoutPath.replace(matchLayout, '/')\n    const blen  = base.length\n    layout.path = base\n    layout.children = [ ]\n\n    // look for an index page in the directory with layout\n    const index = paths[base]\n    if (index) {\n      delete index.path\n      index.index = true\n      layout.children.push(index)\n      delete paths[base]\n    }\n\n    // find all the paths under the same directory\n    const children = Object\n      .keys(paths)\n      .filter(\n        path => path.slice(0, blen) === base\n      )\n\n    // console.log(`children of ${base}: `, children)\n    // add child routes to the layout route\n    for (let child of children) {\n      const route = paths[child]\n      delete paths[child]\n      child = child.slice(blen)\n      // console.log(`- child of ${base}: ${route.path}  => ${child}`)\n      route.path = child.length ? child : '/'\n      layout.children.push(makeRoute(route))\n    }\n    // add the layout page as the new page for the base directory\n    // console.log(`inserting new ${base} page as layout`)\n    paths[base] = layout\n  }\n\n  if (debugRouter) {\n    console.log(`Applied layouts: `, paths)\n  }\n\n  if (debugRouter) {\n    console.log(`Final metas: `, metas)\n  }\n\n  const routes = Object.values(paths).map(makeRoute)\n\n  if (debugRouter) {\n    console.log(`Routes: `, routes)\n  }\n\n  return createBrowserRouter(\n    [\n      {\n        path:     '/',\n        Component: Layout,\n        children: routes\n      },\n    ],\n    {\n      basename\n    }\n  )\n}\n\nexport default Router\n","import { IconLibrary, addIcons } from '@abw/badger-react-ui'\n\nconst badgerIcons = {\n  github: 'path-fill-stroke=none:M256,0C115,0 0,115 0,256C0,369 73,465 175,499C188,501 193,493 193,487C193,481 192,460 192,439C128,451 111,423 106,409C103,402 91,379 80,373C71,368 58,356 80,356C100,356 114,374 119,382C142,421 179,410 194,403C196,387 203,375 210,369C153,363 93,340 93,243C93,215 103,192 120,174C117,167 108,141 122,106C122,106 144,99 193,132C213,126 235,124 257,124C278,124 300,126 321,132C370,99 391,106 391,106C405,141 396,167 394,174C410,192 420,214 420,243C420,341 360,363 303,369C312,377 320,392 320,416C320,451 320,478 320,487C320,493 325,501 338,499C439,465 512,369 512,256C512,115 397,0 256,0Z',\n  badger: `<g stroke=\"none\">\n    <path d=\"M315,302C319,307 319,317 313,321C313,316 311,309 308,306C307,303 301,298 295,297C300,294 311,296 315,302ZM483,408C484,413 464,410 464,426C464,434 467,439 463,440C458,441 457,436 456,429C454,415 464,410 474,408C482,405 482,406 483,408ZM318,293L316,292C301,285 283,289 276,302C271,312 274,324 284,333L272,327C252,311 248,283 253,277C257,271 287,267 307,283L318,293ZM297,82C294,84 286,71 274,73C266,74 262,71 267,68C280,57 304,78 297,82ZM126,116C114,108 100,104 85,108C74,111 67,118 63,127L58,128C48,129 38,132 30,134C53,102 82,91 110,91L112,91L113,89C114,80 109,71 95,64C126,57 165,64 185,76L188,77L189,74C190,70 190,59 182,49C221,56 251,69 274,85C317,122 340,169 359,215C380,264 397,311 432,338L434,340L488,389L496,396C490,396 484,398 475,400C447,406 446,418 449,439C451,449 455,454 462,455C437,462 423,467 392,461C354,453 317,442 281,426C263,418 251,408 245,397L252,393C253,393 253,392 253,391C253,390 252,389 251,389C250,389 249,389 249,389C245,391 240,396 230,395C229,395 228,396 228,398C228,399 229,400 230,400L241,398C246,410 257,420 273,428C241,439 213,431 188,417C161,401 137,377 116,360C98,346 82,336 67,338C57,339 48,345 40,357C25,326 44,295 63,275L65,273L62,272C44,260 24,267 10,283C9,270 15,252 24,236C34,219 47,204 61,199C151,182 194,257 239,323C266,361 325,406 438,443C431,424 434,414 439,406C412,393 378,372 356,332C296,223 269,145 182,123C167,119 147,115 126,116ZM126,134C124,144 95,116 89,131C79,159 69,143 71,135C84,96 127,125 126,134Z\" fill=\"#fff\"/>\n    <path d=\"M62,132L59,133C46,134 32,138 25,140L19,141L22,136C47,100 78,87 108,86C109,78 102,71 87,65L80,63L87,61C119,51 161,58 185,70C185,64 182,55 174,48L168,42L176,43C209,48 236,57 258,69C260,64 265,59 275,60C300,62 305,74 306,98C338,125 360,163 377,202C392,236 404,271 415,299L430,328L438,337C448,348 468,364 491,385L503,397C507,399 509,402 510,409C510,410 511,411 511,412L512,420C513,432 509,447 491,452C485,454 478,456 472,457C445,468 427,473 391,466C339,456 290,436 279,431C244,445 213,437 185,421C158,405 134,381 113,364C104,357 96,351 89,348C81,344 74,342 67,343C58,344 50,350 41,364L39,367L37,363C19,330 37,296 57,274C40,265 22,274 10,290L7,293L6,289C2,276 8,254 20,233C27,222 36,210 46,203C31,207 16,213 0,222C16,178 38,152 61,136L62,132ZM315,302C311,296 300,294 295,297C301,298 307,303 308,306C311,309 313,316 313,321C319,317 319,307 315,302ZM483,408C482,406 482,405 474,408C464,410 454,415 456,429C457,436 458,441 463,440C467,439 464,434 464,426C464,410 484,413 483,408ZM318,293L307,283C287,267 257,271 253,277C248,283 252,311 272,327L284,333C274,324 271,312 276,302C283,289 301,285 316,292L318,293ZM297,82C304,78 280,57 267,68C262,71 266,74 274,73C286,71 294,84 297,82ZM126,116C147,115 167,119 182,123C269,145 296,223 356,332C378,372 412,393 439,406C434,414 431,424 438,443C325,406 266,361 239,323C194,257 151,182 61,199C47,204 34,219 24,236C15,252 9,270 10,283C24,267 44,260 62,272L65,273L63,275C44,295 25,326 40,357C48,345 57,339 67,338C82,336 98,346 116,360C137,377 161,401 188,417C213,431 241,439 273,428C257,420 246,410 241,398L230,400C229,400 228,399 228,398C228,396 229,395 230,395C240,396 245,391 249,389C249,389 250,389 251,389C252,389 253,390 253,391C253,392 253,393 252,393L245,397C251,408 263,418 281,426L282,427C296,433 343,452 392,461C423,467 437,462 462,455C455,454 451,449 449,439C446,418 447,406 475,400C484,398 490,396 496,396L488,389L434,340L432,338C397,311 380,264 359,215C340,169 317,122 274,85C251,69 221,56 182,49C190,59 190,70 189,74L188,77L185,76C165,64 126,57 95,64C109,71 114,80 113,89L112,91L110,91C82,91 53,102 30,134C41,131 52,129 63,127C67,118 74,111 85,108C100,104 114,108 126,116ZM126,134C127,125 84,96 71,135C69,143 79,159 89,131C95,116 124,144 126,134Z\" fill=\"#000\"/>\n  </g>`,\n  'badger-white': 'path-solid:M315,302C319,307 319,317 313,321C313,316 311,309 308,306C307,303 301,298 295,297C300,294 311,296 315,302ZM483,408C484,413 464,410 464,426C464,434 467,439 463,440C458,441 457,436 456,429C454,415 464,410 474,408C482,405 482,406 483,408ZM318,293L316,292C301,285 283,289 276,302C271,312 274,324 284,333L272,327C252,311 248,283 253,277C257,271 287,267 307,283L318,293ZM297,82C294,84 286,71 274,73C266,74 262,71 267,68C280,57 304,78 297,82ZM126,116C114,108 100,104 85,108C74,111 67,118 63,127L58,128C48,129 38,132 30,134C53,102 82,91 110,91L112,91L113,89C114,80 109,71 95,64C126,57 165,64 185,76L188,77L189,74C190,70 190,59 182,49C221,56 251,69 274,85C317,122 340,169 359,215C380,264 397,311 432,338L434,340L488,389L496,396C490,396 484,398 475,400C447,406 446,418 449,439C451,449 455,454 462,455C437,462 423,467 392,461C354,453 317,442 281,426C263,418 251,408 245,397L252,393C253,393 253,392 253,391C253,390 252,389 251,389C250,389 249,389 249,389C245,391 240,396 230,395C229,395 228,396 228,398C228,399 229,400 230,400L241,398C246,410 257,420 273,428C241,439 213,431 188,417C161,401 137,377 116,360C98,346 82,336 67,338C57,339 48,345 40,357C25,326 44,295 63,275L65,273L62,272C44,260 24,267 10,283C9,270 15,252 24,236C34,219 47,204 61,199C151,182 194,257 239,323C266,361 325,406 438,443C431,424 434,414 439,406C412,393 378,372 356,332C296,223 269,145 182,123C167,119 147,115 126,116ZM126,134C124,144 95,116 89,131C79,159 69,143 71,135C84,96 127,125 126,134Z',\n  'badger-black': 'path-solid:M62,132L59,133C46,134 32,138 25,140L19,141L22,136C47,100 78,87 108,86C109,78 102,71 87,65L80,63L87,61C119,51 161,58 185,70C185,64 182,55 174,48L168,42L176,43C209,48 236,57 258,69C260,64 265,59 275,60C300,62 305,74 306,98C338,125 360,163 377,202C392,236 404,271 415,299L430,328L438,337C448,348 468,364 491,385L503,397C507,399 509,402 510,409C510,410 511,411 511,412L512,420C513,432 509,447 491,452C485,454 478,456 472,457C445,468 427,473 391,466C339,456 290,436 279,431C244,445 213,437 185,421C158,405 134,381 113,364C104,357 96,351 89,348C81,344 74,342 67,343C58,344 50,350 41,364L39,367L37,363C19,330 37,296 57,274C40,265 22,274 10,290L7,293L6,289C2,276 8,254 20,233C27,222 36,210 46,203C31,207 16,213 0,222C16,178 38,152 61,136L62,132ZM315,302C311,296 300,294 295,297C301,298 307,303 308,306C311,309 313,316 313,321C319,317 319,307 315,302ZM483,408C482,406 482,405 474,408C464,410 454,415 456,429C457,436 458,441 463,440C467,439 464,434 464,426C464,410 484,413 483,408ZM318,293L307,283C287,267 257,271 253,277C248,283 252,311 272,327L284,333C274,324 271,312 276,302C283,289 301,285 316,292L318,293ZM297,82C304,78 280,57 267,68C262,71 266,74 274,73C286,71 294,84 297,82ZM126,116C147,115 167,119 182,123C269,145 296,223 356,332C378,372 412,393 439,406C434,414 431,424 438,443C325,406 266,361 239,323C194,257 151,182 61,199C47,204 34,219 24,236C15,252 9,270 10,283C24,267 44,260 62,272L65,273L63,275C44,295 25,326 40,357C48,345 57,339 67,338C82,336 98,346 116,360C137,377 161,401 188,417C213,431 241,439 273,428C257,420 246,410 241,398L230,400C229,400 228,399 228,398C228,396 229,395 230,395C240,396 245,391 249,389C249,389 250,389 251,389C252,389 253,390 253,391C253,392 253,393 252,393L245,397C251,408 263,418 281,426L282,427C296,433 343,452 392,461C423,467 437,462 462,455C455,454 451,449 449,439C446,418 447,406 475,400C484,398 490,396 496,396L488,389L434,340L432,338C397,311 380,264 359,215C340,169 317,122 274,85C251,69 221,56 182,49C190,59 190,70 189,74L188,77L185,76C165,64 126,57 95,64C109,71 114,80 113,89L112,91L110,91C82,91 53,102 30,134C41,131 52,129 63,127C67,118 74,111 85,108C100,104 114,108 126,116ZM126,134C127,125 84,96 71,135C69,143 79,159 89,131C95,116 124,144 126,134Z'\n}\n\nconst themeConfig = (config={}) => {\n  // patch in the badgerIcons above along with any additional icons defined\n  const { icons = { }, Icon = { }, ...rest } = config\n  const customIconLibrary = structuredClone(IconLibrary)\n  addIcons(\n    {\n      ...badgerIcons,\n      ...icons,\n    },\n    customIconLibrary\n  )\n  // return a Theme config that includes the custom Icon configuration and\n  // any other component defaults in ...rest\n  return {\n    Icon: {\n      library: customIconLibrary,\n      ...Icon\n    },\n    ...rest\n  }\n}\n\nexport default themeConfig","/**\n * @typedef {import('mdx/types.js').MDXComponents} MDXComponents\n * @typedef {import('react').Component<{}, {}, unknown>} Component\n * @typedef {import('react').ReactNode} ReactNode\n */\n\n/**\n * @callback MergeComponents\n *   Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n *   Current components from the context.\n * @returns {MDXComponents}\n *   Additional components.\n *\n * @typedef Props\n *   Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n *   Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n *   Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n *   Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n *   Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n *   Current components.\n */\nexport function useMDXComponents(components) {\n  const contextComponents = React.useContext(MDXContext)\n\n  // Memoize to avoid unnecessary top-level context changes\n  return React.useMemo(\n    function () {\n      // Custom merge via a function prop\n      if (typeof components === 'function') {\n        return components(contextComponents)\n      }\n\n      return {...contextComponents, ...components}\n    },\n    [contextComponents, components]\n  )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n *   Properties.\n * @returns {JSX.Element}\n *   Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n  /** @type {Readonly<MDXComponents>} */\n  let allComponents\n\n  if (properties.disableParentContext) {\n    allComponents =\n      typeof properties.components === 'function'\n        ? properties.components(emptyComponents)\n        : properties.components || emptyComponents\n  } else {\n    allComponents = useMDXComponents(properties.components)\n  }\n\n  return React.createElement(\n    MDXContext.Provider,\n    {value: allComponents},\n    properties.children\n  )\n}\n","import React         from 'react'\nimport PageRouter    from '@/router/Router.jsx'\nimport Context       from './Context.jsx'\nimport themeConfig   from './Theme.jsx'\nimport mdxComponents from '@/mdx/index.jsx'\nimport { MDXProvider } from '@mdx-js/react'\nimport { RouterProvider } from 'react-router-dom'\nimport { Theme as BadgerReactUITheme } from '@abw/badger-react-ui'\nimport { ThemeProvider as ReactNightAndDayProvider } from '@abw/react-night-and-day'\n\nexport const SiteProvider = ({\n  themeStorageKey='theme',\n  theme,\n  Router,\n  ...props\n}) =>\n  <ReactNightAndDayProvider storageKey={themeStorageKey}>\n    <BadgerReactUITheme.Provider {...themeConfig(theme)}>\n      <MDXProvider components={mdxComponents}>\n        <Context.Provider {...props}>\n          <RouterProvider router={Router || PageRouter(props)} />\n        </Context.Provider>\n      </MDXProvider>\n    </BadgerReactUITheme.Provider>\n  </ReactNightAndDayProvider>\n\nexport default SiteProvider","import React from 'react'\nimport { Spinner } from '@abw/badger-react-ui'\n\nexport const Loading = ({\n  message='Loading...',\n  size='x2',\n  spinnerSize='x6',\n  className=''\n}) =>\n  <div className={`loading ${size} ${className}`}>\n    <Spinner size={spinnerSize}/>\n    <div className=\"message pad-t-4\">\n      {message}\n    </div>\n  </div>\n\nexport default Loading","import React from 'react'\nimport { codify } from '@/utils/Markup.jsx'\nimport { isString } from '@abw/badger-utils'\nimport { isArray } from '@abw/badger-utils'\n\nexport const PropsTable = ({ items }) =>\n  <table className=\"props-table wide shaded striped celled baseline\">\n    <thead>\n      <tr>\n        <th>Property</th>\n        <th>Default</th>\n        <th>Description</th>\n      </tr>\n    </thead>\n    <tbody>\n      { items.map(\n        ([name, def, desc]) =>\n          <PropRow key={name} name={name} defaultValue={def} description={desc}/>\n      )}\n    </tbody>\n  </table>\n\nconst PropRow = ({name, defaultValue, description}) =>\n  <tr>\n    <td className=\"font-mono\">{name}</td>\n    <td className=\"font-mono\">{defaultValue}</td>\n    { isString(description)\n      ? <td dangerouslySetInnerHTML={{__html: codify(description)}}/>\n      : isArray(description)\n        ? <td>\n            { description.map(\n              (para, n) =>\n                <p key={n} dangerouslySetInnerHTML={{__html: codify(para)}}/>\n            )}\n          </td>\n        : <td>{description}</td>\n    }\n  </tr>\n\nexport default PropsTable","\nexport function distinct() {\n  const seen = { }\n  return value => {\n    if (seen[value]) {\n      return false\n    }\n    else {\n      seen[value] = true\n      return true\n    }\n  }\n}\n\nexport function distinctKey(key) {\n  const seen = { }\n  return obj => {\n    const value = obj[key]\n    if (seen[value]) {\n      return false\n    }\n    else {\n      seen[value] = true\n      return true\n    }\n  }\n}","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JavaScript\\\",\\\"name\\\":\\\"javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[:=(,\\\\\\\\[?+!>]|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^throw|[^\\\\\\\\._$0-9A-Za-z]throw|^in|[^\\\\\\\\._$0-9A-Za-z]in|^of|[^\\\\\\\\._$0-9A-Za-z]of|^typeof|[^\\\\\\\\._$0-9A-Za-z]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.array.literal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync)\\\\\\\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.js\\\"},{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync))?((?<![})!\\\\\\\\]])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\}|\\\\\\\\S)(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!\\\\\\\\/[\\\\\\\\/\\\\\\\\*])\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[:])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.js\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"\\\\\\\\]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.js\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|\\\\\\\\/[\\\\\\\\/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|[;),}\\\\\\\\]:\\\\\\\\-+]|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(extends|implements)\\\\\\\\b)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.js\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"name\\\":\\\"comment.block.documentation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.js\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.js\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.js\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.block.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:access|api))\\\\\\\\s+(private|protected|public)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^@\\\\\\\\s<>*/](?:[^@<>*/]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js\\\"}},\\\"match\\\":\\\"[^\\\\\\\\s@*](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^\\\\\\\\s*]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*(?:\\\\\\\\s*,\\\\\\\\s*[A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[\\\\\\\\w$]+(?:(?:\\\\\\\\[\\\\\\\\])?\\\\\\\\.[\\\\\\\\w$]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!\\\\\\\"))|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!'))|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:(?:\\\\\\\\*(?!/))|[^*])*?\\\\\\\\]|(?:(?:\\\\\\\\*(?!/))|\\\\\\\\s(?!\\\\\\\\s*\\\\\\\\])|\\\\\\\\[.*?(?:\\\\\\\\]|(?=\\\\\\\\*/))|[^*\\\\\\\\s\\\\\\\\[\\\\\\\\]])*)*))?\\\\\\\\s*(?:(\\\\\\\\])((?:[^*\\\\\\\\s]|\\\\\\\\*[^\\\\\\\\s/])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^{}@\\\\\\\\s*]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([''\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^\\\\\\\\s*]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.enum.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.js\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\])))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:(?:\\\\\\\\s*(=))|(?:\\\\\\\\s+(default)(?=\\\\\\\\s+)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.default.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[{*])|((?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s|,))(?!\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[:,]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.js\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.js\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[;,:})\\\\\\\\]]))\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js\\\"}},\\\"end\\\":\\\"(?=^|[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.js\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},{\\\"match\\\":\\\"\\\\\\\\&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js\\\"},{\\\"match\\\":\\\"<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js\\\"},{\\\"match\\\":\\\"===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.js\\\"},{\\\"match\\\":\\\"<=|>=|<>|<|>\\\",\\\"name\\\":\\\"keyword.operator.relational.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z])(!)\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js\\\"},{\\\"match\\\":\\\"\\\\\\\\&|~|\\\\\\\\^|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js\\\"},{\\\"match\\\":\\\"%|\\\\\\\\*|/|-|\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"},{\\\"begin\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\\\",\\\"end\\\":\\\"(?:(/=)|(?:(/)(?!\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|\\\\\\\\}|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$|(^(?!\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|$))))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.field.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.property.js variable.object.property.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*))await)?\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"end\\\":\\\"(?<=>)(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js punctuation.accessor.optional.js\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.js keyword.operator.definiteassignment.js\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.js\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=;)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.js\\\"}},\\\"name\\\":\\\"meta.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"match\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\",\\\"name\\\":\\\"variable.other.constant.js\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[:(])(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"}},\\\"end\\\":\\\"(?<!^import|[^\\\\\\\\._$0-9A-Za-z]import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=^import|[^\\\\\\\\._$0-9A-Za-z]import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.js\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.import-equals.external.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.js\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.js\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.block.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:(\\\\\\\\bdefault)|(\\\\\\\\*)|(\\\\\\\\b[_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.js\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.js\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([+-])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.js\\\"}},\\\"end\\\":\\\"(\\\\\\\\])([+-])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\]]+(\\\\\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^|}\\\\\\\\s*]|\\\\\\\\*[/])+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^{}@\\\\\\\\s|*]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|(===|!==|==|!=)|(([\\\\\\\\&\\\\\\\\~\\\\\\\\^\\\\\\\\|]\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.interface.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.js\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G({)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js\\\"}},\\\"match\\\":\\\"(&)([a-zA-Z0-9]+|#\\\\\\\\d+|#x[0-9a-fA-F]+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.js\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"}},\\\"name\\\":\\\"string.quoted.double.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"}},\\\"name\\\":\\\"string.quoted.single.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(/>)|(?:(</)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"}},\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:'|\\\\\\\"|{|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.js\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(:))?([_$A-Za-z][-_$0-9A-Za-z]*)(?=\\\\\\\\s|=|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^default|[^\\\\\\\\._$0-9A-Za-z]default|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^default|[^\\\\\\\\._$0-9A-Za-z]default|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.method.js entity.name.function.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[_$A-Za-z\\\\\\\"'`]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})|(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.type.module.js\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"name\\\":\\\"new.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.js\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.js\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.object.property.js\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.js\\\"}},\\\"match\\\":\\\"(?:([A-Z][_$\\\\\\\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\]])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=((\\\\\\\\s*[(<,}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(<,}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[\\\\\\\\]\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js\\\"}},\\\"match\\\":\\\"(?![_$A-Za-z])([\\\\\\\\d]+)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"}},\\\"match\\\":\\\"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"}},\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js\\\"}},\\\"end\\\":\\\"(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js punctuation.separator.key-value.js\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?=[,)])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(=,])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(=,]|=>|^return|[^\\\\\\\\._$0-9A-Za-z]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js\\\"}},\\\"contentName\\\":\\\"meta.arrow.js meta.return.type.arrow.js\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.js\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.js\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(\\\\\\\")|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js\\\"}},\\\"name\\\":\\\"string.quoted.double.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js\\\"}},\\\"name\\\":\\\"string.quoted.single.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[=(:,\\\\\\\\[?+!]|^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*\\\\\\\\/)\\\\\\\\s*(\\\\\\\\/)(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[()]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![_$0-9A-Za-z)\\\\\\\\]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*\\\\\\\\/)|((?<=^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case))\\\\\\\\s*)\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[wWsSdDtrnvf]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[bB]|\\\\\\\\^|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*|\\\\\\\\\\\\\\\\k<([a-zA-Z_$][\\\\\\\\w$]*)>\\\"},{\\\"match\\\":\\\"[?+*]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)\\\\\\\\}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|(?:\\\\\\\\?<([a-zA-Z_$][\\\\\\\\w$]*)>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^\\\\\\\\]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])(?=$|^|[{};,]|//)\\\",\\\"name\\\":\\\"meta.return.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[{};,]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[:|&])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.js\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\\\\\{[0-9A-Fa-f]+\\\\\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.js\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.js\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*[(]\\\\\\\\s*[\\\\\\\\\\\\\\\"\\\\\\\\'\\\\\\\\`]))\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"switch-statement.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"switch-expression.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\})\\\",\\\"name\\\":\\\"switch-block.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.js punctuation.definition.section.case-statement.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.js punctuation.definition.block.js\\\"}},\\\"contentName\\\":\\\"meta.block.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.js punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.js punctuation.definition.section.case-statement.js\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*[^\\\\\\\\d])(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.js\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.type.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])(?!\\\\\\\\s*[|&]\\\\\\\\s+)((?=^|[,);}\\\\\\\\]]|//)|(?==[^>])|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[,);}\\\\\\\\]]|\\\\\\\\/\\\\\\\\/)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.js\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.js storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.js keyword.control.new.js\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=[(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])(?=[,\\\\\\\\]){}=;>:?]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])((?=[,\\\\\\\\]){}=;:?>]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.js\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"entity.name.type.js\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.object.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.js\\\"},{\\\"match\\\":\\\"(\\\\\\\\?|:)\\\",\\\"name\\\":\\\"keyword.operator.ternary.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s(is)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.js\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.js\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.type.tuple.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.js\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]=>:&|{?]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.js\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^let|[^\\\\\\\\._$0-9A-Za-z]let|^var|[^\\\\\\\\._$0-9A-Za-z]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^const|[^\\\\\\\\._$0-9A-Za-z]const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^using|[^\\\\\\\\._$0-9A-Za-z]using|^await\\\\\\\\s+using|[^\\\\\\\\._$0-9A-Za-z]await\\\\\\\\s+using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=\\\\\\\\/\\\\\\\\/))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.readwrite.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![\\\\\\\\|\\\\\\\\&+\\\\\\\\-\\\\\\\\*\\\\\\\\/])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.js\\\",\\\"aliases\\\":[\\\"js\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"CSS\\\",\\\"name\\\":\\\"css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#combinators\\\"},{\\\"include\\\":\\\"#selector\\\"},{\\\"include\\\":\\\"#at-rules\\\"},{\\\"include\\\":\\\"#rule-list\\\"}],\\\"repository\\\":{\\\"at-rules\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\A(?:\\\\\\\\xEF\\\\\\\\xBB\\\\\\\\xBF)?(?i:(?=\\\\\\\\s*@charset\\\\\\\\b))\\\",\\\"end\\\":\\\";|(?=$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.charset.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.not-lowercase.charset.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.leading-whitespace.charset.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-whitespace.charset.css\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.whitespace.charset.css\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.not-double-quoted.charset.css\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.illegal.unclosed-string.charset.css\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.unexpected-characters.charset.css\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?!@charset)@\\\\\\\\w+)|\\\\\\\\G(\\\\\\\\s+)|(@charset\\\\\\\\S[^;]*)|(?<=@charset)(\\\\\\\\x20{2,}|\\\\\\\\t+)|(?<=@charset\\\\\\\\x20)([^\\\\\\\";]+)|(\\\\\\\"[^\\\\\\\"]+$)|(?<=\\\\\\\")([^;]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"match\\\":\\\"((@)charset)(?=\\\\\\\\s)\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"|$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\G|^)(?=(?:[^\\\\\\\"])+$)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"invalid.illegal.unclosed.string.css\\\"}]}]},{\\\"begin\\\":\\\"(?i)((@)import)(?:\\\\\\\\s+|$|(?=['\\\\\\\"]|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.import.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=/\\\\\\\\*)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\*/)\\\\\\\\s*\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"}]},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#url\\\"},{\\\"include\\\":\\\"#media-query-list\\\"}]},{\\\"begin\\\":\\\"(?i)((@)font-face)(?=\\\\\\\\s*|{|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.font-face.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.at-rule.font-face.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},{\\\"begin\\\":\\\"(?i)(@)page(?=[\\\\\\\\s:{]|/\\\\\\\\*|$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*($|[:{;]))\\\",\\\"name\\\":\\\"meta.at-rule.page.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list\\\"}]},{\\\"begin\\\":\\\"(?i)(?=@media(\\\\\\\\s|\\\\\\\\(|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)media\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[{;])\\\",\\\"name\\\":\\\"meta.at-rule.media.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query-list\\\"}]},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.media.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.media.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.media.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@counter-style([\\\\\\\\s'\\\\\\\"{;]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)counter-style\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.counter-style.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*{)\\\",\\\"name\\\":\\\"meta.at-rule.counter-style.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*\\\",\\\"name\\\":\\\"variable.parameter.style-name.css\\\"}]},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.counter-style.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#rule-list-innards\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@document([\\\\\\\\s'\\\\\\\"{;]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)document\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.document.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[{;])\\\",\\\"name\\\":\\\"meta.at-rule.document.header.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(url-prefix|domain|regexp)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.document-rule.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.document-rule.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"[^'\\\\\\\")\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.document-rule.css\\\"}]},{\\\"include\\\":\\\"#url\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.document.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.document.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.document.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\\\\\\\\s'\\\\\\\"{;]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)(?:-(?:webkit|moz|o|ms)-)?keyframes\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*{)\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*\\\",\\\"name\\\":\\\"variable.parameter.keyframe-list.css\\\"}]},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.keyframes.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.keyframe-offset.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.keyframe-offset.percentage.css\\\"}},\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(from|to)(?![\\\\\\\\w-])|([-+]?(?:\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)?|\\\\\\\\.\\\\\\\\d+)%)\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@supports(\\\\\\\\s|\\\\\\\\(|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)|(?=;)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)supports\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[{;])\\\",\\\"name\\\":\\\"meta.at-rule.supports.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#feature-query-operators\\\"},{\\\"include\\\":\\\"#feature-query\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.supports.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.supports.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.supports.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)((@)(-(ms|o)-)?viewport)(?=[\\\\\\\\s'\\\\\\\"{;]|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.viewport.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[@{;])\\\",\\\"name\\\":\\\"meta.at-rule.viewport.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"(?i)((@)font-feature-values)(?=[\\\\\\\\s'\\\\\\\"{;]|/\\\\\\\\*|$)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.font-feature-values.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"contentName\\\":\\\"variable.parameter.font-name.css\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[@{;])\\\",\\\"name\\\":\\\"meta.at-rule.font-features.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"include\\\":\\\"#font-features\\\"},{\\\"begin\\\":\\\"(?i)((@)namespace)(?=[\\\\\\\\s'\\\\\\\";]|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\";|(?=[@{])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.namespace.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#url\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.namespace-prefix.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?i)(?:\\\\\\\\G|^|(?<=\\\\\\\\s))(?=(?<=\\\\\\\\s|^)(?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])|\\\\\\\\s*/\\\\\\\\*(?:[^*]|\\\\\\\\*[^/])*\\\\\\\\*/)(.*?)((?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*)\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?i)(?=@[\\\\\\\\w-]+[^;]+;s*$)\\\",\\\"end\\\":\\\"(?<=;)(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)[\\\\\\\\w-]+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.header.css\\\"}]},{\\\"begin\\\":\\\"(?i)(?=@[\\\\\\\\w-]+(\\\\\\\\s|\\\\\\\\(|{|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)[\\\\\\\\w-]+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[{;])\\\",\\\"name\\\":\\\"meta.at-rule.header.css\\\"},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"color-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\"},{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.color.w3c-extended-color-name.css\\\"},{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])currentColor(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.color.current.css\\\"},{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"invalid.deprecated.color.system.css\\\"}]},\\\"combinators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"/deep/|>>>\\\",\\\"name\\\":\\\"invalid.deprecated.combinator.css\\\"},{\\\"match\\\":\\\">>|>|\\\\\\\\+|~\\\",\\\"name\\\":\\\"keyword.operator.combinator.css\\\"}]},\\\"commas\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.list.comma.css\\\"},\\\"comment-block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.css\\\"}},\\\"name\\\":\\\"comment.block.css\\\"},\\\"escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-9a-fA-F]{1,6}\\\",\\\"name\\\":\\\"constant.character.escape.codepoint.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\$\\\\\\\\s*\\\",\\\"end\\\":\\\"^(?<!\\\\\\\\G)\\\",\\\"name\\\":\\\"constant.character.escape.newline.css\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]},\\\"feature-query\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.condition.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.condition.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.feature-query.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#feature-query-operators\\\"},{\\\"include\\\":\\\"#feature-query\\\"}]},\\\"feature-query-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=[\\\\\\\\s()]|^|\\\\\\\\*/)(and|not|or)(?=[\\\\\\\\s()]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.feature.$1.css\\\"},{\\\"include\\\":\\\"#rule-list-innards\\\"}]},\\\"font-features\\\":{\\\"begin\\\":\\\"(?i)((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\\\\\\\\s@'\\\\\\\"{;]|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.${3:/downcase}.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.at-rule.${3:/downcase}.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.property-list.font-feature.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*\\\",\\\"name\\\":\\\"variable.font-feature.css\\\"},{\\\"include\\\":\\\"#rule-list-innards\\\"}]}]},\\\"functional-pseudo-classes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)((:)dir)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(ltr|rtl)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.text-direction.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)((:)lang)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[(,\\\\\\\\s])[a-zA-Z]+(-[a-zA-Z0-9]*|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*(?=[),\\\\\\\\s])\\\",\\\"name\\\":\\\"support.constant.language-range.css\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\"\\\\\\\\s])[a-zA-Z*]+(-[a-zA-Z0-9*]*)*(?=[\\\\\\\"\\\\\\\\s])\\\",\\\"name\\\":\\\"support.constant.language-range.css\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.single.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"(?<=['\\\\\\\\s])[a-zA-Z*]+(-[a-zA-Z0-9*]*)*(?=['\\\\\\\\s])\\\",\\\"name\\\":\\\"support.constant.language-range.css\\\"}]},{\\\"include\\\":\\\"#commas\\\"}]},{\\\"begin\\\":\\\"(?i)((:)(?:not|has|matches|where|is))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#selector-innards\\\"}]},{\\\"begin\\\":\\\"(?i)((:)nth-(?:last-)?(?:child|of-type))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[+-]?(\\\\\\\\d+n?|n)(\\\\\\\\s*[+-]\\\\\\\\s*\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.numeric.css\\\"},{\\\"match\\\":\\\"(?i)even|odd\\\",\\\"name\\\":\\\"support.constant.parity.css\\\"}]}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(calc)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.calc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[*/]|(?<=\\\\\\\\s|^)[-+](?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(rgba?|rgb|hsla?|hsl|hwb|lab|oklab|lch|oklch|color)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.color.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])((?:-webkit-|-moz-|-o-)?(?:repeating-)?(?:linear|radial|conic)-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.gradient.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(from|to|at|in|hue)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"keyword.operator.gradient.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(-webkit-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.deprecated.gradient.function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.gradient.invalid.deprecated.gradient.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(from|to|color-stop)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.deprecated.function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan|atan2|hypot|sqrt|pow|log|exp|abs|sign)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.misc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=[,\\\\\\\\s\\\\\\\"]|\\\\\\\\*/|^)\\\\\\\\d+x(?=[\\\\\\\\s,\\\\\\\"')]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"constant.numeric.other.density.css\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"[^'\\\\\\\"),\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.misc.css\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(circle|ellipse|inset|polygon|rect)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.shape.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.shape.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|\\\\\\\\*/)(at|round)(?=\\\\\\\\s|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.shape.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(cubic-bezier|steps)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing-function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.timing-function.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(start|end)(?=\\\\\\\\s*\\\\\\\\)|$)\\\",\\\"name\\\":\\\"support.constant.step-direction.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.transform.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"include\\\":\\\"#url\\\"},{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w-])(var)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.variable.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--(?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*\\\",\\\"name\\\":\\\"variable.argument.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},\\\"media-feature-keywords\\\":{\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s|:|\\\\\\\\*/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=\\\\\\\\s|\\\\\\\\)|$)\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},\\\"media-features\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.media.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.property-name.media.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.vendored.property-name.media.css\\\"}},\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s|\\\\\\\\(|\\\\\\\\*/)(?:((?:min-|max-)?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:min-|max-)?device-(?:height|width|aspect-ratio))|((?:[-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[\\\\\\\\w-]+(?=\\\\\\\\s*(?:/\\\\\\\\*(?:[^*]|\\\\\\\\*[^/])*\\\\\\\\*/)?\\\\\\\\s*[:)])))(?=\\\\\\\\s|$|[><:=]|\\\\\\\\)|/\\\\\\\\*)\\\"},\\\"media-query\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[{;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#media-types\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|,|\\\\\\\\*/)(only|not)(?=\\\\\\\\s|{|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.$1.media.css\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|\\\\\\\\*/|\\\\\\\\))and(?=\\\\\\\\s|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.and.media.css\\\"},{\\\"match\\\":\\\",(?:(?:\\\\\\\\s*,)+|(?=\\\\\\\\s*[;){]))\\\",\\\"name\\\":\\\"invalid.illegal.comma.css\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#media-features\\\"},{\\\"include\\\":\\\"#media-feature-keywords\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"},{\\\"match\\\":\\\">=|<=|=|<|>\\\",\\\"name\\\":\\\"keyword.operator.comparison.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"}},\\\"match\\\":\\\"(\\\\\\\\d+)\\\\\\\\s*(/)\\\\\\\\s*(\\\\\\\\d+)\\\",\\\"name\\\":\\\"meta.ratio.css\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#comment-block\\\"}]}]},\\\"media-query-list\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*[^{;])\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[{;])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},\\\"media-types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.media.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.constant.media.css\\\"}},\\\"match\\\":\\\"(?i)(?<=^|\\\\\\\\s|,|\\\\\\\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[{,\\\\\\\\s;]|/\\\\\\\\*)\\\"},\\\"numeric-values\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.css\\\"}},\\\"match\\\":\\\"(#)(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.hex.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.percentage.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.${2:/downcase}.css\\\"}},\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])[-+]?(?:\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)?|\\\\\\\\.\\\\\\\\d+)(?:(?<=\\\\\\\\d)E[-+]?\\\\\\\\d+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.css\\\"}]},\\\"property-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|large|larger|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.property-value.list-style-type.css\\\"},{\\\"match\\\":\\\"(?<![\\\\\\\\w-])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-zA-Z-]+\\\",\\\"name\\\":\\\"support.constant.vendored.property-value.css\\\"},{\\\"match\\\":\\\"(?<![\\\\\\\\w-])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.constant.font-name.css\\\"}]},\\\"property-names\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w-])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|r|rx|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|x|y|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"support.type.property-name.css\\\"},{\\\"match\\\":\\\"(?<![\\\\\\\\w-])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-zA-Z-]+\\\",\\\"name\\\":\\\"support.type.vendored.property-name.css\\\"}]},\\\"property-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commas\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#property-keywords\\\"},{\\\"include\\\":\\\"#unicode-range\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#color-keywords\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"!\\\\\\\\s*important(?![\\\\\\\\w-])\\\",\\\"name\\\":\\\"keyword.other.important.css\\\"}]},\\\"pseudo-classes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.colon.css\\\"}},\\\"match\\\":\\\"(?i)(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![\\\\\\\\w-]|\\\\\\\\s*[;}])\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"pseudo-elements\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(?i)(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[a-z-]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![\\\\\\\\w-]|\\\\\\\\s*[;}])\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.css\\\"},\\\"rule-list\\\":{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.property-list.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-innards\\\"}]},\\\"rule-list-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#font-features\\\"},{\\\"match\\\":\\\"(?<![\\\\\\\\w-])--(?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*\\\",\\\"name\\\":\\\"variable.css\\\"},{\\\"begin\\\":\\\"(?<![-a-zA-Z])(?=[-a-zA-Z])\\\",\\\"end\\\":\\\"$|(?![-a-zA-Z])\\\",\\\"name\\\":\\\"meta.property-name.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-names\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"contentName\\\":\\\"meta.property-value.css\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|\\\\\\\\s*(?=}|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}]},\\\"selector\\\":{\\\"begin\\\":\\\"(?=(?:\\\\\\\\|)?(?:[-\\\\\\\\[:.*#a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[/@{)])\\\",\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selector-innards\\\"}]},\\\"selector-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#combinators\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.namespace-prefix.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.css\\\"}},\\\"match\\\":\\\"(?:^|(?<=[\\\\\\\\s,(};]))(?![-\\\\\\\\w*]+\\\\\\\\|(?![-\\\\\\\\[:.*#a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F]))((?:[-a-zA-Z_]|[^\\\\\\\\x00-\\\\\\\\x7F])(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*|\\\\\\\\*)?(\\\\\\\\|)\\\"},{\\\"include\\\":\\\"#tag-names\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?<![@\\\\\\\\w-])([.#])((?:-?\\\\\\\\d|-(?=$|[\\\\\\\\s,.#)\\\\\\\\[:{>+~|]|/\\\\\\\\*)|(?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*(?:[!\\\\\\\"'%&(*;<?@^`|\\\\\\\\]}]|/(?!\\\\\\\\*))+)(?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-identifier.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\.)((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\\\\\\\s,.#)\\\\\\\\[:{>+~|]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\#)(-?(?!\\\\\\\\d)(?:[-a-zA-Z0-9_]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))+)(?=$|[\\\\\\\\s,.#)\\\\\\\\[:{>+~|]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.begin.bracket.square.css\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.end.bracket.square.css\\\"}},\\\"name\\\":\\\"meta.attribute-selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ignore-case.css\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\"'\\\\\\\\s]|^|\\\\\\\\*/)\\\\\\\\s*([iI])\\\\\\\\s*(?=[\\\\\\\\s\\\\\\\\]]|/\\\\\\\\*|$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?<==)\\\\\\\\s*((?!/\\\\\\\\*)(?:[^\\\\\\\\\\\\\\\\\\\\\\\"'\\\\\\\\s\\\\\\\\]]|\\\\\\\\\\\\\\\\.)+)\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"[~|^$*]?=\\\",\\\"name\\\":\\\"keyword.operator.pattern.css\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.namespace-prefix.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?:[\\\\\\\\w-]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))+|\\\\\\\\*)(?=\\\\\\\\|(?!\\\\\\\\s|=|$|\\\\\\\\])(?:-?(?!\\\\\\\\d)|[\\\\\\\\\\\\\\\\\\\\\\\\w-]|[^\\\\\\\\x00-\\\\\\\\x7F]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?>[\\\\\\\\w-]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.))+)\\\\\\\\s*(?=[~|^\\\\\\\\]$*=]|/\\\\\\\\*)\\\"}]},{\\\"include\\\":\\\"#pseudo-classes\\\"},{\\\"include\\\":\\\"#pseudo-elements\\\"},{\\\"include\\\":\\\"#functional-pseudo-classes\\\"},{\\\"match\\\":\\\"(?<![@\\\\\\\\w-])(?=[a-z]\\\\\\\\w*-)(?:(?![A-Z])[\\\\\\\\w-])+(?![(\\\\\\\\w-])\\\",\\\"name\\\":\\\"entity.name.tag.custom.css\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"|(?<!\\\\\\\\\\\\\\\\)(?=$|\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\G|^)(?=(?:[^\\\\\\\\\\\\\\\\\\\\\\\"]|\\\\\\\\\\\\\\\\.)+$)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"invalid.illegal.unclosed.string.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"'|(?<!\\\\\\\\\\\\\\\\)(?=$|\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.single.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\G|^)(?=(?:[^\\\\\\\\\\\\\\\\']|\\\\\\\\\\\\\\\\.)+$)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"invalid.illegal.unclosed.string.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"include\\\":\\\"#escapes\\\"}]}]},\\\"tag-names\\\":{\\\"match\\\":\\\"(?i)(?<![\\\\\\\\w:-])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rt|rtc|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|u|ul|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[+~>\\\\\\\\s,.#|){:\\\\\\\\[]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"entity.name.tag.css\\\"},\\\"unicode-range\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.unicode-range.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dash.unicode-range.css\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\w-])[Uu]\\\\\\\\+[0-9A-Fa-f?]{1,6}(?:(-)[0-9A-Fa-f]{1,6})?(?![\\\\\\\\w-])\\\"},\\\"url\\\":{\\\"begin\\\":\\\"(?i)(?<![\\\\\\\\w@-])(url)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.url.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.url.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[^'\\\\\\\")\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.url.css\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"scopeName\\\":\\\"source.css\\\"}\"))\n\nexport default [\nlang\n]\n","import javascript from './javascript.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTML\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"comment\\\":\\\"Uses R: to ensure this matches after any other injections.\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#tags-invalid\\\"},{\\\"include\\\":\\\"#entities\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"HTML5 attributes, not event handlers\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"style(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"HTML5 style attribute\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.style.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^\\\\\\\\s=])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^\\\\\\\\s=<>`/]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"match\\\":\\\"([^\\\\\\\\s\\\\\\\"'=<>`/]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o(nline|ffline)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d(data|metadata)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"HTML5 attributes, event handlers\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.event-handler.$1.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^\\\\\\\\s=])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^\\\\\\\\s=<>`/]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\\s\\\\\\\"'=<>`/]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![/*]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![/*]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"(data-[a-z\\\\\\\\-]+)(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"HTML5 attributes, data-*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.data-x.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"(align|bgcolor|border)(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.deprecated.entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"HTML attributes, deprecated\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x{0020}\\\\\\\"'<>/=\\\\\\\\x{0000}-\\\\\\\\x{001F}\\\\\\\\x{007F}-\\\\\\\\x{009F}\\\\\\\\x{FDD0}-\\\\\\\\x{FDEF}\\\\\\\\x{FFFE}\\\\\\\\x{FFFF}\\\\\\\\x{1FFFE}\\\\\\\\x{1FFFF}\\\\\\\\x{2FFFE}\\\\\\\\x{2FFFF}\\\\\\\\x{3FFFE}\\\\\\\\x{3FFFF}\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"Anything else that is valid\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^\\\\\\\\s>]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"attribute-interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^\\\\\\\\s=])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([^\\\\\\\\s\\\\\\\"'=<>`/]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},\\\"cdata\\\":{\\\"begin\\\":\\\"<!\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"contentName\\\":\\\"string.other.inline-data.html\\\",\\\"end\\\":\\\"]]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.cdata.html\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"<!--(?!>)|<!-(?=-->)\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"}]},\\\"core-minus-invalid\\\":{\\\"comment\\\":\\\"This should be the root pattern array includes minus #tags-invalid\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"doctype\\\":{\\\"begin\\\":\\\"<!(?=(?i:DOCTYPE\\\\\\\\s))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?i:DOCTYPE)\\\",\\\"name\\\":\\\"entity.name.tag.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.html\\\"},{\\\"match\\\":\\\"[^\\\\\\\\s>]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"comment\\\":\\\"Yes this is a bit ridiculous, there are quite a lot of these\\\",\\\"match\\\":\\\"(&)(?=[a-zA-Z])((a(s(ymp(eq)?|cr|t)|n(d(slope|d|v|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a(h|c|d|e|f|a|g|b))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|e|E|acir)?|elig|f(r)?|w(conint|int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h(d|u|D|U)?|times|H(d|u|D|U)?|d(R|l|r|L)|u(R|l|r|L)|plus|D(R|l|r|L)|v(R|h|H|l|r|L)?|U(R|l|r|L)|V(R|h|H|l|r|L)?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1(2|4)|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr(l|r)|p(s|c(up|ap)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w(conint|int)|lubs(uit)?|a(cute|p(s|c(up|ap)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly(DoubleQuote|Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c(y|r)|trok|ol)|har(l|r)|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up(DownArrow|Arrow)|VerticalBar|L(ong(RightArrow|Left(RightArrow|Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t(h|a)|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(ot|Dot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1(3|4))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty(SmallSquare|VerySmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(ig|lig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1(2|8|3|4|5|6)|78|2(3|5)|3(8|4|5)|45|5(8|6)))))|F(scr|cy|illed(SmallSquare|VerySmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im(e|l)?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(qless|less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l(j|E|a)?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok(leftarrow|rightarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks(earow|warow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|v|E)?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(nt|int)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f(f|r)|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im(e|g)?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(il|dil)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i(e|f)?|Par))?|Har|o(ng(left(arrow|rightarrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r(dhar|ushar))|ur(dshar|uhar)|jcy|par(lt)?|e(s(s(sim|dot|eq(qgtr|gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left(arrow|rightarrow)|rightarrow|Left(RightArrow|Arrow))|pf|wer(RightArrow|LeftArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u(ltimap|map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|e|r)?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|e|E)?|b(set(eq(q)?)?|e|E)?)|par|qsu(pe|be)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v(c|a|b))?|in(dot|v(c|a|b)|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g(t|e))|fr|w(near|ar(hk|r(ow)?)|Arr)|V(dash|Dash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft(arrow|rightarrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr(c|w)?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft(arrow|rightarrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes(SlantEqual|Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi(nSpace|ckSpace)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|f|m)?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly(DoubleQuote|Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d(o|u)|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(il|dil)|aron)|Barr|t(hree|imes|ri(e|f|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng(d|e|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl(d|u)|e)|ac(e|k))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma(v|f)?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot(e|b)?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n(e|E)|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u(p|b)|et(neq(q)?|eq(q)?)?)|n(e|E)|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar(e|f))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort(RightArrow|DownArrow|UpArrow|LeftArrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c(y|r)|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead(leftarrow|rightarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i(nSpace|ckSpace)|e(ta|refore))|c(y|edil|aron)|S(cy|Hcy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a(u|b)|ripleDot))|(u(scr|h(ar(l|r)|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per(RightArrow|LeftArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn(e|E)|bn(e|E)))|nsu(p|b)|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h(arr|Arr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l(arr|Arr)|r(arr|Arr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(nj|j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#\\\\\\\\d+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[xX][0-9a-fA-F]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.html\\\"},{\\\"match\\\":\\\"&(?=[a-zA-Z0-9]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.html\\\"}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(math)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u(pscriptshift|bscriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x{0020}\\\\\\\"'<>/=\\\\\\\\x{0000}-\\\\\\\\x{001F}\\\\\\\\x{007F}-\\\\\\\\x{009F}\\\\\\\\x{FDD0}-\\\\\\\\x{FDEF}\\\\\\\\x{FFFE}\\\\\\\\x{FFFF}\\\\\\\\x{1FFFE}\\\\\\\\x{1FFFF}\\\\\\\\x{2FFFE}\\\\\\\\x{2FFFF}\\\\\\\\x{3FFFE}\\\\\\\\x{3FFFF}\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"Anything else that is valid\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^\\\\\\\\s>]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(mi|mn|mo|ms|mspace|mtext|maligngroup|malignmark)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.object.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.object.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([\\\\\\\\w:]+))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^\\\\\\\\s>]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.invalid.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(svg)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em(h|v)|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y(1|2|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS(criptType|tyleType)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget(X|Y)?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At(X|Y|Z))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-(y|x)|adv-y)))|alues)|k(1|2|3|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f(X|Y|errerPolicy)|l)|adius|x)?|g(1|2|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x(1|2|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk(ContentUnits|Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![\\\\\\\\w:-])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x{0020}\\\\\\\"'<>/=\\\\\\\\x{0000}-\\\\\\\\x{001F}\\\\\\\\x{007F}-\\\\\\\\x{009F}\\\\\\\\x{FDD0}-\\\\\\\\x{FDEF}\\\\\\\\x{FFFE}\\\\\\\\x{FFFF}\\\\\\\\x{1FFFE}\\\\\\\\x{1FFFF}\\\\\\\\x{2FFFE}\\\\\\\\x{2FFFF}\\\\\\\\x{3FFFE}\\\\\\\\x{3FFFF}\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"comment\\\":\\\"Anything else that is valid\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^\\\\\\\\s>]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([\\\\\\\\w:]+))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>))\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^\\\\\\\\s>]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.invalid.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"tags-invalid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(</?)((\\\\\\\\w[^\\\\\\\\s>]*))(?<!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"tags-valid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?(?=<(?i:style)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([ \\\\\\\\t]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(style)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(?i)((<)/)(style)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.css-ignored-vscode\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:style))\\\",\\\"name\\\":\\\"source.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]}]},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?(?=<(?i:script)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([ \\\\\\\\t]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)((?i:script))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(/)((?i:script))(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.js-ignored-vscode\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=</script)|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/|(?=</script)\\\",\\\"name\\\":\\\"comment.block.js\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?i:(?=>|type(?=[\\\\\\\\s=])(?!\\\\\\\\s*=\\\\\\\\s*(''|\\\\\\\"\\\\\\\"|('|\\\\\\\"|)(text/(javascript(1\\\\\\\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application/((x-)?javascript|(x-)?ecmascript)|module)[\\\\\\\\s\\\\\\\"'>]))))\\\",\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i:(?=type\\\\\\\\s*=\\\\\\\\s*('|\\\\\\\"|)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\\\\\\\s\\\\\\\"'>]))\\\",\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"text.html.basic\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"text.html.basic\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"(?=(?i:type))\\\",\\\"end\\\":\\\"(<)(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"source.unknown\\\"}]}]}]}]},{\\\"begin\\\":\\\"(?i)(<)(base|link|meta)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(col|hr|input)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(area|br|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(embed|img|param|source|track)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((basefont|isindex))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((frame))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#svg\\\"},{\\\"begin\\\":\\\"(<)([a-zA-Z][.0-9_a-zA-Z\\\\\\\\x{00B7}\\\\\\\\x{00C0}-\\\\\\\\x{00D6}\\\\\\\\x{00D8}-\\\\\\\\x{00F6}\\\\\\\\x{00F8}-\\\\\\\\x{037D}\\\\\\\\x{037F}-\\\\\\\\x{1FFF}\\\\\\\\x{200C}-\\\\\\\\x{200D}\\\\\\\\x{203F}-\\\\\\\\x{2040}\\\\\\\\x{2070}-\\\\\\\\x{218F}\\\\\\\\x{2C00}-\\\\\\\\x{2FEF}\\\\\\\\x{3001}-\\\\\\\\x{D7FF}\\\\\\\\x{F900}-\\\\\\\\x{FDCF}\\\\\\\\x{FDF0}-\\\\\\\\x{FFFD}\\\\\\\\x{10000}-\\\\\\\\x{EFFFF}]*-[\\\\\\\\-.0-9_a-zA-Z\\\\\\\\x{00B7}\\\\\\\\x{00C0}-\\\\\\\\x{00D6}\\\\\\\\x{00D8}-\\\\\\\\x{00F6}\\\\\\\\x{00F8}-\\\\\\\\x{037D}\\\\\\\\x{037F}-\\\\\\\\x{1FFF}\\\\\\\\x{200C}-\\\\\\\\x{200D}\\\\\\\\x{203F}-\\\\\\\\x{2040}\\\\\\\\x{2070}-\\\\\\\\x{218F}\\\\\\\\x{2C00}-\\\\\\\\x{2FEF}\\\\\\\\x{3001}-\\\\\\\\x{D7FF}\\\\\\\\x{F900}-\\\\\\\\x{FDCF}\\\\\\\\x{FDF0}-\\\\\\\\x{FFFD}\\\\\\\\x{10000}-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(</)([a-zA-Z][.0-9_a-zA-Z\\\\\\\\x{00B7}\\\\\\\\x{00C0}-\\\\\\\\x{00D6}\\\\\\\\x{00D8}-\\\\\\\\x{00F6}\\\\\\\\x{00F8}-\\\\\\\\x{037D}\\\\\\\\x{037F}-\\\\\\\\x{1FFF}\\\\\\\\x{200C}-\\\\\\\\x{200D}\\\\\\\\x{203F}-\\\\\\\\x{2040}\\\\\\\\x{2070}-\\\\\\\\x{218F}\\\\\\\\x{2C00}-\\\\\\\\x{2FEF}\\\\\\\\x{3001}-\\\\\\\\x{D7FF}\\\\\\\\x{F900}-\\\\\\\\x{FDCF}\\\\\\\\x{FDF0}-\\\\\\\\x{FFFD}\\\\\\\\x{10000}-\\\\\\\\x{EFFFF}]*-[\\\\\\\\-.0-9_a-zA-Z\\\\\\\\x{00B7}\\\\\\\\x{00C0}-\\\\\\\\x{00D6}\\\\\\\\x{00D8}-\\\\\\\\x{00F6}\\\\\\\\x{00F8}-\\\\\\\\x{037D}\\\\\\\\x{037F}-\\\\\\\\x{1FFF}\\\\\\\\x{200C}-\\\\\\\\x{200D}\\\\\\\\x{203F}-\\\\\\\\x{2040}\\\\\\\\x{2070}-\\\\\\\\x{218F}\\\\\\\\x{2C00}-\\\\\\\\x{2FEF}\\\\\\\\x{3001}-\\\\\\\\x{D7FF}\\\\\\\\x{F900}-\\\\\\\\x{FDCF}\\\\\\\\x{FDF0}-\\\\\\\\x{FFFD}\\\\\\\\x{10000}-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"xml-processing\\\":{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.metadata.processing.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}},\\\"scopeName\\\":\\\"text.html.basic\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"css\\\"]}\"))\n\nexport default [\n...javascript,\n...css,\nlang\n]\n","import css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SCSS\\\",\\\"name\\\":\\\"scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable_setting\\\"},{\\\"include\\\":\\\"#at_rule_forward\\\"},{\\\"include\\\":\\\"#at_rule_use\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"},{\\\"include\\\":\\\"#at_rule_import\\\"},{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#rules\\\"},{\\\"include\\\":\\\"#property_list\\\"},{\\\"include\\\":\\\"#at_rule_mixin\\\"},{\\\"include\\\":\\\"#at_rule_media\\\"},{\\\"include\\\":\\\"#at_rule_function\\\"},{\\\"include\\\":\\\"#at_rule_charset\\\"},{\\\"include\\\":\\\"#at_rule_option\\\"},{\\\"include\\\":\\\"#at_rule_namespace\\\"},{\\\"include\\\":\\\"#at_rule_fontface\\\"},{\\\"include\\\":\\\"#at_rule_page\\\"},{\\\"include\\\":\\\"#at_rule_keyframes\\\"},{\\\"include\\\":\\\"#at_rule_at_root\\\"},{\\\"include\\\":\\\"#at_rule_supports\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}],\\\"repository\\\":{\\\"at_rule_at_root\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(at-root))(\\\\\\\\s+|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.at-root.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.at-root.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},\\\"at_rule_charset\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$))\\\",\\\"name\\\":\\\"meta.at-rule.charset.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},\\\"at_rule_content\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)content\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.content.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;))\\\",\\\"name\\\":\\\"meta.content.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_each\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)each\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.each.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=}))\\\",\\\"name\\\":\\\"meta.at-rule.each.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(in|,)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"at_rule_else\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)else(\\\\\\\\s*(if)?))\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.else.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.else.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_extend\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)extend\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.extend.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.extend.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_fontface\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)font-face\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.fontface.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.fontface.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]}]},\\\"at_rule_for\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)for\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.for.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(==|!=|<=|>=|<|>|from|to|through)\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"at_rule_forward\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)forward\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.forward.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.forward.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|hide|show)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.module.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.wildcard.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([\\\\\\\\w-]+)(\\\\\\\\*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b[\\\\\\\\w-]+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.scss\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#comment_block\\\"}]},\\\"at_rule_function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)function\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.function.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)function\\\\\\\\b)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.at-rule.function.scss\\\"}]},\\\"at_rule_if\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)if\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.if.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_import\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)import\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;)|(?=}))\\\",\\\"name\\\":\\\"meta.at-rule.import.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"at_rule_include\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@include)\\\\\\\\s+(?:([\\\\\\\\w-]+)\\\\\\\\s*(\\\\\\\\.))?([\\\\\\\\w-]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.at-rule.include.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.at-rule.include.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@include)\\\\\\\\s+(?:([\\\\\\\\w-]+)\\\\\\\\s*(\\\\\\\\.))?([\\\\\\\\w-]+)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.at-rule.include.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.include.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)include)\\\\\\\\b\\\"}]},\\\"at_rule_keyframes\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.scss\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@keyframes)\\\\\\\\s+((?:[_A-Za-z][-\\\\\\\\w]|-[_A-Za-z])[-\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"(?<=@keyframes)\\\\\\\\s+(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"contentName\\\":\\\"entity.name.function.scss\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.double.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(?<=@keyframes)\\\\\\\\s+(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"contentName\\\":\\\"entity.name.function.scss\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.single.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.begin.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.end.scss\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:(?:100|[1-9]\\\\\\\\d|\\\\\\\\d)%|from|to)(?=\\\\\\\\s*{)\\\",\\\"name\\\":\\\"entity.other.attribute-name.scss\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#property_list\\\"},{\\\"include\\\":\\\"#rules\\\"}]}]},\\\"at_rule_media\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)media)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.media.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"match\\\":\\\"\\\\\\\\b(only)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator.css.scss\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.media-query.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.media-query.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.property-list.media-query.scss\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![-a-z])(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"name\\\":\\\"meta.property-name.media-query.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#media-features\\\"},{\\\"include\\\":\\\"source.css#property-names\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(?!(\\\\\\\\s*{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"contentName\\\":\\\"meta.property-value.media-query.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(;|(?=}|\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"source.css#media-types\\\"}]}]},\\\"at_rule_mixin\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@mixin)\\\\\\\\s+([\\\\\\\\w-]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@mixin)\\\\\\\\s+([\\\\\\\\w-]+)\\\",\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.mixin.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)mixin)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\"}]},\\\"at_rule_namespace\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@namespace)\\\\\\\\s+(?=url)\\\",\\\"end\\\":\\\"(?=;|$)\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},{\\\"begin\\\":\\\"(?<=@namespace)\\\\\\\\s+([\\\\\\\\w-]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace-prefix.scss\\\"}},\\\"end\\\":\\\"(?=;|$)\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)namespace)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\"}]},\\\"at_rule_option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)option\\\\\\\\b)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.at-rule.option.scss\\\"},\\\"at_rule_page\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)page)(?=:|\\\\\\\\s)\\\\\\\\s*([-:\\\\\\\\w]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?={)\\\",\\\"name\\\":\\\"meta.at-rule.page.scss\\\"}]},\\\"at_rule_return\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(return)\\\\\\\\b)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.return.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;))\\\",\\\"name\\\":\\\"meta.at-rule.return.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_supports\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(@)supports\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"(?={)|$\\\",\\\"name\\\":\\\"meta.at-rule.supports.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.definition.condition.begin.bracket.round.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.definition.condition.end.bracket.round.scss\\\"}]},\\\"at_rule_use\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)use\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.use.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.use.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"match\\\":\\\"\\\\\\\\b[\\\\\\\\w-]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.expanded-namespace.scss\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]}]},\\\"at_rule_warn\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(warn|debug|error)\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.warn.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.warn.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#string_single\\\"}]},\\\"at_rule_while\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)while\\\\\\\\b)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=})\\\",\\\"name\\\":\\\"meta.at-rule.while.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"comment_block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"name\\\":\\\"comment.block.scss\\\"},\\\"comment_docblock\\\":{\\\"begin\\\":\\\"///\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.block.documentation.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sassdoc\\\"}]},\\\"comment_line\\\":{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.scss\\\"},\\\"comparison_operators\\\":{\\\"match\\\":\\\"==|!=|<=|>=|<|>\\\",\\\"name\\\":\\\"keyword.operator.comparison.scss\\\"},\\\"conditional_operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comparison_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"}]},\\\"constant_default\\\":{\\\"match\\\":\\\"!default\\\",\\\"name\\\":\\\"keyword.other.default.scss\\\"},\\\"constant_functions\\\":{\\\"begin\\\":\\\"(?:([\\\\\\\\w-]+)(\\\\\\\\.))?([\\\\\\\\w-]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},\\\"constant_important\\\":{\\\"match\\\":\\\"!important\\\",\\\"name\\\":\\\"keyword.other.important.scss\\\"},\\\"constant_mathematical_symbols\\\":{\\\"match\\\":\\\"\\\\\\\\b(\\\\\\\\+|-|\\\\\\\\*|/)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.mathematical-symbols.scss\\\"},\\\"constant_optional\\\":{\\\"match\\\":\\\"!optional\\\",\\\"name\\\":\\\"keyword.other.optional.scss\\\"},\\\"constant_sass_functions\\\":{\\\"begin\\\":\\\"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:gradient|svg-gradient)|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate(?:X|Y))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},\\\"flow_control\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#at_rule_if\\\"},{\\\"include\\\":\\\"#at_rule_else\\\"},{\\\"include\\\":\\\"#at_rule_warn\\\"},{\\\"include\\\":\\\"#at_rule_for\\\"},{\\\"include\\\":\\\"#at_rule_while\\\"},{\\\"include\\\":\\\"#at_rule_each\\\"},{\\\"include\\\":\\\"#at_rule_return\\\"}]},\\\"function_attributes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"},{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"match\\\":\\\"[={}?;@]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\\w-]{1,})(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},{\\\"match\\\":\\\"([\\\\\\\\w-]{1,})\\\",\\\"name\\\":\\\"support.function.misc.scss\\\"}]},\\\"general\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"interpolation\\\":{\\\"begin\\\":\\\"#{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.begin.bracket.curly.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.end.bracket.curly.scss\\\"}},\\\"name\\\":\\\"variable.interpolation.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"logical_operators\\\":{\\\"match\\\":\\\"\\\\\\\\b(not|or|and)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.scss\\\"},\\\"map\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.map.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.map.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.definition.variable.map.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.map.key.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([\\\\\\\\w-]+)\\\\\\\\s*(:)\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"},{\\\"include\\\":\\\"#map\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"operators\\\":{\\\"match\\\":\\\"[-+*/](?!\\\\\\\\s*[-+*/])\\\",\\\"name\\\":\\\"keyword.operator.css\\\"},\\\"parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"match\\\":\\\"[^'\\\\\\\",) \\\\\\\\t]+\\\",\\\"name\\\":\\\"variable.parameter.url.scss\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"}]},\\\"parent_selector_suffix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(?<=&)((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\\\\\#\\\\\\\\{|\\\\\\\\$|})+)(?=$|[\\\\\\\\s,.#)\\\\\\\\[:{>+~|]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.parent-selector-suffix.css\\\"},\\\"properties\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![-a-z])(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"name\\\":\\\"meta.property-name.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#property-names\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(?!(\\\\\\\\s*{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"contentName\\\":\\\"meta.property-value.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(;|(?=}|\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},\\\"property_list\\\":{\\\"begin\\\":\\\"{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.scss\\\"}},\\\"name\\\":\\\"meta.property-list.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#rules\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"property_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#constant_functions\\\"},{\\\"include\\\":\\\"#constant_sass_functions\\\"},{\\\"include\\\":\\\"#constant_important\\\"},{\\\"include\\\":\\\"#constant_default\\\"},{\\\"include\\\":\\\"#constant_optional\\\"},{\\\"include\\\":\\\"source.css#numeric-values\\\"},{\\\"include\\\":\\\"source.css#property-keywords\\\"},{\\\"include\\\":\\\"source.css#color-keywords\\\"},{\\\"include\\\":\\\"source.css#property-names\\\"},{\\\"include\\\":\\\"#constant_mathematical_symbols\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},\\\"rules\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#at_rule_extend\\\"},{\\\"include\\\":\\\"#at_rule_content\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"},{\\\"include\\\":\\\"#at_rule_media\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},\\\"selector_attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.attribute-selector.begin.bracket.square.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.attribute.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.attribute-value.scss\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"},\\\"9\\\":{\\\"name\\\":\\\"string.quoted.single.attribute-value.scss\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.attribute-selector.end.bracket.square.scss\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\[)\\\\\\\\s*((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\\\\\#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+?)(?:\\\\\\\\s*([~|^$*]?=)\\\\\\\\s*(?:((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\\\\\#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)|((\\\\\\\")(.*?)(\\\\\\\"))|((')(.*?)('))))?\\\\\\\\s*(\\\\\\\\])\\\",\\\"name\\\":\\\"meta.attribute-selector.scss\\\"},\\\"selector_class\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\.)((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\\\\\#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)(?=$|[\\\\\\\\s,#)\\\\\\\\[:{>+~|]|\\\\\\\\.[^$]|/\\\\\\\\*|;)\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},\\\"selector_custom\\\":{\\\"match\\\":\\\"\\\\\\\\b([a-zA-Z0-9]+(-[a-zA-Z0-9]+)+)(?=\\\\\\\\.|\\\\\\\\s++[^:]|\\\\\\\\s*[,\\\\\\\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-(child|last-child|of-type|last-of-type)|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\\\\\\\([0-9A-Za-z]*\\\\\\\\))?)\\\",\\\"name\\\":\\\"entity.name.tag.custom.scss\\\"},\\\"selector_id\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\#)((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\\\\\#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)(?=$|[\\\\\\\\s,#)\\\\\\\\[:{>+~|]|\\\\\\\\.[^$]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},\\\"selector_placeholder\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-9a-fA-F]{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\$|}\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(%)((?:[-a-zA-Z_0-9]|[^\\\\\\\\x00-\\\\\\\\x7F]|\\\\\\\\\\\\\\\\(?:[0-9a-fA-F]{1,6}|.)|\\\\\\\\#\\\\\\\\{|\\\\\\\\.\\\\\\\\$|\\\\\\\\$|})+)(?=;|$|[\\\\\\\\s,#)\\\\\\\\[:{>+~|]|\\\\\\\\.[^$]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.placeholder.css\\\"},\\\"selector_pseudo_class\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((:)\\\\\\\\bnth-(?:child|last-child|of-type|last-of-type))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.pseudo-class.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.pseudo-class.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.css\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\d)n\\\\\\\\b|\\\\\\\\b(n|even|odd)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},{\\\"include\\\":\\\"source.css#pseudo-classes\\\"},{\\\"include\\\":\\\"source.css#pseudo-elements\\\"},{\\\"include\\\":\\\"source.css#functional-pseudo-classes\\\"}]},\\\"selectors\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#tag-names\\\"},{\\\"include\\\":\\\"#selector_custom\\\"},{\\\"include\\\":\\\"#selector_class\\\"},{\\\"include\\\":\\\"#selector_id\\\"},{\\\"include\\\":\\\"#selector_pseudo_class\\\"},{\\\"include\\\":\\\"#tag_wildcard\\\"},{\\\"include\\\":\\\"#tag_parent_reference\\\"},{\\\"include\\\":\\\"source.css#pseudo-elements\\\"},{\\\"include\\\":\\\"#selector_attribute\\\"},{\\\"include\\\":\\\"#selector_placeholder\\\"},{\\\"include\\\":\\\"#parent_selector_suffix\\\"}]},\\\"string_double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.double.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string_single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.single.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"tag_parent_reference\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.reference.scss\\\"},\\\"tag_wildcard\\\":{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.scss\\\"},\\\"variable\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"variable_setting\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\$[\\\\\\\\w-]+\\\\\\\\s*:)\\\",\\\"contentName\\\":\\\"meta.definition.variable.scss\\\",\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[\\\\\\\\w-]+(?=\\\\\\\\s*:)\\\",\\\"name\\\":\\\"variable.scss\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#map\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"}]}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([\\\\\\\\w-]+)(\\\\\\\\.)(\\\\\\\\$[\\\\\\\\w-]+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(\\\\\\\\$|--)[A-Za-z0-9_-]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.scss\\\"}]}},\\\"scopeName\\\":\\\"source.css.scss\\\",\\\"embeddedLangs\\\":[\\\"css\\\"]}\"))\n\nexport default [\n...css,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSON\\\",\\\"name\\\":\\\"json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.json\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.json\\\"}},\\\"name\\\":\\\"meta.structure.array.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.json\\\"},{\\\"match\\\":\\\"[^\\\\\\\\s\\\\\\\\]]\\\",\\\"name\\\":\\\"invalid.illegal.expected-array-separator.json\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.json\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.json\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},\\\"constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json\\\"},\\\"number\\\":{\\\"match\\\":\\\"-?(?:0|[1-9]\\\\\\\\d*)(?:(?:\\\\\\\\.\\\\\\\\d+)?(?:[eE][+-]?\\\\\\\\d+)?)?\\\",\\\"name\\\":\\\"constant.numeric.json\\\"},\\\"object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.begin.json\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.end.json\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.json\\\",\\\"patterns\\\":[{\\\"comment\\\":\\\"the JSON object key\\\",\\\"include\\\":\\\"#objectkey\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.key-value.json\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.pair.json\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.value.json\\\",\\\"patterns\\\":[{\\\"comment\\\":\\\"the JSON object value\\\",\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\"[^\\\\\\\\s,]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json\\\"}]},{\\\"match\\\":\\\"[^\\\\\\\\s}]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json\\\"}]},\\\"objectkey\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.begin.json\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.end.json\\\"}},\\\"name\\\":\\\"string.json support.type.property-name.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json\\\"}},\\\"name\\\":\\\"string.quoted.double.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"stringcontent\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"\\\\\\\\\\\\\\\\/bfnrt]|u[0-9a-fA-F]{4})\\\",\\\"name\\\":\\\"constant.character.escape.json\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"#comments\\\"}]}},\\\"scopeName\\\":\\\"source.json\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TypeScript\\\",\\\"name\\\":\\\"typescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[:=(,\\\\\\\\[?+!>]|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^throw|[^\\\\\\\\._$0-9A-Za-z]throw|^in|[^\\\\\\\\._$0-9A-Za-z]in|^of|[^\\\\\\\\._$0-9A-Za-z]of|^typeof|[^\\\\\\\\._$0-9A-Za-z]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync)\\\\\\\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.ts\\\"},{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync))?((?<![})!\\\\\\\\]])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\}|\\\\\\\\S)(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!\\\\\\\\/[\\\\\\\\/\\\\\\\\*])\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[:])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.ts\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"\\\\\\\\]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(<)\\\\\\\\s*(const)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"cast.expr.ts\\\"},{\\\"begin\\\":\\\"(?:(?<!\\\\\\\\+\\\\\\\\+|--)(?<=^return|[^\\\\\\\\._$0-9A-Za-z]return|^throw|[^\\\\\\\\._$0-9A-Za-z]throw|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^await|[^\\\\\\\\._$0-9A-Za-z]await|^default|[^\\\\\\\\._$0-9A-Za-z]default|[=(,:>*?\\\\\\\\&\\\\\\\\|\\\\\\\\^]|[^_$0-9A-Za-z](?:\\\\\\\\+\\\\\\\\+|--)|[^+]\\\\\\\\+|[^\\\\\\\\-]-))\\\\\\\\s*(<)(?!<?=)(?!\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?:(?<=^))\\\\\\\\s*(<)(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.ts\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|\\\\\\\\/[\\\\\\\\/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|[;),}\\\\\\\\]:\\\\\\\\-+]|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(extends|implements)\\\\\\\\b)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.ts\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.documentation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.ts\\\"},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.ts\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.ts\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.ts\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"}},\\\"name\\\":\\\"meta.tag.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:access|api))\\\\\\\\s+(private|protected|public)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^@\\\\\\\\s<>*/](?:[^@<>*/]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"}},\\\"match\\\":\\\"[^\\\\\\\\s@*](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^\\\\\\\\s*]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*(?:\\\\\\\\s*,\\\\\\\\s*[A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[\\\\\\\\w$]+(?:(?:\\\\\\\\[\\\\\\\\])?\\\\\\\\.[\\\\\\\\w$]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!\\\\\\\"))|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!'))|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:(?:\\\\\\\\*(?!/))|[^*])*?\\\\\\\\]|(?:(?:\\\\\\\\*(?!/))|\\\\\\\\s(?!\\\\\\\\s*\\\\\\\\])|\\\\\\\\[.*?(?:\\\\\\\\]|(?=\\\\\\\\*/))|[^*\\\\\\\\s\\\\\\\\[\\\\\\\\]])*)*))?\\\\\\\\s*(?:(\\\\\\\\])((?:[^*\\\\\\\\s]|\\\\\\\\*[^\\\\\\\\s/])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^{}@\\\\\\\\s*]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([''\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^\\\\\\\\s*]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.enum.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.ts\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\])))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:(?:\\\\\\\\s*(=))|(?:\\\\\\\\s+(default)(?=\\\\\\\\s+)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.default.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[{*])|((?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s|,))(?!\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[:,]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.ts\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.ts\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[;,:})\\\\\\\\]]))\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=^|[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|<|>\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z])(!)\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\&|~|\\\\\\\\^|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"%|\\\\\\\\*|/|-|\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"begin\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\\\",\\\"end\\\":\\\"(?:(/=)|(?:(/)(?!\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|\\\\\\\\}|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$|(^(?!\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|$))))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.field.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*))await)?\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"end\\\":\\\"(?<=>)(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.ts\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ts\\\"}},\\\"name\\\":\\\"meta.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"match\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\",\\\"name\\\":\\\"variable.other.constant.ts\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[:(])(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?<!^import|[^\\\\\\\\._$0-9A-Za-z]import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=^import|[^\\\\\\\\._$0-9A-Za-z]import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.import-equals.external.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.ts\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:(\\\\\\\\bdefault)|(\\\\\\\\*)|(\\\\\\\\b[_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.ts\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([+-])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\])([+-])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\]]+(\\\\\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^|}\\\\\\\\s*]|\\\\\\\\*[/])+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^{}@\\\\\\\\s|*]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|(===|!==|==|!=)|(([\\\\\\\\&\\\\\\\\~\\\\\\\\^\\\\\\\\|]\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.interface.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.ts\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G({)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.method.ts entity.name.function.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[_$A-Za-z\\\\\\\"'`]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})|(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.type.module.ts\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"name\\\":\\\"new.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.ts\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.ts\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.object.property.ts\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.ts\\\"}},\\\"match\\\":\\\"(?:([A-Z][_$\\\\\\\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\]])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=((\\\\\\\\s*[(<,}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(<,}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[\\\\\\\\]\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"}},\\\"match\\\":\\\"(?![_$A-Za-z])([\\\\\\\\d]+)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"}},\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.ts\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=[,)])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(=,])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(=,]|=>|^return|[^\\\\\\\\._$0-9A-Za-z]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ts\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\")|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.double.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.single.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[=(:,\\\\\\\\[?+!]|^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*\\\\\\\\/)\\\\\\\\s*(\\\\\\\\/)(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[()]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![_$0-9A-Za-z)\\\\\\\\]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*\\\\\\\\/)|((?<=^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case))\\\\\\\\s*)\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[wWsSdDtrnvf]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[bB]|\\\\\\\\^|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*|\\\\\\\\\\\\\\\\k<([a-zA-Z_$][\\\\\\\\w$]*)>\\\"},{\\\"match\\\":\\\"[?+*]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)\\\\\\\\}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|(?:\\\\\\\\?<([a-zA-Z_$][\\\\\\\\w$]*)>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^\\\\\\\\]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])(?=$|^|[{};,]|//)\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[{};,]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[:|&])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.ts\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\\\\\{[0-9A-Fa-f]+\\\\\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.ts\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.ts\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*[(]\\\\\\\\s*[\\\\\\\\\\\\\\\"\\\\\\\\'\\\\\\\\`]))\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"switch-statement.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"switch-expression.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\})\\\",\\\"name\\\":\\\"switch-block.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"meta.block.ts\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*[^\\\\\\\\d])(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.ts\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.type.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])(?!\\\\\\\\s*[|&]\\\\\\\\s+)((?=^|[,);}\\\\\\\\]]|//)|(?==[^>])|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[,);}\\\\\\\\]]|\\\\\\\\/\\\\\\\\/)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.ts\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.ts storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.ts keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=[(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])(?=[,\\\\\\\\]){}=;>:?]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])((?=[,\\\\\\\\]){}=;:?>]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.ts\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.ts\\\"},{\\\"match\\\":\\\"(\\\\\\\\?|:)\\\",\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s(is)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.ts\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.type.tuple.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.ts\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]=>:&|{?]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.ts\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^let|[^\\\\\\\\._$0-9A-Za-z]let|^var|[^\\\\\\\\._$0-9A-Za-z]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^const|[^\\\\\\\\._$0-9A-Za-z]const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^using|[^\\\\\\\\._$0-9A-Za-z]using|^await\\\\\\\\s+using|[^\\\\\\\\._$0-9A-Za-z]await\\\\\\\\s+using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=\\\\\\\\/\\\\\\\\/))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![\\\\\\\\|\\\\\\\\&+\\\\\\\\-\\\\\\\\*\\\\\\\\/])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.ts\\\",\\\"aliases\\\":[\\\"ts\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Shell\\\",\\\"name\\\":\\\"shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}],\\\"repository\\\":{\\\"alias_statement\\\":{\\\"begin\\\":\\\"(?:(?:[ \\\\\\\\t]*+)(alias)(?:[ \\\\\\\\t]*+)((?:(?:((?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b)(?:[ \\\\\\\\t]*+))*))(?:(?:[ \\\\\\\\t]*+)(?:((?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))(?:(?:(\\\\\\\\[)((?:(?:(?:(?:\\\\\\\\$?)(?:(?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))|@)|\\\\\\\\*)|(-?\\\\\\\\d+)))(\\\\\\\\]))?))(?:(?:(=)|(\\\\\\\\+=))|(-=))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.alias.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?:(?= |\\\\\\\\t|$)|(?:(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"name\\\":\\\"meta.expression.assignment.alias.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"argument\\\":{\\\"begin\\\":\\\"(?:[ \\\\\\\\t]++)(?!(?:&|\\\\\\\\||\\\\\\\\(|\\\\\\\\[|#|\\\\\\\\n|$|;))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?= |\\\\\\\\t|;|\\\\\\\\||&|$|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.argument.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument_context\\\"},{\\\"include\\\":\\\"#line_continuation\\\"}]},\\\"argument_context\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.wildcard.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.$1.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(\\\\\\\\b(?:true|false)\\\\\\\\b)(?!\\\\\\\\w)\\\"}]}},\\\"match\\\":\\\"(?:[ \\\\\\\\t]*+)((?:[^ \\\\\\\\t\\\\\\\\n>&;<>()$`\\\\\\\\\\\\\\\\\\\\\\\"'<\\\\\\\\|]+)(?!>))\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"arithmetic_double\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:\\\\\\\\s*)\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"arithmetic_no_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"array_access_inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\[)([^\\\\\\\\[\\\\\\\\]]+)(\\\\\\\\]))\\\"},\\\"array_value\\\":{\\\"begin\\\":\\\"(?:[ \\\\\\\\t]*+)(?:((?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))(?:(?:(\\\\\\\\[)((?:(?:(?:(?:\\\\\\\\$?)(?:(?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))|@)|\\\\\\\\*)|(-?\\\\\\\\d+)))(\\\\\\\\]))?))(?:(?:(=)|(\\\\\\\\+=))|(-=))(?:[ \\\\\\\\t]*+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.array.shell entity.other.attribute-name.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"(?:((?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))(=))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.shell entity.other.attribute-name.bracket.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\[)(.+?)(\\\\\\\\])(=))\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"assignment_statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#array_value\\\"},{\\\"include\\\":\\\"#modified_assignment_statement\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"}]},\\\"basic_command_name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\\\\\.)(?!\\\\\\\\/))(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"}]}},\\\"match\\\":\\\"(?:(?:(?!(?:!|&|\\\\\\\\||\\\\\\\\(|\\\\\\\\)|\\\\\\\\{|\\\\\\\\[|<|>|#|\\\\\\\\n|$|;|[ \\\\\\\\t]))(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$))(?:((?<=^|;|&|[ \\\\\\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\\\\\t]|;|&|$))|((?!\\\\\\\"|'|\\\\\\\\\\\\\\\\\\\\\\\\n?$)(?:[^!'\\\\\\\"<> \\\\\\\\t\\\\\\\\n\\\\\\\\r]+?)))(?:(?= |\\\\\\\\t)|(?:(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\))))\\\",\\\"name\\\":\\\"meta.statement.command.name.basic.shell\\\"},\\\"block_comment\\\":{\\\"begin\\\":\\\"(?:(?:\\\\\\\\s*+)(\\\\\\\\/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\\\\\\/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.shell\\\"}},\\\"name\\\":\\\"comment.block.shell\\\"},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.$0.shell\\\"},\\\"case_statement\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\bcase\\\\\\\\b)(?:[ \\\\\\\\t]*+)(.+?)(?:[ \\\\\\\\t]*+)(\\\\\\\\bin\\\\\\\\b))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\besac\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.esac.shell\\\"}},\\\"name\\\":\\\"meta.case.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.default.shell\\\"}},\\\"match\\\":\\\"(?:[ \\\\\\\\t]*+)(\\\\\\\\* *\\\\\\\\))\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\))(?!(?:[ \\\\\\\\t]*+)(?:esac\\\\\\\\b|$))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:(?=\\\\\\\\besac\\\\\\\\b)|(\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.pattern.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:(;;)|(?=\\\\\\\\besac\\\\\\\\b))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"case_statement_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\tin| in| |\\\\\\\\t|;;)\\\\\\\\(\\\",\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"name\\\":\\\"string.regexp.character-class.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"}]},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[^) \\\\\\\\t\\\\\\\\n\\\\\\\\[?\\\\\\\\*\\\\\\\\|\\\\\\\\@]\\\",\\\"name\\\":\\\"string.unquoted.pattern.shell string.regexp.unquoted.shell\\\"}]},\\\"command_name_range\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:(?= |\\\\\\\\t|;|\\\\\\\\||&|$|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`)|(?=<))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.name.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|:|\\\\\\\\.)(?!\\\\\\\\/))(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"match\\\":\\\"(?:(?<!\\\\\\\\w)(?<=\\\\\\\\G|'|\\\\\\\"|\\\\\\\\}|\\\\\\\\))([^ \\\\\\\\n\\\\\\\\t\\\\\\\\r\\\\\\\"'=;&\\\\\\\\|`){<>]+))\\\"},{\\\"begin\\\":\\\"(?:(?:\\\\\\\\G|(?<! |\\\\\\\\t|;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\{|#))(?:(\\\\\\\\$?)((?:(\\\\\\\")|(')))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"2\\\":{},\\\"3\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\G)(?<=(?:\\\\\\\\2))\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#continuation_of_single_quoted_command_name\\\"},{\\\"include\\\":\\\"#continuation_of_double_quoted_command_name\\\"}]},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"command_statement\\\":{\\\"begin\\\":\\\"(?:(?:[ \\\\\\\\t]*+)(?:(?!(?:!|&|\\\\\\\\||\\\\\\\\(|\\\\\\\\)|\\\\\\\\{|\\\\\\\\[|<|>|#|\\\\\\\\n|$|;|[ \\\\\\\\t]))(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#heredoc\\\"}]},\\\"comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell meta.shebang.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shebang.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"match\\\":\\\"(?:(?:^|(?:[ \\\\\\\\t]++))(?:((?:(#!)(?:.*)))|((?:(#)(?:.*)))))\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"compound-command\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^){(?=\\\\\\\\s|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"(?<=^|;)\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"continuation_of_double_quoted_command_name\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\G(?<=\\\\\\\"))\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\n`\\\\\\\"\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"continuation_of_single_quoted_command_name\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\G(?<='))\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}}},\\\"custom_command_names\\\":{\\\"patterns\\\":[]},\\\"custom_commands\\\":{\\\"patterns\\\":[]},\\\"double_quote_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$`\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\n]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"double_quote_escape_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$`\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\n]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},\\\"floating_keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|;|&| |\\\\\\\\t)(?:then|elif|else|done|end|do|if|fi)(?= |\\\\\\\\t|;|&|$)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"}]},\\\"for_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:(\\\\\\\\bfor\\\\\\\\b)(?:(?:[ \\\\\\\\t]*+)((?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))(?:[ \\\\\\\\t]*+)(\\\\\\\\bin\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.for.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.in.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\bfor\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"}},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]}]},\\\"function_definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?:[ \\\\\\\\t]*+)(?:(?:(\\\\\\\\bfunction\\\\\\\\b)(?:[ \\\\\\\\t]*+)([^ \\\\\\\\t\\\\\\\\n\\\\\\\\r()=\\\\\\\"']+)(?:(?:(\\\\\\\\()(?:[ \\\\\\\\t]*+)(\\\\\\\\)))?))|(?:([^ \\\\\\\\t\\\\\\\\n\\\\\\\\r()=\\\\\\\"']+)(?:[ \\\\\\\\t]*+)(\\\\\\\\()(?:[ \\\\\\\\t]*+)(\\\\\\\\))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\}|\\\\\\\\))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?:\\\\\\\\G(?:\\\\\\\\t| |\\\\\\\\n))\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:((?<!<)(?:<<-))(?:[ \\\\\\\\t]*+)(\\\\\\\"|')(?:[ \\\\\\\\t]*+)([^\\\\\\\"']+?)(?=\\\\\\\\s|;|&|<|\\\\\\\"|')((?:\\\\\\\\2))(.*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.indent.$3\\\",\\\"end\\\":\\\"(?:(?:^\\\\\\\\t*)(?:\\\\\\\\3)(?=\\\\\\\\s|;|&|$))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.$0.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"(?:((?<!<)(?:<<)(?!<))(?:[ \\\\\\\\t]*+)(\\\\\\\"|')(?:[ \\\\\\\\t]*+)([^\\\\\\\"']+?)(?=\\\\\\\\s|;|&|<|\\\\\\\"|')((?:\\\\\\\\2))(.*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.no-indent.$3\\\",\\\"end\\\":\\\"(?:^(?:\\\\\\\\3)(?=\\\\\\\\s|;|&|$))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"(?:((?<!<)(?:<<-))(?:[ \\\\\\\\t]*+)([^\\\\\\\"' \\\\\\\\t]+)(?=\\\\\\\\s|;|&|<|\\\\\\\"|')(.*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.indent.$2\\\",\\\"end\\\":\\\"(?:(?:^\\\\\\\\t*)(?:\\\\\\\\2)(?=\\\\\\\\s|;|&|$))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(?:((?<!<)(?:<<)(?!<))(?:[ \\\\\\\\t]*+)([^\\\\\\\"' \\\\\\\\t]+)(?=\\\\\\\\s|;|&|<|\\\\\\\"|')(.*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.no-indent.$2\\\",\\\"end\\\":\\\"(?:^(?:\\\\\\\\2)(?=\\\\\\\\s|;|&|$))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"herestring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.single.shell\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\"},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*((\\\\\\\"))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.double.shell\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}},\\\"match\\\":\\\"(<<<)\\\\\\\\s*(([^\\\\\\\\s)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+)\\\",\\\"name\\\":\\\"meta.herestring.shell\\\"}]},\\\"initial_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#loop\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#alias_statement\\\"},{\\\"include\\\":\\\"#normal_statement\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"inline_comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.begin.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\\\\\\/\\\",\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.end.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.shell\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\/\\\\\\\\*)((?:(?:[^\\\\\\\\*]|(?:(?:\\\\\\\\*++)[^\\\\\\\\/]))*+)((?:(?:\\\\\\\\*++)\\\\\\\\/)))\\\"},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_dollar\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"name\\\":\\\"string.interpolated.backtick.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[`\\\\\\\\\\\\\\\\$]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\W)(?=#)(?!#{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.shell\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"comment.line.number-sign.shell\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|;|&|\\\\\\\\s)(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=\\\\\\\\s|;|&|$)\\\",\\\"name\\\":\\\"keyword.control.shell\\\"},{\\\"match\\\":\\\"(?<=^|;|&|\\\\\\\\s)(?:export|declare|typeset|local|readonly)(?=\\\\\\\\s|;|&|$)\\\",\\\"name\\\":\\\"storage.modifier.shell\\\"}]},\\\"line_comment\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\s*+)(\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"line_continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.line-continuation.shell\\\"},\\\"logical-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"comment\\\":\\\"do we want a special rule for ( expr )?\\\",\\\"match\\\":\\\"=[=~]?|!=?|<|>|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"}]},\\\"logical_expression_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_comparison\\\"},{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"logical_expression_double\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"logical_expression_single\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"loop\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|;|&|\\\\\\\\s)(for)\\\\\\\\s+(.+?)\\\\\\\\s+(in)(?=\\\\\\\\s|;|&|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|;|&|\\\\\\\\s)done(?=\\\\\\\\s|;|&|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.for-in-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|;|&|\\\\\\\\s)(while|until)(?=\\\\\\\\s|;|&|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|;|&|\\\\\\\\s)done(?=\\\\\\\\s|;|&|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.while-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|;|&|\\\\\\\\s)(select)\\\\\\\\s+((?:[^\\\\\\\\s\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+)(?=\\\\\\\\s|;|&|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\"}},\\\"end\\\":\\\"(?<=^|;|&|\\\\\\\\s)(done)(?=\\\\\\\\s|;|&|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.select-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|;|&|\\\\\\\\s)if(?=\\\\\\\\s|;|&|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.if.shell\\\"}},\\\"end\\\":\\\"(?<=^|;|&|\\\\\\\\s)fi(?=\\\\\\\\s|;|&|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.fi.shell\\\"}},\\\"name\\\":\\\"meta.scope.if-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|!|~|\\\\\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|\\\\\\\\?|:|,|=|[*/%+\\\\\\\\-&^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[xX][0-9A-Fa-f]+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.semicolon.range\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9a-zA-Z@_]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[a-zA-Z_0-9]+)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"}]},\\\"math_operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|!|~|\\\\\\\\*{1,2}|/|%|<[<=]?|>[>=]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|\\\\\\\\?|:|,|=|[*/%+\\\\\\\\-&^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[xX][0-9A-Fa-f]+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9a-zA-Z@_]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"}]},\\\"misc_ranges\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"(?<![^ \\\\\\\\t])({)(?!\\\\\\\\w|\\\\\\\\$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"modified_assignment_statement\\\":{\\\"begin\\\":\\\"(?<=^|;|&|[ \\\\\\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\\\\\t]|;|&|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.$0.shell\\\"}},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell meta.expression.assignment.modified.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},{\\\"include\\\":\\\"#array_value\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"12\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"13\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"(?:((?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))(?:(?:(\\\\\\\\[)((?:(?:(?:(?:\\\\\\\\$?)(?:(?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))|@)|\\\\\\\\*)|(-?\\\\\\\\d+)))(\\\\\\\\]))?)(?:(?:(?:(=)|(\\\\\\\\+=))|(-=))?)(?:(?:(?<==| |\\\\\\\\t|^|\\\\\\\\{|\\\\\\\\(|\\\\\\\\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9a-zA-Z@_]+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?= |\\\\\\\\t|$|\\\\\\\\}|\\\\\\\\)|;))?))\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"modifiers\\\":{\\\"match\\\":\\\"(?<=^|;|&|[ \\\\\\\\t])(?:readonly|declare|typeset|export|local)(?=[ \\\\\\\\t]|;|&|$)\\\",\\\"name\\\":\\\"storage.modifier.$0.shell\\\"},\\\"normal_assignment_statement\\\":{\\\"begin\\\":\\\"(?:[ \\\\\\\\t]*+)(?:((?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))(?:(?:(\\\\\\\\[)((?:(?:(?:(?:\\\\\\\\$?)(?:(?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w))|@)|\\\\\\\\*)|(-?\\\\\\\\d+)))(\\\\\\\\]))?))(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.expression.assignment.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"},{\\\"begin\\\":\\\"(?<= |\\\\\\\\t)(?! |\\\\\\\\t|\\\\\\\\w+=)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.env.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"normal_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#parenthese\\\"}]},\\\"normal_statement\\\":{\\\"begin\\\":\\\"(?:(?!^[ \\\\\\\\t]*+$)(?:(?<=^until | until |\\\\\\\\tuntil |^while | while |\\\\\\\\twhile |^elif | elif |\\\\\\\\telif |^else | else |\\\\\\\\telse |^then | then |\\\\\\\\tthen |^do | do |\\\\\\\\tdo |^if | if |\\\\\\\\tif )|(?<=(?:^|;|\\\\\\\\||&|!|\\\\\\\\(|\\\\\\\\{|\\\\\\\\`)))(?:[ \\\\\\\\t]*+)(?!nocorrect\\\\\\\\W|nocorrect\\\\\\\\$|function\\\\\\\\W|function\\\\\\\\$|foreach\\\\\\\\W|foreach\\\\\\\\$|repeat\\\\\\\\W|repeat\\\\\\\\$|logout\\\\\\\\W|logout\\\\\\\\$|coproc\\\\\\\\W|coproc\\\\\\\\$|select\\\\\\\\W|select\\\\\\\\$|while\\\\\\\\W|while\\\\\\\\$|pushd\\\\\\\\W|pushd\\\\\\\\$|until\\\\\\\\W|until\\\\\\\\$|case\\\\\\\\W|case\\\\\\\\$|done\\\\\\\\W|done\\\\\\\\$|elif\\\\\\\\W|elif\\\\\\\\$|else\\\\\\\\W|else\\\\\\\\$|esac\\\\\\\\W|esac\\\\\\\\$|popd\\\\\\\\W|popd\\\\\\\\$|then\\\\\\\\W|then\\\\\\\\$|time\\\\\\\\W|time\\\\\\\\$|for\\\\\\\\W|for\\\\\\\\$|end\\\\\\\\W|end\\\\\\\\$|fi\\\\\\\\W|fi\\\\\\\\$|do\\\\\\\\W|do\\\\\\\\$|in\\\\\\\\W|in\\\\\\\\$|if\\\\\\\\W|if\\\\\\\\$))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"}]},\\\"normal_statement_seperator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"match\\\":\\\"(?:(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&))\\\"},\\\"numeric_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"(?<==| |\\\\\\\\t|^|\\\\\\\\{|\\\\\\\\(|\\\\\\\\[)(?:(?:(?:(?:(?:(0[xX][0-9A-Fa-f]+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9a-zA-Z@_]+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?= |\\\\\\\\t|$|\\\\\\\\}|\\\\\\\\)|;)\\\"},\\\"option\\\":{\\\"begin\\\":\\\"(?:(?:[ \\\\\\\\t]++)(-)((?!(?:!|&|\\\\\\\\||\\\\\\\\(|\\\\\\\\)|\\\\\\\\{|\\\\\\\\[|<|>|#|\\\\\\\\n|$|;|[ \\\\\\\\t]))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"contentName\\\":\\\"string.unquoted.argument constant.other.option\\\",\\\"end\\\":\\\"(?:(?=[ \\\\\\\\t])|(?:(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)))\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#option_context\\\"}]},\\\"option_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"parenthese\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pathname\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\s|:|=|^)~\\\",\\\"name\\\":\\\"keyword.operator.tilde.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\*|\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.glob.shell\\\"},{\\\"begin\\\":\\\"([?*+@!])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.extglob.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"name\\\":\\\"meta.structure.extglob.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pipeline\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|;|&|\\\\\\\\s)(time)(?=\\\\\\\\s|;|&|$)\\\",\\\"name\\\":\\\"keyword.other.shell\\\"},{\\\"match\\\":\\\"[|!]\\\",\\\"name\\\":\\\"keyword.operator.pipe.shell\\\"}]},\\\"redirect_fix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\"}},\\\"match\\\":\\\"(?:(>>?)(?:[ \\\\\\\\t]*+)([^ \\\\\\\\t\\\\\\\\n>&;<>()$`\\\\\\\\\\\\\\\\\\\\\\\"'<\\\\\\\\|]+))\\\"},\\\"redirect_number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stdout.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stderr.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.redirect.$3.shell\\\"}},\\\"match\\\":\\\"(?<=[ \\\\\\\\t])(?:(?:(1)|(2)|(\\\\\\\\d+))(?=>))\\\"},\\\"redirection\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[><]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.interpolated.process-substitution.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"match\\\":\\\"(?<![<>])(&>|\\\\\\\\d*>&\\\\\\\\d*|\\\\\\\\d*(>>|>|<)|\\\\\\\\d*<&|\\\\\\\\d*<>)(?![<>])\\\",\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"}]},\\\"regex_comparison\\\":{\\\"match\\\":\\\"=~\\\",\\\"name\\\":\\\"keyword.operator.logical.regex.shell\\\"},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:.+)\\\"}]},\\\"simple_options\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"match\\\":\\\"(?:[ \\\\\\\\t]++)(-)(\\\\\\\\w+)\\\"}]}},\\\"match\\\":\\\"(?:(?:[ \\\\\\\\t]++)-(?:\\\\\\\\w+))*\\\"},\\\"simple_unquoted\\\":{\\\"match\\\":\\\"[^ \\\\\\\\t\\\\\\\\n>&;<>()$`\\\\\\\\\\\\\\\\\\\\\\\"'<\\\\\\\\|]\\\",\\\"name\\\":\\\"string.unquoted.shell\\\"},\\\"special_expansion\\\":{\\\"match\\\":\\\"!|:[-=?]?|\\\\\\\\*|@|##|#|%%|%|\\\\\\\\/\\\",\\\"name\\\":\\\"keyword.operator.expansion.shell\\\"},\\\"start_of_command\\\":{\\\"match\\\":\\\"(?:(?:[ \\\\\\\\t]*+)(?:(?!(?:!|&|\\\\\\\\||\\\\\\\\(|\\\\\\\\)|\\\\\\\\{|\\\\\\\\[|<|>|#|\\\\\\\\n|$|;|[ \\\\\\\\t]))(?!nocorrect |nocorrect\\\\t|nocorrect$|readonly |readonly\\\\t|readonly$|function |function\\\\t|function$|foreach |foreach\\\\t|foreach$|coproc |coproc\\\\t|coproc$|logout |logout\\\\t|logout$|export |export\\\\t|export$|select |select\\\\t|select$|repeat |repeat\\\\t|repeat$|pushd |pushd\\\\t|pushd$|until |until\\\\t|until$|while |while\\\\t|while$|local |local\\\\t|local$|case |case\\\\t|case$|done |done\\\\t|done$|elif |elif\\\\t|elif$|else |else\\\\t|else$|esac |esac\\\\t|esac$|popd |popd\\\\t|popd$|then |then\\\\t|then$|time |time\\\\t|time$|for |for\\\\t|for$|end |end\\\\t|end$|fi |fi\\\\t|fi$|do |do\\\\t|do$|in |in\\\\t|in$|if |if\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)))\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.shell\\\"},{\\\"begin\\\":\\\"\\\\\\\\$?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.double.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\n`\\\\\\\"\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.dollar.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:a|b|e|f|n|r|t|v|\\\\\\\\\\\\\\\\|')\\\",\\\"name\\\":\\\"constant.character.escape.ansi-c.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\d{3}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x[0-9a-fA-F]{2}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.hex.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c.\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.control-char.shell\\\"}]}]},\\\"subshell_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\$\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"name\\\":\\\"meta.scope.subshell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthese\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|;|&|\\\\\\\\s)(?::|\\\\\\\\.)(?=\\\\\\\\s|;|&|$)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"}]},\\\"typical_statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#while_statement\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#command_statement\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.all.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.all.shell\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\$)(\\\\\\\\@(?!\\\\\\\\w)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.shell\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\$)(\\\\\\\\d(?!\\\\\\\\w)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.language.special.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.shell\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\$)([-*#?$!0_](?!\\\\\\\\w)))\\\"},{\\\"begin\\\":\\\"(?:(\\\\\\\\$)(\\\\\\\\{)(?:[ \\\\\\\\t]*+)(?=\\\\\\\\d))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"variable.parameter.positional.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?:(\\\\\\\\$)(\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[a-zA-Z_0-9-]+)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.other.normal.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.normal.shell\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\$)((?:\\\\\\\\w+)(?!\\\\\\\\w)))\\\"}]},\\\"while_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\bwhile\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.shell\\\"}},\\\"end\\\":\\\"(?=;|\\\\\\\\||&|\\\\\\\\n|\\\\\\\\)|\\\\\\\\`|\\\\\\\\{|\\\\\\\\}|[ \\\\\\\\t]*#|\\\\\\\\])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.while.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#math_operators\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#string\\\"}]}]}},\\\"scopeName\\\":\\\"source.shell\\\",\\\"aliases\\\":[\\\"bash\\\",\\\"sh\\\",\\\"shell\\\",\\\"zsh\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSX\\\",\\\"name\\\":\\\"jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[:=(,\\\\\\\\[?+!>]|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^throw|[^\\\\\\\\._$0-9A-Za-z]throw|^in|[^\\\\\\\\._$0-9A-Za-z]in|^of|[^\\\\\\\\._$0-9A-Za-z]of|^typeof|[^\\\\\\\\._$0-9A-Za-z]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"name\\\":\\\"meta.array.literal.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync)\\\\\\\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\"},{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync))?((?<![})!\\\\\\\\]])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\}|\\\\\\\\S)(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!\\\\\\\\/[\\\\\\\\/\\\\\\\\*])\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[:])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.js.jsx\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"\\\\\\\\]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.js.jsx\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|\\\\\\\\/[\\\\\\\\/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|[;),}\\\\\\\\]:\\\\\\\\-+]|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(extends|implements)\\\\\\\\b)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.js.jsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"name\\\":\\\"comment.block.documentation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"name\\\":\\\"comment.block.js.jsx\\\"},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js.jsx\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.js.jsx\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.block.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js.jsx\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.js.jsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js.jsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:access|api))\\\\\\\\s+(private|protected|public)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^@\\\\\\\\s<>*/](?:[^@<>*/]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js.jsx\\\"}},\\\"match\\\":\\\"[^\\\\\\\\s@*](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^\\\\\\\\s*]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*(?:\\\\\\\\s*,\\\\\\\\s*[A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[\\\\\\\\w$]+(?:(?:\\\\\\\\[\\\\\\\\])?\\\\\\\\.[\\\\\\\\w$]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!\\\\\\\"))|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!'))|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:(?:\\\\\\\\*(?!/))|[^*])*?\\\\\\\\]|(?:(?:\\\\\\\\*(?!/))|\\\\\\\\s(?!\\\\\\\\s*\\\\\\\\])|\\\\\\\\[.*?(?:\\\\\\\\]|(?=\\\\\\\\*/))|[^*\\\\\\\\s\\\\\\\\[\\\\\\\\]])*)*))?\\\\\\\\s*(?:(\\\\\\\\])((?:[^*\\\\\\\\s]|\\\\\\\\*[^\\\\\\\\s/])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^{}@\\\\\\\\s*]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([''\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^\\\\\\\\s*]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.enum.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.js.jsx\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\])))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:(?:\\\\\\\\s*(=))|(?:\\\\\\\\s+(default)(?=\\\\\\\\s+)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.default.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[{*])|((?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s|,))(?!\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[:,]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[;,:})\\\\\\\\]]))\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js.jsx\\\"}},\\\"end\\\":\\\"(?=^|[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js.jsx\\\"},{\\\"match\\\":\\\"<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js.jsx\\\"},{\\\"match\\\":\\\"===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.js.jsx\\\"},{\\\"match\\\":\\\"<=|>=|<>|<|>\\\",\\\"name\\\":\\\"keyword.operator.relational.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z])(!)\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\&|~|\\\\\\\\^|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js.jsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js.jsx\\\"},{\\\"match\\\":\\\"%|\\\\\\\\*|/|-|\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"},{\\\"begin\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\\\",\\\"end\\\":\\\"(?:(/=)|(?:(/)(?!\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|\\\\\\\\}|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$|(^(?!\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|$))))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.field.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.js.jsx entity.name.function.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.property.js.jsx variable.object.property.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*))await)?\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"end\\\":\\\"(?<=>)(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.function-call.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js.jsx punctuation.accessor.optional.js.jsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.js.jsx keyword.operator.definiteassignment.js.jsx\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=;)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"match\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\",\\\"name\\\":\\\"variable.other.constant.js.jsx\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[:(])(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"}},\\\"end\\\":\\\"(?<!^import|[^\\\\\\\\._$0-9A-Za-z]import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=^import|[^\\\\\\\\._$0-9A-Za-z]import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.js.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"meta.import-equals.external.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.js.jsx\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.block.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:(\\\\\\\\bdefault)|(\\\\\\\\*)|(\\\\\\\\b[_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.js.jsx\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([+-])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.js.jsx\\\"}},\\\"end\\\":\\\"(\\\\\\\\])([+-])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\]]+(\\\\\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^|}\\\\\\\\s*]|\\\\\\\\*[/])+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^{}@\\\\\\\\s|*]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|(===|!==|==|!=)|(([\\\\\\\\&\\\\\\\\~\\\\\\\\^\\\\\\\\|]\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.interface.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.js.jsx\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G({)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js.jsx\\\"}},\\\"match\\\":\\\"(&)([a-zA-Z0-9]+|#\\\\\\\\d+|#x[0-9a-fA-F]+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.js.jsx\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.js.jsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.double.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.single.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(/>)|(?:(</)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"}},\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js.jsx\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:'|\\\\\\\"|{|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(:))?([_$A-Za-z][-_$0-9A-Za-z]*)(?=\\\\\\\\s|=|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js.jsx\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^default|[^\\\\\\\\._$0-9A-Za-z]default|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js.jsx\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^default|[^\\\\\\\\._$0-9A-Za-z]default|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.method.js.jsx entity.name.function.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[_$A-Za-z\\\\\\\"'`]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})|(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"name\\\":\\\"new.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.js.jsx\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.js.jsx\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.object.property.js.jsx\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.js.jsx\\\"}},\\\"match\\\":\\\"(?:([A-Z][_$\\\\\\\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\]])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=((\\\\\\\\s*[(<,}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(<,}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[\\\\\\\\]\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js.jsx\\\"}},\\\"match\\\":\\\"(?![_$A-Za-z])([\\\\\\\\d]+)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}},\\\"match\\\":\\\"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"}},\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,)])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(=,])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(=,]|=>|^return|[^\\\\\\\\._$0-9A-Za-z]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js.jsx meta.return.type.arrow.js.jsx keyword.operator.type.annotation.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.arrow.js.jsx meta.return.type.arrow.js.jsx\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.js.jsx\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(\\\\\\\")|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.double.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.single.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[=(:,\\\\\\\\[?+!]|^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*\\\\\\\\/)\\\\\\\\s*(\\\\\\\\/)(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[()]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![_$0-9A-Za-z)\\\\\\\\]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*\\\\\\\\/)|((?<=^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case))\\\\\\\\s*)\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[wWsSdDtrnvf]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[bB]|\\\\\\\\^|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*|\\\\\\\\\\\\\\\\k<([a-zA-Z_$][\\\\\\\\w$]*)>\\\"},{\\\"match\\\":\\\"[?+*]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)\\\\\\\\}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|(?:\\\\\\\\?<([a-zA-Z_$][\\\\\\\\w$]*)>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^\\\\\\\\]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![:|&])(?=$|^|[{};,]|//)\\\",\\\"name\\\":\\\"meta.return.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[{};,]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[:|&])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.js.jsx\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js.jsx\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\\\\\{[0-9A-Fa-f]+\\\\\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.js.jsx\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.js.jsx\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*[(]\\\\\\\\s*[\\\\\\\\\\\\\\\"\\\\\\\\'\\\\\\\\`]))\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js.jsx\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"switch-statement.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"switch-expression.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\})\\\",\\\"name\\\":\\\"switch-block.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.js.jsx punctuation.definition.block.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.block.js.jsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.js.jsx punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"string.template.js.jsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js.jsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.template.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"string.template.js.jsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js.jsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.template.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*[^\\\\\\\\d])(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.js.jsx\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.type.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![:|&])(?!\\\\\\\\s*[|&]\\\\\\\\s+)((?=^|[,);}\\\\\\\\]]|//)|(?==[^>])|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[,);}\\\\\\\\]]|\\\\\\\\/\\\\\\\\/)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.js.jsx\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.js.jsx storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.js.jsx keyword.control.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=[(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])(?=[,\\\\\\\\]){}=;>:?]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])((?=[,\\\\\\\\]){}=;:?>]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.js.jsx\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"entity.name.type.js.jsx\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.object.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.js.jsx\\\"},{\\\"match\\\":\\\"(\\\\\\\\?|:)\\\",\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js.jsx\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js.jsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s(is)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.js.jsx\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.js.jsx\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.tuple.js.jsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]=>:&|{?]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.js.jsx\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^let|[^\\\\\\\\._$0-9A-Za-z]let|^var|[^\\\\\\\\._$0-9A-Za-z]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^const|[^\\\\\\\\._$0-9A-Za-z]const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^using|[^\\\\\\\\._$0-9A-Za-z]using|^await\\\\\\\\s+using|[^\\\\\\\\._$0-9A-Za-z]await\\\\\\\\s+using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=\\\\\\\\/\\\\\\\\/))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx entity.name.function.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![\\\\\\\\|\\\\\\\\&+\\\\\\\\-\\\\\\\\*\\\\\\\\/])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.js.jsx\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TSX\\\",\\\"name\\\":\\\"tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[:=(,\\\\\\\\[?+!>]|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^throw|[^\\\\\\\\._$0-9A-Za-z]throw|^in|[^\\\\\\\\._$0-9A-Za-z]in|^of|[^\\\\\\\\._$0-9A-Za-z]of|^typeof|[^\\\\\\\\._$0-9A-Za-z]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"name\\\":\\\"meta.array.literal.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync)\\\\\\\\s+)?([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\"},{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(\\\\\\\\basync))?((?<![})!\\\\\\\\]])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\}|\\\\\\\\S)(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!\\\\\\\\/[\\\\\\\\/\\\\\\\\*])\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[:])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.tsx\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"\\\\\\\\]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.tsx\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|\\\\\\\\/[\\\\\\\\/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.class.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|[;),}\\\\\\\\]:\\\\\\\\-+]|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(extends|implements)\\\\\\\\b)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.tsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"name\\\":\\\"comment.block.documentation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"name\\\":\\\"comment.block.tsx\\\"},{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.tsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.tsx\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.tsx\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.tsx\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.tsx\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.tsx\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.block.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.tsx\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<!=|:)\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<!=|:|^of|[^\\\\\\\\._$0-9A-Za-z]of|^in|[^\\\\\\\\._$0-9A-Za-z]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.readwrite.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.tsx\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.tsx\\\"}},\\\"name\\\":\\\"meta.tag.tsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.tsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:access|api))\\\\\\\\s+(private|protected|public)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^@\\\\\\\\s<>*/](?:[^@<>*/]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.tsx\\\"}},\\\"match\\\":\\\"[^\\\\\\\\s@*](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^\\\\\\\\s*]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])?{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*(?:\\\\\\\\s*,\\\\\\\\s*[A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^@\\\\\\\\s*/]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([A-Za-z_$][\\\\\\\\w$.\\\\\\\\[\\\\\\\\]]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[\\\\\\\\w$]+(?:(?:\\\\\\\\[\\\\\\\\])?\\\\\\\\.[\\\\\\\\w$]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!\\\\\\\"))|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:(?:\\\\\\\\*(?!/))|(?:\\\\\\\\\\\\\\\\(?!'))|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:(?:\\\\\\\\*(?!/))|[^*])*?\\\\\\\\]|(?:(?:\\\\\\\\*(?!/))|\\\\\\\\s(?!\\\\\\\\s*\\\\\\\\])|\\\\\\\\[.*?(?:\\\\\\\\]|(?=\\\\\\\\*/))|[^*\\\\\\\\s\\\\\\\\[\\\\\\\\]])*)*))?\\\\\\\\s*(?:(\\\\\\\\])((?:[^*\\\\\\\\s]|\\\\\\\\*[^\\\\\\\\s/])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?={)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^{}\\\\\\\\[\\\\\\\\]A-Za-z_$])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^{}@\\\\\\\\s*]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([''\\\\\\\"]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^\\\\\\\\s*]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.enum.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.tsx\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\])))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:(?:\\\\\\\\s*(=))|(?:\\\\\\\\s+(default)(?=\\\\\\\\s+)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.tsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.default.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[{*])|((?=\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*(\\\\\\\\s|,))(?!\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.export.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[:,]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.tsx\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.tsx\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[;,:})\\\\\\\\]]))\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.tsx\\\"}},\\\"end\\\":\\\"(?=^|[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|-=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.tsx\\\"},{\\\"match\\\":\\\"<<|>>>|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.tsx\\\"},{\\\"match\\\":\\\"===|!==|==|!=\\\",\\\"name\\\":\\\"keyword.operator.comparison.tsx\\\"},{\\\"match\\\":\\\"<=|>=|<>|<|>\\\",\\\"name\\\":\\\"keyword.operator.relational.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z])(!)\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\&|~|\\\\\\\\^|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.bitwise.tsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.tsx\\\"},{\\\"match\\\":\\\"%|\\\\\\\\*|/|-|\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"},{\\\"begin\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)+(?:(/=)|(?:(/)(?![/*]))))\\\",\\\"end\\\":\\\"(?:(/=)|(?:(/)(?!\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"match\\\":\\\"(?<=[_$0-9A-Za-z)\\\\\\\\]])\\\\\\\\s*(?:(/=)|(?:(/)(?![/*])))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|\\\\\\\\}|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$|(^(?!\\\\\\\\s*((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?(=|:|;|,|$))))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.field.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.tsx entity.name.function.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.property.tsx variable.object.property.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*))await)?\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.tsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"end\\\":\\\"(?<=>)(?!(((([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))|(?<=[)]))(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[{\\\\\\\\[(]\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.function-call.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.tsx punctuation.accessor.optional.tsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.tsx keyword.operator.definiteassignment.tsx\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.tsx\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function\\\\\\\\b)(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([_$A-Za-z][_$0-9A-Za-z]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=;)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.function.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.function.tsx entity.name.function.tsx\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.tsx\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*)?([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"match\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])\\\",\\\"name\\\":\\\"variable.other.constant.tsx\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[:(])(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"}},\\\"end\\\":\\\"(?<!^import|[^\\\\\\\\._$0-9A-Za-z]import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=^import|[^\\\\\\\\._$0-9A-Za-z]import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.tsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"meta.import-equals.external.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.tsx\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.block.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.tsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.tsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:(\\\\\\\\bdefault)|(\\\\\\\\*)|(\\\\\\\\b[_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\btype)\\\\\\\\s+)?(?:([_$A-Za-z][_$0-9A-Za-z]*)|((\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.tsx\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([+-])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.tsx\\\"}},\\\"end\\\":\\\"(\\\\\\\\])([+-])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.tsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^\\\\\\\\]]+(\\\\\\\\])(?={@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"({)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^|}\\\\\\\\s*]|\\\\\\\\*[/])+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^{}@\\\\\\\\s|*]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|(===|!==|==|!=)|(([\\\\\\\\&\\\\\\\\~\\\\\\\\^\\\\\\\\|]\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+instanceof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[/*])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.interface.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.tsx\\\"}},\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G({)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.tsx\\\"}},\\\"match\\\":\\\"(&)([a-zA-Z0-9]+|#\\\\\\\\d+|#x[0-9a-fA-F]+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.tsx\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.tsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"}},\\\"name\\\":\\\"string.quoted.double.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"}},\\\"name\\\":\\\"string.quoted.single.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(/>)|(?:(</)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"name\\\":\\\"meta.tag.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"}},\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.tsx\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:'|\\\\\\\"|{|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(:))?([_$A-Za-z][-_$0-9A-Za-z]*)(?=\\\\\\\\s|=|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=[/]?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.tsx\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^default|[^\\\\\\\\._$0-9A-Za-z]default|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|\\\\\\\\/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.tsx\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[({\\\\\\\\[,?=>:*]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*\\\\\\\\/|^await|[^\\\\\\\\._$0-9A-Za-z]await|^return|[^\\\\\\\\._$0-9A-Za-z]return|^default|[^\\\\\\\\._$0-9A-Za-z]default|^yield|[^\\\\\\\\._$0-9A-Za-z]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([_$A-Za-z][-_$0-9A-Za-z.]*)(?<!\\\\\\\\.|-)(:))?((?:[a-z][a-z0-9]*|([_$A-Za-z][-_$0-9A-Za-z.]*))(?<!\\\\\\\\.|-))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(public|private|protected)\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"meta.definition.method.tsx entity.name.function.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[_$A-Za-z\\\\\\\"'`]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})|(?=;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.namespace.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\s*[(]))))\\\",\\\"name\\\":\\\"new.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.tsx\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.tsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.tsx\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"variable.object.property.tsx\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(\\\\\\\\#?[A-Z][_$\\\\\\\\dA-Z]*)|(\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.tsx\\\"}},\\\"match\\\":\\\"(?:([A-Z][_$\\\\\\\\dA-Z]*)|([_$A-Za-z][_$0-9A-Za-z]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*\\\\\\\\#?[_$A-Za-z][_$0-9A-Za-z]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b(get|set)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*(((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?[(])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\(|<)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\]])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=((\\\\\\\\s*[(<,}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(<,}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[\\\\\\\\]\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=\\\\\\\\}|;|,)|(?<=\\\\\\\\})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.tsx\\\"}},\\\"match\\\":\\\"(?![_$A-Za-z])([\\\\\\\\d]+)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"}},\\\"match\\\":\\\"(?:([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:(\\\\\\\\s*\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"}},\\\"match\\\":\\\"(?:[_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.tsx\\\"}},\\\"end\\\":\\\"(?=[;),}\\\\\\\\]:?\\\\\\\\-+>]|\\\\\\\\|\\\\\\\\||\\\\\\\\&\\\\\\\\&|!==|$|^|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\}|$|\\\\\\\\/\\\\\\\\/|\\\\\\\\/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx punctuation.separator.key-value.tsx\\\"}},\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=((\\\\\\\\b(?<!\\\\\\\\$)0(?:x|X)[0-9a-fA-F][0-9a-fA-F_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:b|B)[01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|(\\\\\\\\b(?<!\\\\\\\\$)0(?:o|O)?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*[eE][+-]?\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B)|(?:\\\\\\\\B(\\\\\\\\.)\\\\\\\\d[0-9_]*(n)?\\\\\\\\b)|(?:\\\\\\\\b\\\\\\\\d[0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.)))(?!\\\\\\\\$))|([_$A-Za-z][_$0-9A-Za-z]*)|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`)|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])+\\\\\\\\]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=,|\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?=[,)])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(=,])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(=,]|=>|^return|[^\\\\\\\\._$0-9A-Za-z]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx\\\"}},\\\"contentName\\\":\\\"meta.arrow.tsx meta.return.type.arrow.tsx\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|(^\\\\\\\\s*(export|function|class|interface|let|var|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.tsx\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(\\\\\\\")|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.tsx\\\"}},\\\"name\\\":\\\"string.quoted.double.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(\\\\\\\\')|((?:[^\\\\\\\\\\\\\\\\\\\\\\\\n])$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.tsx\\\"}},\\\"name\\\":\\\"string.quoted.single.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[=(:,\\\\\\\\[?+!]|^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*\\\\\\\\/)\\\\\\\\s*(\\\\\\\\/)(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[()]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![_$0-9A-Za-z)\\\\\\\\]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*\\\\\\\\/)|((?<=^return|[^\\\\\\\\._$0-9A-Za-z]return|^case|[^\\\\\\\\._$0-9A-Za-z]case))\\\\\\\\s*)\\\\\\\\/(?![\\\\\\\\/*])(?=(?:[^\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\[]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\])+\\\\\\\\/([dgimsuvy]+|(?![\\\\\\\\/\\\\\\\\*])|(?=\\\\\\\\/\\\\\\\\*))(?!\\\\\\\\s*[a-zA-Z0-9_$]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[wWsSdDtrnvf]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[bB]|\\\\\\\\^|\\\\\\\\$\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*|\\\\\\\\\\\\\\\\k<([a-zA-Z_$][\\\\\\\\w$]*)>\\\"},{\\\"match\\\":\\\"[?+*]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)\\\\\\\\}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|(?:\\\\\\\\?<([a-zA-Z_$][\\\\\\\\w$]*)>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^\\\\\\\\]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![:|&])(?=$|^|[{};,]|//)\\\",\\\"name\\\":\\\"meta.return.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[{};,]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[:|&])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.tsx\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[ \\\\\\\\t]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.tsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.tsx\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\\\\\\\{[0-9A-Fa-f]+\\\\\\\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.tsx\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.tsx\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*[(]\\\\\\\\s*[\\\\\\\\\\\\\\\"\\\\\\\\'\\\\\\\\`]))\\\",\\\"name\\\":\\\"keyword.operator.expression.import.tsx\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(?:(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\())|(?:(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"switch-statement.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"switch-expression.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\})\\\",\\\"name\\\":\\\"switch-block.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.tsx\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.tsx punctuation.definition.block.tsx\\\"}},\\\"contentName\\\":\\\"meta.block.tsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.tsx punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.begin.tsx\\\"}},\\\"contentName\\\":\\\"string.template.tsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([_$A-Za-z][_$0-9A-Za-z]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([_$A-Za-z][_$0-9A-Za-z]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))(?=\\\\\\\\s*([<>\\\\\\\\,\\\\\\\\.\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^<>(]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.tsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.tsx\\\"}},\\\"name\\\":\\\"meta.template.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.begin.tsx\\\"}},\\\"contentName\\\":\\\"string.template.tsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.tsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.tsx\\\"}},\\\"name\\\":\\\"meta.template.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*[^\\\\\\\\d])(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.tsx\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.type.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![:|&])(?!\\\\\\\\s*[|&]\\\\\\\\s+)((?=^|[,);}\\\\\\\\]]|//)|(?==[^>])|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![:|&])((?=[,);}\\\\\\\\]]|\\\\\\\\/\\\\\\\\/)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[}>\\\\\\\\])]|[_$A-Za-z])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.tsx\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.tsx storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.tsx keyword.control.new.tsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=[(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])(?=[,\\\\\\\\]){}=;>:?]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![|&])((?=[,\\\\\\\\]){}=;:?>]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([_$A-Za-z][_$0-9A-Za-z]*)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.tsx\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.tsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.tsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*[\\\\\\\\d])))\\\"},{\\\"match\\\":\\\"[_$A-Za-z][_$0-9A-Za-z]*\\\",\\\"name\\\":\\\"entity.name.type.tsx\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.object.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\}|;|,|$)|(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.tsx\\\"},{\\\"match\\\":\\\"(\\\\\\\\?|:)\\\",\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.tsx\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.tsx\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.tsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<!=|:)(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.tsx\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))\\\\\\\\s(is)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([_$A-Za-z][_$0-9A-Za-z]*))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.tsx\\\"},{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.tsx\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.tsx\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"name\\\":\\\"meta.type.tuple.tsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([_$A-Za-z][_$0-9A-Za-z]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.tsx\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]=>:&|{?]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.tsx\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^let|[^\\\\\\\\._$0-9A-Za-z]let|^var|[^\\\\\\\\._$0-9A-Za-z]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^const|[^\\\\\\\\._$0-9A-Za-z]const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|\\\\\\\\/\\\\\\\\/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?!(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b))|((?<!^using|[^\\\\\\\\._$0-9A-Za-z]using|^await\\\\\\\\s+using|[^\\\\\\\\._$0-9A-Za-z]await\\\\\\\\s+using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(\\\\\\\\bexport)\\\\\\\\s+)?(?:(\\\\\\\\bdeclare)\\\\\\\\s+)?\\\\\\\\b((?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b))(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=\\\\\\\\/\\\\\\\\/))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?==|;|}|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|([(]\\\\\\\\s*(([)])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([_$0-9A-Za-z]+\\\\\\\\s*(([:,?=])|([)]\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![_$0-9A-Za-z])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^<>(),=])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(<*])|(function\\\\\\\\s+)|([_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*$)|([(]\\\\\\\\s*((([{\\\\\\\\[]\\\\\\\\s*)?$)|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?$)|((\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?[(]\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([)]\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s*:)))|([<]\\\\\\\\s*[_$A-Za-z][_$0-9A-Za-z]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[_$A-Za-z])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\]))([^=<>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(\\\\\\\\/\\\\\\\\*([^\\\\\\\\*]|(\\\\\\\\*[^\\\\\\\\/]))*\\\\\\\\*\\\\\\\\/\\\\\\\\s*)*(([_$A-Za-z]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*\\\\\\\\})*\\\\\\\\}))*\\\\\\\\})|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|(\\\\\\\\[([^\\\\\\\\[\\\\\\\\]]|\\\\\\\\[[^\\\\\\\\[\\\\\\\\]]*\\\\\\\\])*\\\\\\\\]))*\\\\\\\\])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[_$A-Za-z]))([^()\\\\\\\\'\\\\\\\\\\\\\\\"\\\\\\\\`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\'([^\\\\\\\\'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\')|(\\\\\\\\\\\\\\\"([^\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\\\\\\\\")|(\\\\\\\\`([^\\\\\\\\`\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\\`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^<>(){}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+\\\\\\\\})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx entity.name.function.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([A-Z][_$\\\\\\\\dA-Z]*)(?![_$0-9A-Za-z])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([_$A-Za-z][_$0-9A-Za-z]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.readwrite.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[;,=}]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|(?:^\\\\\\\\s*(?:abstract|async|(?:\\\\\\\\bawait\\\\\\\\s+(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)\\\\\\\\b)|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|(?:\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[_$A-Za-z])\\\\\\\\b)|var|while)\\\\\\\\b)))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<!=|!)(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=[,);}\\\\\\\\]]|((?<![_$0-9A-Za-z])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![\\\\\\\\|\\\\\\\\&+\\\\\\\\-\\\\\\\\*\\\\\\\\/])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.tsx\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"YAML\\\",\\\"fileTypes\\\":[\\\"yaml\\\",\\\"yml\\\",\\\"rviz\\\",\\\"reek\\\",\\\"clang-format\\\",\\\"yaml-tmlanguage\\\",\\\"syntax\\\",\\\"sublime-syntax\\\"],\\\"firstLineMatch\\\":\\\"^%YAML( ?1.\\\\\\\\d+)?\\\",\\\"name\\\":\\\"yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"match\\\":\\\"^---\\\",\\\"name\\\":\\\"entity.other.document.begin.yaml\\\"},{\\\"match\\\":\\\"^\\\\\\\\.{3}\\\",\\\"name\\\":\\\"entity.other.document.end.yaml\\\"},{\\\"include\\\":\\\"#node\\\"}],\\\"repository\\\":{\\\"block-collection\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-sequence\\\"},{\\\"include\\\":\\\"#block-mapping\\\"}]},\\\"block-mapping\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-pair\\\"}]},\\\"block-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#block-scalar\\\"},{\\\"include\\\":\\\"#block-collection\\\"},{\\\"include\\\":\\\"#flow-scalar-plain-out\\\"},{\\\"include\\\":\\\"#flow-node\\\"}]},\\\"block-pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.key-value.begin.yaml\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\?)|^ *(:)|(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.expected-newline.yaml\\\"}},\\\"name\\\":\\\"meta.block-mapping.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-node\\\"}]},{\\\"begin\\\":\\\"(?=(?:[^\\\\\\\\s[-?:,\\\\\\\\[\\\\\\\\]{}#&*!|>'\\\\\\\"%@`]]|[?:-]\\\\\\\\S)([^\\\\\\\\s:]|:\\\\\\\\S|\\\\\\\\s+(?![#\\\\\\\\s]))*\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-out-implicit-type\\\"},{\\\"begin\\\":\\\"[^\\\\\\\\s[-?:,\\\\\\\\[\\\\\\\\]{}#&*!|>'\\\\\\\"%@`]]|[?:-]\\\\\\\\S\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.yaml\\\"}},\\\"contentName\\\":\\\"entity.name.tag.yaml\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"name\\\":\\\"string.unquoted.plain.out.yaml\\\"}]},{\\\"match\\\":\\\":(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}]},\\\"block-scalar\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\|)|(>))([1-9])?([-+])?(.*\\\\\\\\n?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.block-scalar.literal.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.flow.block-scalar.folded.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.indentation-indicator.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.chomping-indicator.yaml\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"invalid.illegal.expected-comment-or-newline.yaml\\\"}]}},\\\"end\\\":\\\"^(?=\\\\\\\\S)|(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^([ ]+)(?! )\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"string.unquoted.block.yaml\\\"}]},\\\"block-sequence\\\":{\\\"match\\\":\\\"(-)(?!\\\\\\\\S)\\\",\\\"name\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"(?:(^[ \\\\\\\\t]*)|[ \\\\\\\\t]+)(?=#\\\\\\\\p{Print}*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.yaml\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.yaml\\\"}]},\\\"directive\\\":{\\\"begin\\\":\\\"^%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.directive.begin.yaml\\\"}},\\\"end\\\":\\\"(?=$|[ \\\\\\\\t]+($|#))\\\",\\\"name\\\":\\\"meta.directive.yaml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.yaml.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.yaml-version.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(YAML)[ \\\\\\\\t]+(\\\\\\\\d+\\\\\\\\.\\\\\\\\d+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.tag.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.tag-handle.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.tag-prefix.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(TAG)(?:[ \\\\\\\\t]+((?:!(?:[0-9A-Za-z\\\\\\\\-]*!)?))(?:[ \\\\\\\\t]+(!(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\\\\\\\\-#;/?:@&=+$,_.!~*'()\\\\\\\\[\\\\\\\\]])*|(?![,!\\\\\\\\[\\\\\\\\]{}])(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\\\\\\\\-#;/?:@&=+$,_.!~*'()\\\\\\\\[\\\\\\\\]])+))?)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.directive.reserved.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.directive-name.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.directive-parameter.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\w+)(?:[ \\\\\\\\t]+(\\\\\\\\w+)(?:[ \\\\\\\\t]+(\\\\\\\\w+))?)?\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized.yaml\\\"}]},\\\"flow-alias\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.alias.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.alias.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.alias.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.character.anchor.yaml\\\"}},\\\"match\\\":\\\"((\\\\\\\\*))([^\\\\\\\\s\\\\\\\\[\\\\\\\\]/{/},]+)([^\\\\\\\\s\\\\\\\\]},]\\\\\\\\S*)?\\\"},\\\"flow-collection\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-sequence\\\"},{\\\"include\\\":\\\"#flow-mapping\\\"}]},\\\"flow-mapping\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.mapping.begin.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.mapping.end.yaml\\\"}},\\\"name\\\":\\\"meta.flow-mapping.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.mapping.yaml\\\"},{\\\"include\\\":\\\"#flow-pair\\\"}]},\\\"flow-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#flow-alias\\\"},{\\\"include\\\":\\\"#flow-collection\\\"},{\\\"include\\\":\\\"#flow-scalar\\\"}]},\\\"flow-pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.key-value.begin.yaml\\\"}},\\\"end\\\":\\\"(?=[},\\\\\\\\]])\\\",\\\"name\\\":\\\"meta.flow-pair.explicit.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#flow-pair\\\"},{\\\"include\\\":\\\"#flow-node\\\"},{\\\"begin\\\":\\\":(?=\\\\\\\\s|$|[\\\\\\\\[\\\\\\\\]{},])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}},\\\"end\\\":\\\"(?=[},\\\\\\\\]])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-value\\\"}]}]},{\\\"begin\\\":\\\"(?=(?:[^\\\\\\\\s[-?:,\\\\\\\\[\\\\\\\\]{}#&*!|>'\\\\\\\"%@`]]|[?:-][^\\\\\\\\s[\\\\\\\\[\\\\\\\\]{},]])([^\\\\\\\\s:[\\\\\\\\[\\\\\\\\]{},]]|:[^\\\\\\\\s[\\\\\\\\[\\\\\\\\]{},]]|\\\\\\\\s+(?![#\\\\\\\\s]))*\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[\\\\\\\\[\\\\\\\\]{},]|\\\\\\\\s*[\\\\\\\\[\\\\\\\\]{},])\\\",\\\"name\\\":\\\"meta.flow-pair.key.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-in-implicit-type\\\"},{\\\"begin\\\":\\\"[^\\\\\\\\s[-?:,\\\\\\\\[\\\\\\\\]{}#&*!|>'\\\\\\\"%@`]]|[?:-][^\\\\\\\\s[\\\\\\\\[\\\\\\\\]{},]]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.yaml\\\"}},\\\"contentName\\\":\\\"entity.name.tag.yaml\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[\\\\\\\\[\\\\\\\\]{},]|\\\\\\\\s*[\\\\\\\\[\\\\\\\\]{},])\\\",\\\"name\\\":\\\"string.unquoted.plain.in.yaml\\\"}]},{\\\"include\\\":\\\"#flow-node\\\"},{\\\"begin\\\":\\\":(?=\\\\\\\\s|$|[\\\\\\\\[\\\\\\\\]{},])\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}},\\\"end\\\":\\\"(?=[},\\\\\\\\]])\\\",\\\"name\\\":\\\"meta.flow-pair.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-value\\\"}]}]},\\\"flow-scalar\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-double-quoted\\\"},{\\\"include\\\":\\\"#flow-scalar-single-quoted\\\"},{\\\"include\\\":\\\"#flow-scalar-plain-in\\\"}]},\\\"flow-scalar-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.yaml\\\"}},\\\"name\\\":\\\"string.quoted.double.yaml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0abtnvfre \\\\\\\"/\\\\\\\\\\\\\\\\N_Lp]|x\\\\\\\\d\\\\\\\\d|u\\\\\\\\d{4}|U\\\\\\\\d{8})\\\",\\\"name\\\":\\\"constant.character.escape.yaml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.double-quoted.newline.yaml\\\"}]},\\\"flow-scalar-plain-in\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-in-implicit-type\\\"},{\\\"begin\\\":\\\"[^\\\\\\\\s[-?:,\\\\\\\\[\\\\\\\\]{}#&*!|>'\\\\\\\"%@`]]|[?:-][^\\\\\\\\s[\\\\\\\\[\\\\\\\\]{},]]\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[\\\\\\\\[\\\\\\\\]{},]|\\\\\\\\s*[\\\\\\\\[\\\\\\\\]{},])\\\",\\\"name\\\":\\\"string.unquoted.plain.in.yaml\\\"}]},\\\"flow-scalar-plain-in-implicit-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.float.yaml\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.timestamp.yaml\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.value.yaml\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.language.merge.yaml\\\"}},\\\"match\\\":\\\"(?:(null|Null|NULL|~)|(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|((?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[0-9a-fA-F_]+|[-+]?[1-9][0-9_]*(?::[0-5]?\\\\\\\\d)+))|((?:[-+]?(?:\\\\\\\\d[0-9_]*)?\\\\\\\\.[0-9.]*(?:[eE][-+]\\\\\\\\d+)?|[-+]?\\\\\\\\d[0-9_]*(?::[0-5]?\\\\\\\\d)+\\\\\\\\.[0-9_]*|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN)))|((?:\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}|\\\\\\\\d{4}-\\\\\\\\d{1,2}-\\\\\\\\d{1,2}(?:[Tt]|[ \\\\\\\\t]+)\\\\\\\\d{1,2}:\\\\\\\\d{2}:\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d*)?(?:(?:[ \\\\\\\\t]*)Z|[-+]\\\\\\\\d{1,2}(?::\\\\\\\\d{1,2})?)?))|(=)|(<<))(?:(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[\\\\\\\\[\\\\\\\\]{},]|\\\\\\\\s*[\\\\\\\\[\\\\\\\\]{},]))\\\"}]},\\\"flow-scalar-plain-out\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-out-implicit-type\\\"},{\\\"begin\\\":\\\"[^\\\\\\\\s[-?:,\\\\\\\\[\\\\\\\\]{}#&*!|>'\\\\\\\"%@`]]|[?:-]\\\\\\\\S\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"name\\\":\\\"string.unquoted.plain.out.yaml\\\"}]},\\\"flow-scalar-plain-out-implicit-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.float.yaml\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.timestamp.yaml\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.value.yaml\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.language.merge.yaml\\\"}},\\\"match\\\":\\\"(?:(null|Null|NULL|~)|(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|((?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[0-9a-fA-F_]+|[-+]?[1-9][0-9_]*(?::[0-5]?\\\\\\\\d)+))|((?:[-+]?(?:\\\\\\\\d[0-9_]*)?\\\\\\\\.[0-9.]*(?:[eE][-+]\\\\\\\\d+)?|[-+]?\\\\\\\\d[0-9_]*(?::[0-5]?\\\\\\\\d)+\\\\\\\\.[0-9_]*|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN)))|((?:\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}|\\\\\\\\d{4}-\\\\\\\\d{1,2}-\\\\\\\\d{1,2}(?:[Tt]|[ \\\\\\\\t]+)\\\\\\\\d{1,2}:\\\\\\\\d{2}:\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d*)?(?:(?:[ \\\\\\\\t]*)Z|[-+]\\\\\\\\d{1,2}(?::\\\\\\\\d{1,2})?)?))|(=)|(<<))(?:(?=\\\\\\\\s*$|\\\\\\\\s+\\\\\\\\#|\\\\\\\\s*:(\\\\\\\\s|$)))\\\"}]},\\\"flow-scalar-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.yaml\\\"}},\\\"end\\\":\\\"'(?!')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.yaml\\\"}},\\\"name\\\":\\\"string.quoted.single.yaml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.single-quoted.yaml\\\"}]},\\\"flow-sequence\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.sequence.begin.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\\]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.sequence.end.yaml\\\"}},\\\"name\\\":\\\"meta.flow-sequence.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.yaml\\\"},{\\\"include\\\":\\\"#flow-pair\\\"},{\\\"include\\\":\\\"#flow-node\\\"}]},\\\"flow-value\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?![},\\\\\\\\]])\\\",\\\"end\\\":\\\"(?=[},\\\\\\\\]])\\\",\\\"name\\\":\\\"meta.flow-pair.value.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-node\\\"}]}]},\\\"node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-node\\\"}]},\\\"property\\\":{\\\"begin\\\":\\\"(?=!|&)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.property.yaml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.property.anchor.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.anchor.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.anchor.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.character.anchor.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G((&))([^\\\\\\\\s\\\\\\\\[\\\\\\\\]/{/},]+)(\\\\\\\\S+)?\\\"},{\\\"match\\\":\\\"\\\\\\\\G(?:!<(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\\\\\\\\-#;/?:@&=+$,_.!~*'()\\\\\\\\[\\\\\\\\]])+>|(?:!(?:[0-9A-Za-z\\\\\\\\-]*!)?)(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\\\\\\\\-#;/?:@&=+$_.~*'()])+|!)(?= |\\\\\\\\t|$)\\\",\\\"name\\\":\\\"storage.type.tag-handle.yaml\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.tag-handle.yaml\\\"}]},\\\"prototype\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property\\\"}]}},\\\"scopeName\\\":\\\"source.yaml\\\",\\\"aliases\\\":[\\\"yml\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Markdown\\\",\\\"name\\\":\\\"markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#frontMatter\\\"},{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"ampersand\\\":{\\\"comment\\\":\\\"Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.\\\",\\\"match\\\":\\\"&(?!([a-zA-Z0-9]+|#\\\\\\\\d+|#x[0-9a-fA-F]+);)\\\",\\\"name\\\":\\\"meta.other.valid-ampersand.markdown\\\"},\\\"block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#separator\\\"},{\\\"include\\\":\\\"#heading\\\"},{\\\"include\\\":\\\"#blockquote\\\"},{\\\"include\\\":\\\"#lists\\\"},{\\\"include\\\":\\\"#fenced_code_block\\\"},{\\\"include\\\":\\\"#raw_block\\\"},{\\\"include\\\":\\\"#link-def\\\"},{\\\"include\\\":\\\"#html\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#paragraph\\\"}]},\\\"blockquote\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)[ ]{0,3}(>) ?\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"name\\\":\\\"markup.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(>) ?\\\"},\\\"bold\\\":{\\\"begin\\\":\\\"(?<open>(\\\\\\\\*\\\\\\\\*(?=\\\\\\\\w)|(?<!\\\\\\\\w)\\\\\\\\*\\\\\\\\*|(?<!\\\\\\\\w)\\\\\\\\b__))(?=\\\\\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\\\\\k<raw>(?!`))`)*+\\\\\\\\k<raw>|\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\`*_{}\\\\\\\\[\\\\\\\\]()#.!+\\\\\\\\->]?+|\\\\\\\\[((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+\\\\\\\\](([ ]?\\\\\\\\[[^\\\\\\\\]]*+\\\\\\\\])|(\\\\\\\\([ \\\\\\\\t]*+<?(.*?)>?[ \\\\\\\\t]*+((?<title>['\\\\\\\"])(.*?)\\\\\\\\k<title>)?\\\\\\\\))))|(?!(?<=\\\\\\\\S)\\\\\\\\k<open>).)++(?<=\\\\\\\\S)(?=__\\\\\\\\b|\\\\\\\\*\\\\\\\\*)\\\\\\\\k<open>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bold.markdown\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.bold.markdown\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"},{\\\"include\\\":\\\"#strikethrough\\\"}]},\\\"bracket\\\":{\\\"comment\\\":\\\"Markdown will convert this for us. We match it so that the HTML grammar will not mark it up as invalid.\\\",\\\"match\\\":\\\"<(?![a-zA-Z/?$!])\\\",\\\"name\\\":\\\"meta.other.valid-bracket.markdown\\\"},\\\"escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[-`*_#+.!(){}\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\>]\\\",\\\"name\\\":\\\"constant.character.escape.markdown\\\"},\\\"fenced_code_block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fenced_code_block_css\\\"},{\\\"include\\\":\\\"#fenced_code_block_basic\\\"},{\\\"include\\\":\\\"#fenced_code_block_ini\\\"},{\\\"include\\\":\\\"#fenced_code_block_java\\\"},{\\\"include\\\":\\\"#fenced_code_block_lua\\\"},{\\\"include\\\":\\\"#fenced_code_block_makefile\\\"},{\\\"include\\\":\\\"#fenced_code_block_perl\\\"},{\\\"include\\\":\\\"#fenced_code_block_r\\\"},{\\\"include\\\":\\\"#fenced_code_block_ruby\\\"},{\\\"include\\\":\\\"#fenced_code_block_php\\\"},{\\\"include\\\":\\\"#fenced_code_block_sql\\\"},{\\\"include\\\":\\\"#fenced_code_block_vs_net\\\"},{\\\"include\\\":\\\"#fenced_code_block_xml\\\"},{\\\"include\\\":\\\"#fenced_code_block_xsl\\\"},{\\\"include\\\":\\\"#fenced_code_block_yaml\\\"},{\\\"include\\\":\\\"#fenced_code_block_dosbatch\\\"},{\\\"include\\\":\\\"#fenced_code_block_clojure\\\"},{\\\"include\\\":\\\"#fenced_code_block_coffee\\\"},{\\\"include\\\":\\\"#fenced_code_block_c\\\"},{\\\"include\\\":\\\"#fenced_code_block_cpp\\\"},{\\\"include\\\":\\\"#fenced_code_block_diff\\\"},{\\\"include\\\":\\\"#fenced_code_block_dockerfile\\\"},{\\\"include\\\":\\\"#fenced_code_block_git_commit\\\"},{\\\"include\\\":\\\"#fenced_code_block_git_rebase\\\"},{\\\"include\\\":\\\"#fenced_code_block_go\\\"},{\\\"include\\\":\\\"#fenced_code_block_groovy\\\"},{\\\"include\\\":\\\"#fenced_code_block_pug\\\"},{\\\"include\\\":\\\"#fenced_code_block_js\\\"},{\\\"include\\\":\\\"#fenced_code_block_js_regexp\\\"},{\\\"include\\\":\\\"#fenced_code_block_json\\\"},{\\\"include\\\":\\\"#fenced_code_block_jsonc\\\"},{\\\"include\\\":\\\"#fenced_code_block_less\\\"},{\\\"include\\\":\\\"#fenced_code_block_objc\\\"},{\\\"include\\\":\\\"#fenced_code_block_swift\\\"},{\\\"include\\\":\\\"#fenced_code_block_scss\\\"},{\\\"include\\\":\\\"#fenced_code_block_perl6\\\"},{\\\"include\\\":\\\"#fenced_code_block_powershell\\\"},{\\\"include\\\":\\\"#fenced_code_block_python\\\"},{\\\"include\\\":\\\"#fenced_code_block_julia\\\"},{\\\"include\\\":\\\"#fenced_code_block_regexp_python\\\"},{\\\"include\\\":\\\"#fenced_code_block_rust\\\"},{\\\"include\\\":\\\"#fenced_code_block_scala\\\"},{\\\"include\\\":\\\"#fenced_code_block_shell\\\"},{\\\"include\\\":\\\"#fenced_code_block_ts\\\"},{\\\"include\\\":\\\"#fenced_code_block_tsx\\\"},{\\\"include\\\":\\\"#fenced_code_block_csharp\\\"},{\\\"include\\\":\\\"#fenced_code_block_fsharp\\\"},{\\\"include\\\":\\\"#fenced_code_block_dart\\\"},{\\\"include\\\":\\\"#fenced_code_block_handlebars\\\"},{\\\"include\\\":\\\"#fenced_code_block_markdown\\\"},{\\\"include\\\":\\\"#fenced_code_block_log\\\"},{\\\"include\\\":\\\"#fenced_code_block_erlang\\\"},{\\\"include\\\":\\\"#fenced_code_block_elixir\\\"},{\\\"include\\\":\\\"#fenced_code_block_latex\\\"},{\\\"include\\\":\\\"#fenced_code_block_bibtex\\\"},{\\\"include\\\":\\\"#fenced_code_block_twig\\\"},{\\\"include\\\":\\\"#fenced_code_block_unknown\\\"}]},\\\"fenced_code_block_basic\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(html|htm|shtml|xhtml|inc|tmpl|tpl)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_bibtex\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(bibtex)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.bibtex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.bibtex\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_c\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(c|h)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_clojure\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(clj|cljs|clojure)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_coffee\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_cpp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(cpp|c\\\\\\\\+\\\\\\\\+|cxx)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.cpp source.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_csharp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(cs|csharp|c#)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.csharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_css\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(css|css.erb)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dart\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(dart)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dart\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dart\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_diff\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(patch|diff|rej)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dockerfile\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(dockerfile|Dockerfile)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dosbatch\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(bat|batch)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dosbatch\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.batchfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_elixir\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(elixir)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_erlang\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(erlang)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_fsharp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(fs|fsharp|f#)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.fsharp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_git_commit\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(COMMIT_EDITMSG|MERGE_MSG)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.git_commit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.git-commit\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_git_rebase\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(git-rebase-todo)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.git_rebase\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.git-rebase\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_go\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(go|golang)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_groovy\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(groovy|gvy)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.groovy\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_handlebars\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(handlebars|hbs)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.handlebars\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ini\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ini|conf)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_java\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(java|bsh)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_js\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(js|jsx|javascript|es6|mjs|cjs|dataviewjs|\\\\\\\\{\\\\\\\\.js.+?\\\\\\\\})((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_js_regexp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(regexp)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.js_regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js.regexp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_json\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(json|json5|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_jsonc\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jsonc)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.jsonc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json.comments\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_julia\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(julia|\\\\\\\\{\\\\\\\\.julia.+?\\\\\\\\})((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_latex\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(latex|tex)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_less\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(less)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_log\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(log)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.log\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.log\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_lua\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(lua)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_makefile\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(Makefile|makefile|GNUmakefile|OCamlMakefile)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_markdown\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(markdown|md)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_objc\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|m|h)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_perl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_perl6\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.perl6\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl.6\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_php\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(php|php3|php4|php5|phpt|phtml|aw|ctp)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"source.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_powershell\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(powershell|ps1|psm1|psd1|pwsh)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.powershell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_pug\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jade|pug)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.pug\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_python\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(python|py|py3|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gyp|gypi|\\\\\\\\{\\\\\\\\.python.+?\\\\\\\\})((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_r\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(R|r|s|S|Rprofile|\\\\\\\\{\\\\\\\\.r.+?\\\\\\\\})((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_regexp_python\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(re)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.regexp_python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ruby\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ruby|rb|rbx|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_rust\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(rust|rs|\\\\\\\\{\\\\\\\\.rust.+?\\\\\\\\})((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_scala\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(scala|sbt)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_scss\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(scss)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_shell\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\\\\\{\\\\\\\\.bash.+?\\\\\\\\})((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_sql\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(sql|ddl|dml)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_swift\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(swift)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ts\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(typescript|ts)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.typescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_tsx\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(tsx)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.typescriptreact\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_twig\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(twig)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.twig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_unknown\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?=([^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\"},\\\"fenced_code_block_vs_net\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(vb)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.vs_net\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asp.vb.net\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_xml\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_xsl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(xsl|xslt)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.xsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.xsl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_yaml\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(yaml|yml)((\\\\\\\\s+|:|,|\\\\\\\\{|\\\\\\\\?)[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"frontMatter\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\A(?=(-{3,}))\\\",\\\"end\\\":\\\"^ {,3}\\\\\\\\1-*[ \\\\\\\\t]*$|^[ \\\\\\\\t]*\\\\\\\\.{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.frontmatter\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\A(-{3,})(.*)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.frontmatter\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.frontmatter\\\"}},\\\"contentName\\\":\\\"meta.embedded.block.frontmatter\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"^(?! {,3}\\\\\\\\1-*[ \\\\\\\\t]*$|[ \\\\\\\\t]*\\\\\\\\.{3}$)\\\"}]},\\\"heading\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{6})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.6.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{5})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.5.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{4})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.4.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{3})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.3.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{2})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.2.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{1})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.1.markdown\\\"}]}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[ ]{0,3}(#{1,6}\\\\\\\\s+(.*?)(\\\\\\\\s+#{1,6})?\\\\\\\\s*)$\\\",\\\"name\\\":\\\"markup.heading.markdown\\\"},\\\"heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(={3,})(?=[ \\\\\\\\t]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.1.markdown\\\"},{\\\"match\\\":\\\"^(-{3,})(?=[ \\\\\\\\t]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.2.markdown\\\"}]},\\\"html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(<!--)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"(-->)\\\",\\\"name\\\":\\\"comment.block.html\\\"},{\\\"begin\\\":\\\"(?i)(^|\\\\\\\\G)\\\\\\\\s*(?=<(script|style|pre)(\\\\\\\\s|$|>)(?!.*?</(script|style|pre)>))\\\",\\\"end\\\":\\\"(?i)(.*)((</)(script|style|pre)(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.structure.$4.end.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\s*|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"(?i)^(?!.*</(script|style|pre)>)\\\"}]},{\\\"begin\\\":\\\"(?i)(^|\\\\\\\\G)\\\\\\\\s*(?=</?[a-zA-Z]+[^\\\\\\\\s/&gt;]*(\\\\\\\\s|$|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*$)\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(?=(<[a-zA-Z0-9\\\\\\\\-](/?>|\\\\\\\\s.*?>)|</[a-zA-Z0-9\\\\\\\\-]>)\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*$)\\\"}]},\\\"image-inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.image.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.underline.link.image.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"18\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"19\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"}},\\\"match\\\":\\\"(!\\\\\\\\[)((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+)(\\\\\\\\])(\\\\\\\\()[ \\\\\\\\t]*((<)((?:\\\\\\\\\\\\\\\\[<>]|[^<>\\\\\\\\n])*)(>)|((?<url>(?>[^\\\\\\\\s()]+)|\\\\\\\\(\\\\\\\\g<url>*\\\\\\\\))*))[ \\\\\\\\t]*(?:((\\\\\\\\().+?(\\\\\\\\)))|((\\\\\\\").+?(\\\\\\\"))|((').+?(')))?\\\\\\\\s*(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.image.inline.markdown\\\"},\\\"image-ref\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"}},\\\"match\\\":\\\"(!\\\\\\\\[)((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+)(\\\\\\\\])[ ]?(\\\\\\\\[)(.*?)(\\\\\\\\])\\\",\\\"name\\\":\\\"meta.image.reference.markdown\\\"},\\\"inline\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"}]},\\\"italic\\\":{\\\"begin\\\":\\\"(?<open>(\\\\\\\\*(?=\\\\\\\\w)|(?<!\\\\\\\\w)\\\\\\\\*|(?<!\\\\\\\\w)\\\\\\\\b_))(?=\\\\\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\\\\\k<raw>(?!`))`)*+\\\\\\\\k<raw>|\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\`*_{}\\\\\\\\[\\\\\\\\]()#.!+\\\\\\\\->]?+|\\\\\\\\[((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+\\\\\\\\](([ ]?\\\\\\\\[[^\\\\\\\\]]*+\\\\\\\\])|(\\\\\\\\([ \\\\\\\\t]*+<?(.*?)>?[ \\\\\\\\t]*+((?<title>['\\\\\\\"])(.*?)\\\\\\\\k<title>)?\\\\\\\\))))|\\\\\\\\k<open>\\\\\\\\k<open>|(?!(?<=\\\\\\\\S)\\\\\\\\k<open>).)++(?<=\\\\\\\\S)(?=_\\\\\\\\b|\\\\\\\\*)\\\\\\\\k<open>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.italic.markdown\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\1)((?!\\\\\\\\1)|(?=\\\\\\\\1\\\\\\\\1))\\\",\\\"name\\\":\\\"markup.italic.markdown\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"},{\\\"include\\\":\\\"#strikethrough\\\"}]},\\\"link-def\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\[)([^]]+?)(\\\\\\\\])(:)[ \\\\\\\\t]*(?:(<)((?:\\\\\\\\\\\\\\\\[<>]|[^<>\\\\\\\\n])*)(>)|(\\\\\\\\S+?))[ \\\\\\\\t]*(?:((\\\\\\\\().+?(\\\\\\\\)))|((\\\\\\\").+?(\\\\\\\"))|((').+?(')))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"meta.link.reference.def.markdown\\\"},\\\"link-email\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"}},\\\"match\\\":\\\"(<)((?:mailto:)?[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\\\\\\\.[a-zA-Z0-9-]+)*)(>)\\\",\\\"name\\\":\\\"meta.link.email.lt-gt.markdown\\\"},\\\"link-inet\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"}},\\\"match\\\":\\\"(<)((?:https?|ftp)://.*?)(>)\\\",\\\"name\\\":\\\"meta.link.inet.markdown\\\"},\\\"link-inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#image-inline\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"18\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"19\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+)(\\\\\\\\])(\\\\\\\\()[ \\\\\\\\t]*((<)((?:\\\\\\\\\\\\\\\\[<>]|[^<>\\\\\\\\n])*)(>)|((?<url>(?>[^\\\\\\\\s()]+)|\\\\\\\\(\\\\\\\\g<url>*\\\\\\\\))*))[ \\\\\\\\t]*(?:((\\\\\\\\()[^()]*(\\\\\\\\)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"))|((')[^']*(')))?\\\\\\\\s*(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.link.inline.markdown\\\"},\\\"link-ref\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#image-inline\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.begin.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.constant.end.markdown\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+)(\\\\\\\\])(\\\\\\\\[)([^\\\\\\\\]]*+)(\\\\\\\\])\\\",\\\"name\\\":\\\"meta.link.reference.markdown\\\"},\\\"link-ref-literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.begin.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.constant.end.markdown\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?<square>[^\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+\\\\\\\\])*+)(\\\\\\\\])[ ]?(\\\\\\\\[)(\\\\\\\\])\\\",\\\"name\\\":\\\"meta.link.reference.literal.markdown\\\"},\\\"link-ref-shortcut\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"}},\\\"match\\\":\\\"(?<![\\\\\\\\]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?:[^\\\\\\\\s\\\\\\\\[\\\\\\\\]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\\[\\\\\\\\]])+?)((?<!\\\\\\\\\\\\\\\\)\\\\\\\\])\\\",\\\"name\\\":\\\"meta.link.reference.markdown\\\"},\\\"list_paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\S)(?![*+->]\\\\\\\\s|\\\\\\\\d+\\\\\\\\.\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*$|#|[ ]{0,3}([-*_>][ ]{2,}){3,}[ \\\\\\\\t]*$\\\\\\\\n?|[ ]{0,3}[*+->]|[ ]{0,3}\\\\\\\\d+\\\\\\\\.)\\\"},\\\"lists\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)([ ]{0,3})([*+-])([ \\\\\\\\t])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"comment\\\":\\\"Currently does not support un-indented second lines.\\\",\\\"name\\\":\\\"markup.list.unnumbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)([ ]{2,4}|\\\\\\\\t))|(^[ \\\\\\\\t]*$)\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)([ ]{0,3})(\\\\\\\\d+[\\\\\\\\.)])([ \\\\\\\\t])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.numbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)([ ]{2,4}|\\\\\\\\t))|(^[ \\\\\\\\t]*$)\\\"}]},\\\"paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)[ ]{0,3}(?=[^ \\\\\\\\t\\\\\\\\n])\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)((?=\\\\\\\\s*[-=]{3,}\\\\\\\\s*$)|[ ]{4,}(?=[^ \\\\\\\\t\\\\\\\\n]))\\\"},\\\"raw\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.raw.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.raw.markdown\\\"}},\\\"match\\\":\\\"(`+)((?:[^`]|(?!(?<!`)\\\\\\\\1(?!`))`)*+)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.inline.raw.string.markdown\\\"},\\\"raw_block\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)([ ]{4}|\\\\\\\\t)\\\",\\\"name\\\":\\\"markup.raw.block.markdown\\\",\\\"while\\\":\\\"(^|\\\\\\\\G)([ ]{4}|\\\\\\\\t)\\\"},\\\"separator\\\":{\\\"match\\\":\\\"(^|\\\\\\\\G)[ ]{0,3}([\\\\\\\\*\\\\\\\\-_])([ ]{0,2}\\\\\\\\2){2,}[ \\\\\\\\t]*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.separator.markdown\\\"},\\\"strikethrough\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.strikethrough.markdown\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.strikethrough.markdown\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(~{2,})((?:[^~]|(?!(?<![~\\\\\\\\\\\\\\\\])\\\\\\\\1(?!~))~)*+)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.strikethrough.markdown\\\"},\\\"table\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\|)(?=[^|].+\\\\\\\\|\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.table.markdown\\\"}},\\\"name\\\":\\\"markup.table.markdown\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.definition.table.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.table.markdown\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\|)\\\\\\\\s*(:?-+:?)\\\\\\\\s*(?=\\\\\\\\|)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"}]}},\\\"match\\\":\\\"(?<=\\\\\\\\|)\\\\\\\\s*(?=\\\\\\\\S)((\\\\\\\\\\\\\\\\\\\\\\\\||[^|])+)(?<=\\\\\\\\S)\\\\\\\\s*(?=\\\\\\\\|)\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\|)\\\"}},\\\"scopeName\\\":\\\"text.html.markdown\\\",\\\"embeddedLangs\\\":[],\\\"aliases\\\":[\\\"md\\\"],\\\"embeddedLangsLazy\\\":[\\\"css\\\",\\\"html\\\",\\\"ini\\\",\\\"java\\\",\\\"lua\\\",\\\"make\\\",\\\"perl\\\",\\\"r\\\",\\\"ruby\\\",\\\"php\\\",\\\"sql\\\",\\\"vb\\\",\\\"xml\\\",\\\"xsl\\\",\\\"yaml\\\",\\\"bat\\\",\\\"clojure\\\",\\\"coffee\\\",\\\"c\\\",\\\"cpp\\\",\\\"diff\\\",\\\"docker\\\",\\\"git-commit\\\",\\\"git-rebase\\\",\\\"go\\\",\\\"groovy\\\",\\\"pug\\\",\\\"javascript\\\",\\\"json\\\",\\\"jsonc\\\",\\\"less\\\",\\\"objective-c\\\",\\\"swift\\\",\\\"scss\\\",\\\"raku\\\",\\\"powershell\\\",\\\"python\\\",\\\"julia\\\",\\\"regexp\\\",\\\"rust\\\",\\\"scala\\\",\\\"shellscript\\\",\\\"typescript\\\",\\\"tsx\\\",\\\"csharp\\\",\\\"fsharp\\\",\\\"dart\\\",\\\"handlebars\\\",\\\"log\\\",\\\"erlang\\\",\\\"elixir\\\",\\\"latex\\\",\\\"bibtex\\\",\\\"html-derivative\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"MDX\\\",\\\"fileTypes\\\":[\\\"mdx\\\"],\\\"name\\\":\\\"mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-frontmatter\\\"},{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"repository\\\":{\\\"commonmark-attention\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*{3,}|\\\\\\\\*{3,}(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.strong.emphasis.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_{3,}(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_{3,}|(?<![\\\\\\\\p{L}\\\\\\\\p{N}]|\\\\\\\\p{P})_{3,}(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"string.other.strong.emphasis.underscore.mdx\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*{2}|\\\\\\\\*{2}(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.strong.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_{2}(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_{2}|(?<![\\\\\\\\p{L}\\\\\\\\p{N}]|\\\\\\\\p{P})_{2}(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"string.other.strong.underscore.mdx\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*|\\\\\\\\*(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.emphasis.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_|(?<![\\\\\\\\p{L}\\\\\\\\p{N}]|\\\\\\\\p{P})_(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"string.other.emphasis.underscore.mdx\\\"}]},\\\"commonmark-block-quote\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(>)[ ]?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.quote.mdx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.mdx\\\"}},\\\"name\\\":\\\"markup.quote.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"(>)[ ]?\\\",\\\"whileCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.quote.mdx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.mdx\\\"}}},\\\"commonmark-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[!\\\\\\\"#$%&'()*+,\\\\\\\\-.\\\\\\\\/:;<=>?@\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]^_`{|}~])\\\",\\\"name\\\":\\\"constant.language.character-escape.mdx\\\"},\\\"commonmark-character-reference\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#whatwg-html-data-character-reference-named-terminated\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.hexadecimal.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)(#)([Xx])([0-9A-Fa-f]{1,6})(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.numeric.hexadecimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)(#)(\\\\\\\\d{1,7})(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.numeric.decimal.html\\\"}]},\\\"commonmark-code-fenced\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-code-fenced-apib\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-asciidoc\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-c\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-clojure\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-coffee\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-console\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-cpp\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-cs\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-css\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-diff\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-dockerfile\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-elixir\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-elm\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-erlang\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-gitconfig\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-go\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-graphql\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-haskell\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-html\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ini\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-java\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-js\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-json\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-julia\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-kotlin\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-less\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-less\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-lua\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-makefile\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-md\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-mdx\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-objc\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-perl\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-php\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-php\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-python\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-r\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-raku\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ruby\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-rust\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-scala\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-scss\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-shell\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-shell-session\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-sql\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-svg\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-swift\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-toml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ts\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-tsx\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-vbnet\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-xml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-yaml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-unknown\\\"}]},\\\"commonmark-code-fenced-apib\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:api\\\\\\\\x2dblueprint|(?:.*\\\\\\\\.)?apib))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.apib.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.apib\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown.source.gfm.apib\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:api\\\\\\\\x2dblueprint|(?:.*\\\\\\\\.)?apib))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.apib.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.apib\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown.source.gfm.apib\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-asciidoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:adoc|asciidoc)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.asciidoc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:adoc|asciidoc)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.asciidoc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-c\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:dtrace|dtrace\\\\\\\\x2dscript|oncrpc|rpc|rpcgen|unified\\\\\\\\x2dparallel\\\\\\\\x2dc|x\\\\\\\\x2dbitmap|x\\\\\\\\x2dpixmap|xdr|(?:.*\\\\\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.c.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:dtrace|dtrace\\\\\\\\x2dscript|oncrpc|rpc|rpcgen|unified\\\\\\\\x2dparallel\\\\\\\\x2dc|x\\\\\\\\x2dbitmap|x\\\\\\\\x2dpixmap|xdr|(?:.*\\\\\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.c.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-clojure\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:clojure|rouge|(?:.*\\\\\\\\.)?(?:boot|cl2|clj|cljc|cljs|cljs\\\\\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.clojure.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:clojure|rouge|(?:.*\\\\\\\\.)?(?:boot|cl2|clj|cljc|cljs|cljs\\\\\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.clojure.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-coffee\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:coffee\\\\\\\\x2dscript|coffeescript|(?:.*\\\\\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.coffee.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:coffee\\\\\\\\x2dscript|coffeescript|(?:.*\\\\\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.coffee.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-console\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:pycon|python\\\\\\\\x2dconsole))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.console.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.console\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.python.console\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:pycon|python\\\\\\\\x2dconsole))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.console.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.console\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.python.console\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-cpp\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:ags|ags\\\\\\\\x2dscript|asymptote|c\\\\\\\\+\\\\\\\\+|edje\\\\\\\\x2ddata\\\\\\\\x2dcollection|game\\\\\\\\x2dmaker\\\\\\\\x2dlanguage|swig|(?:.*\\\\\\\\.)?(?:asc|ash|asy|c\\\\\\\\+\\\\\\\\+|cc|cp|cpp|cppm|cxx|edc|gml|h\\\\\\\\+\\\\\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cpp.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:ags|ags\\\\\\\\x2dscript|asymptote|c\\\\\\\\+\\\\\\\\+|edje\\\\\\\\x2ddata\\\\\\\\x2dcollection|game\\\\\\\\x2dmaker\\\\\\\\x2dlanguage|swig|(?:.*\\\\\\\\.)?(?:asc|ash|asy|c\\\\\\\\+\\\\\\\\+|cc|cp|cpp|cppm|cxx|edc|gml|h\\\\\\\\+\\\\\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cpp.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-cs\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\\\\\.)?(?:bf|cake|cs|cs\\\\\\\\.pp|csx|eq|linq|uno)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cs.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\\\\\.)?(?:bf|cake|cs|cs\\\\\\\\.pp|csx|eq|linq|uno)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cs.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-css\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?css))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.css.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?css))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.css.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-diff\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:udiff|(?:.*\\\\\\\\.)?(?:diff|patch)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.diff.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:udiff|(?:.*\\\\\\\\.)?(?:diff|patch)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.diff.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-dockerfile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:containerfile|(?:.*\\\\\\\\.)?dockerfile))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:containerfile|(?:.*\\\\\\\\.)?dockerfile))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-elixir\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:elixir|(?:.*\\\\\\\\.)?(?:ex|exs)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elixir.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:elixir|(?:.*\\\\\\\\.)?(?:ex|exs)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elixir.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-elm\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?elm))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elm.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elm\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?elm))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elm.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elm\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-erlang\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:erlang|(?:.*\\\\\\\\.)?(?:app|app\\\\\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.erlang.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:erlang|(?:.*\\\\\\\\.)?(?:app|app\\\\\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.erlang.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-gitconfig\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:git\\\\\\\\x2dconfig|gitmodules|(?:.*\\\\\\\\.)?gitconfig))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.gitconfig.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.gitconfig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gitconfig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:git\\\\\\\\x2dconfig|gitmodules|(?:.*\\\\\\\\.)?gitconfig))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.gitconfig.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.gitconfig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gitconfig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-go\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:golang|(?:.*\\\\\\\\.)?go))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.go.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:golang|(?:.*\\\\\\\\.)?go))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.go.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-graphql\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:gql|graphql|graphqls)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.graphql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:gql|graphql|graphqls)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.graphql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-haskell\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:c2hs|c2hs\\\\\\\\x2dhaskell|frege|haskell|(?:.*\\\\\\\\.)?(?:chs|dhall|hs|hs\\\\\\\\x2dboot|hsc)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.haskell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.haskell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:c2hs|c2hs\\\\\\\\x2dhaskell|frege|haskell|(?:.*\\\\\\\\.)?(?:chs|dhall|hs|hs\\\\\\\\x2dboot|hsc)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.haskell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.haskell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:html|(?:.*\\\\\\\\.)?(?:hta|htm|html\\\\\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.html.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:html|(?:.*\\\\\\\\.)?(?:hta|htm|html\\\\\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.html.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ini\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:altium|altium\\\\\\\\x2ddesigner|dosini|(?:.*\\\\\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ini.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:altium|altium\\\\\\\\x2ddesigner|dosini|(?:.*\\\\\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ini.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-java\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\\\\\.)?(?:ck|jav|java|jsh|uc)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.java.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\\\\\.)?(?:ck|jav|java|jsh|uc)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.java.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-js\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:cycript|javascript\\\\\\\\+erb|json\\\\\\\\x2dwith\\\\\\\\x2dcomments|node|qt\\\\\\\\x2dscript|(?:.*\\\\\\\\.)?(?:_js|bones|cjs|code\\\\\\\\x2dsnippets|code\\\\\\\\x2dworkspace|cy|es6|jake|javascript|js|js\\\\\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime\\\\\\\\x2dbuild|sublime\\\\\\\\x2dcolor\\\\\\\\x2dscheme|sublime\\\\\\\\x2dcommands|sublime\\\\\\\\x2dcompletions|sublime\\\\\\\\x2dkeymap|sublime\\\\\\\\x2dmacro|sublime\\\\\\\\x2dmenu|sublime\\\\\\\\x2dmousemap|sublime\\\\\\\\x2dproject|sublime\\\\\\\\x2dsettings|sublime\\\\\\\\x2dtheme|sublime\\\\\\\\x2dworkspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.js.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:cycript|javascript\\\\\\\\+erb|json\\\\\\\\x2dwith\\\\\\\\x2dcomments|node|qt\\\\\\\\x2dscript|(?:.*\\\\\\\\.)?(?:_js|bones|cjs|code\\\\\\\\x2dsnippets|code\\\\\\\\x2dworkspace|cy|es6|jake|javascript|js|js\\\\\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime\\\\\\\\x2dbuild|sublime\\\\\\\\x2dcolor\\\\\\\\x2dscheme|sublime\\\\\\\\x2dcommands|sublime\\\\\\\\x2dcompletions|sublime\\\\\\\\x2dkeymap|sublime\\\\\\\\x2dmacro|sublime\\\\\\\\x2dmenu|sublime\\\\\\\\x2dmousemap|sublime\\\\\\\\x2dproject|sublime\\\\\\\\x2dsettings|sublime\\\\\\\\x2dtheme|sublime\\\\\\\\x2dworkspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.js.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-json\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:ecere\\\\\\\\x2dprojects|ipython\\\\\\\\x2dnotebook|jupyter\\\\\\\\x2dnotebook|max|max/msp|maxmsp|oasv2\\\\\\\\x2djson|oasv3\\\\\\\\x2djson|(?:.*\\\\\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json|json|json\\\\\\\\x2dtmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\\\\\.backup|topojson|webapp|webmanifest|yy|yyp)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.json.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:ecere\\\\\\\\x2dprojects|ipython\\\\\\\\x2dnotebook|jupyter\\\\\\\\x2dnotebook|max|max/msp|maxmsp|oasv2\\\\\\\\x2djson|oasv3\\\\\\\\x2djson|(?:.*\\\\\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json|json|json\\\\\\\\x2dtmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\\\\\.backup|topojson|webapp|webmanifest|yy|yyp)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.json.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-julia\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:julia|(?:.*\\\\\\\\.)?jl))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.julia.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:julia|(?:.*\\\\\\\\.)?jl))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.julia.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-kotlin\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:gradle\\\\\\\\x2dkotlin\\\\\\\\x2ddsl|kotlin|(?:.*\\\\\\\\.)?(?:gradle\\\\\\\\.kts|kt|ktm|kts)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.kotlin.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.kotlin\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.kotlin\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:gradle\\\\\\\\x2dkotlin\\\\\\\\x2ddsl|kotlin|(?:.*\\\\\\\\.)?(?:gradle\\\\\\\\.kts|kt|ktm|kts)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.kotlin.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.kotlin\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.kotlin\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-less\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:less\\\\\\\\x2dcss|(?:.*\\\\\\\\.)?less))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.less.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:less\\\\\\\\x2dcss|(?:.*\\\\\\\\.)?less))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.less.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-lua\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.lua.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.lua.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-makefile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\\\\\.)?(?:mak|make|makefile|mk|mkfile)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.makefile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\\\\\.)?(?:mak|make|makefile|mk|mkfile)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.makefile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-md\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\\\\\.)?(?:livemd|markdown|mdown|mdwn|mkd|mkdn|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.md.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.md\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.md\\\"},{\\\"include\\\":\\\"source.gfm\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\\\\\.)?(?:livemd|markdown|mdown|mdwn|mkd|mkdn|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.md.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.md\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.md\\\"},{\\\"include\\\":\\\"source.gfm\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-mdx\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?mdx))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.mdx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mdx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?mdx))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.mdx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mdx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-objc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:obj\\\\\\\\x2dc|objc|objective\\\\\\\\x2dc|objectivec))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.objc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:obj\\\\\\\\x2dc|objc|objective\\\\\\\\x2dc|objectivec))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.objc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-perl\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:cperl|(?:.*\\\\\\\\.)?(?:cgi|perl|ph|pl|plx|pm|psgi|t)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.perl.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:cperl|(?:.*\\\\\\\\.)?(?:cgi|perl|ph|pl|plx|pm|psgi|t)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.perl.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-php\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:html\\\\\\\\+php|inc|php|(?:.*\\\\\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.php.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:html\\\\\\\\+php|inc|php|(?:.*\\\\\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.php.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-python\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:bazel|easybuild|python|python3|rusthon|snakemake|starlark|xonsh|(?:.*\\\\\\\\.)?(?:bzl|eb|gyp|gypi|lmi|py|py3|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.python.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:bazel|easybuild|python|python3|rusthon|snakemake|starlark|xonsh|(?:.*\\\\\\\\.)?(?:bzl|eb|gyp|gypi|lmi|py|py3|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.python.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-r\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:rscript|splus|(?:.*\\\\\\\\.)?(?:r|rd|rsx)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.r.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:rscript|splus|(?:.*\\\\\\\\.)?(?:r|rd|rsx)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.r.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-raku\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:perl\\\\\\\\x2d6|perl6|pod\\\\\\\\x2d6|(?:.*\\\\\\\\.)?(?:6pl|6pm|nqp|p6|p6l|p6m|pl6|pm6|pod|pod6|raku|rakumod)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.raku.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.raku\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.raku\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:perl\\\\\\\\x2d6|perl6|pod\\\\\\\\x2d6|(?:.*\\\\\\\\.)?(?:6pl|6pm|nqp|p6|p6l|p6m|pl6|pm6|pod|pod6|raku|rakumod)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.raku.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.raku\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.raku\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ruby\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:jruby|macruby|(?:.*\\\\\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rb|rbi|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ruby.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:jruby|macruby|(?:.*\\\\\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rb|rbi|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ruby.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-rust\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:rust|(?:.*\\\\\\\\.)?(?:rs|rs\\\\\\\\.in)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.rust.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:rust|(?:.*\\\\\\\\.)?(?:rs|rs\\\\\\\\.in)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.rust.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-scala\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scala.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scala.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-scss\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?scss))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scss.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?scss))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scss.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-shell\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:abuild|alpine\\\\\\\\x2dabuild|apkbuild|envrc|gentoo\\\\\\\\x2debuild|gentoo\\\\\\\\x2declass|openrc|openrc\\\\\\\\x2drunscript|shell|shell\\\\\\\\x2dscript|(?:.*\\\\\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\\\\\.in|tcsh|tmux|tool|zsh|zsh\\\\\\\\x2dtheme)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:abuild|alpine\\\\\\\\x2dabuild|apkbuild|envrc|gentoo\\\\\\\\x2debuild|gentoo\\\\\\\\x2declass|openrc|openrc\\\\\\\\x2drunscript|shell|shell\\\\\\\\x2dscript|(?:.*\\\\\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\\\\\.in|tcsh|tmux|tool|zsh|zsh\\\\\\\\x2dtheme)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-shell-session\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:bash\\\\\\\\x2dsession|console|shellsession|(?:.*\\\\\\\\.)?sh\\\\\\\\x2dsession))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell-session.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell-session\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.shell-session\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:bash\\\\\\\\x2dsession|console|shellsession|(?:.*\\\\\\\\.)?sh\\\\\\\\x2dsession))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell-session.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell-session\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.shell-session\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-sql\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|sql|sql|tab|udf|viw)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.sql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|sql|sql|tab|udf|viw)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.sql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?svg))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.svg.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.svg\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.svg\\\"},{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?svg))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.svg.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.svg\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.svg\\\"},{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-swift\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?swift))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.swift.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?swift))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.swift.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-toml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?toml))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.toml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?toml))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.toml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ts\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:typescript|(?:.*\\\\\\\\.)?(?:cts|mts|ts)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ts.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:typescript|(?:.*\\\\\\\\.)?(?:cts|mts|ts)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ts.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-tsx\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?tsx))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.tsx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?tsx))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.tsx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-unknown\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?:[^\\\\\\\\t\\\\\\\\n\\\\\\\\r` ])+)(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)?(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.code.fenced.mdx\\\",\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?:[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])+)(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)?(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.code.fenced.mdx\\\",\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"}]},\\\"commonmark-code-fenced-vbnet\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:fb|freebasic|realbasic|vb\\\\\\\\x2d\\\\\\\\.net|vb\\\\\\\\.net|vbnet|vbscript|visual\\\\\\\\x2dbasic|visual\\\\\\\\x2dbasic\\\\\\\\x2d\\\\\\\\.net|(?:.*\\\\\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.vbnet.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.vbnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vbnet\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:fb|freebasic|realbasic|vb\\\\\\\\x2d\\\\\\\\.net|vb\\\\\\\\.net|vbnet|vbscript|visual\\\\\\\\x2dbasic|visual\\\\\\\\x2dbasic\\\\\\\\x2d\\\\\\\\.net|(?:.*\\\\\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.vbnet.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.vbnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vbnet\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-xml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:collada|eagle|labview|web\\\\\\\\x2dontology\\\\\\\\x2dlanguage|xpages|(?:.*\\\\\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|sch|scxml|sfproj|shproj|srdf|storyboard|sublime\\\\\\\\x2dsnippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp\\\\\\\\x2dconfig|xsp\\\\\\\\.metadata|xspec|xul|zcml)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.xml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:collada|eagle|labview|web\\\\\\\\x2dontology\\\\\\\\x2dlanguage|xpages|(?:.*\\\\\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|sch|scxml|sfproj|shproj|srdf|storyboard|sublime\\\\\\\\x2dsnippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp\\\\\\\\x2dconfig|xsp\\\\\\\\.metadata|xspec|xul|zcml)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.xml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-yaml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*((?i:jar\\\\\\\\x2dmanifest|kaitai\\\\\\\\x2dstruct|oasv2\\\\\\\\x2dyaml|oasv3\\\\\\\\x2dyaml|unity3d\\\\\\\\x2dasset|yaml|yml|(?:.*\\\\\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime\\\\\\\\x2dsyntax|syntax|unity|yaml\\\\\\\\x2dtmlanguage|yaml\\\\\\\\.sed|yml\\\\\\\\.mysql)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r`])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.yaml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*((?i:jar\\\\\\\\x2dmanifest|kaitai\\\\\\\\x2dstruct|oasv2\\\\\\\\x2dyaml|oasv3\\\\\\\\x2dyaml|unity3d\\\\\\\\x2dasset|yaml|yml|(?:.*\\\\\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime\\\\\\\\x2dsyntax|syntax|unity|yaml\\\\\\\\x2dtmlanguage|yaml\\\\\\\\.sed|yml\\\\\\\\.mysql)))(?:[\\\\\\\\t ]+((?:[^\\\\\\\\n\\\\\\\\r])+))?)(?:[\\\\\\\\t ]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.yaml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-text\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.raw.code.mdx markup.inline.raw.code.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.code.mdx\\\"}},\\\"match\\\":\\\"(?<!`)(`+)(?!`)(.+?)(?<!`)(\\\\\\\\1)(?!`)\\\",\\\"name\\\":\\\"markup.code.other.mdx\\\"},\\\"commonmark-definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.begin.destination.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"string.other.end.destination.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.quoted.double.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"13\\\":{\\\"name\\\":\\\"string.quoted.single.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"16\\\":{\\\"name\\\":\\\"string.quoted.paren.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\[)((?:[^\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]|\\\\\\\\\\\\\\\\[\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]?)+?)(\\\\\\\\])(:)[ \\\\\\\\t]*(?:(<)((?:[^\\\\\\\\n<\\\\\\\\\\\\\\\\>]|\\\\\\\\\\\\\\\\[<\\\\\\\\\\\\\\\\>]?)*)(>)|(\\\\\\\\g<destination_raw>))(?:[\\\\\\\\t ]+(?:(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]?)*)(\\\\\\\")|(')((?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?)*)(')|(\\\\\\\\()((?:[^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]?)*)(\\\\\\\\))))?$(?<destination_raw>(?!<)(?:(?:[^\\\\\\\\p{Cc} \\\\\\\\\\\\\\\\()]|\\\\\\\\\\\\\\\\[()\\\\\\\\\\\\\\\\]?)|\\\\\\\\(\\\\\\\\g<destination_raw>*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"meta.link.reference.def.mdx\\\"},\\\"commonmark-hard-break-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.character-escape.line-ending.mdx\\\"},\\\"commonmark-hard-break-trailing\\\":{\\\"match\\\":\\\"( ){2,}$\\\",\\\"name\\\":\\\"carriage-return constant.language.character-escape.line-ending.mdx\\\"},\\\"commonmark-heading-atx\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{1}(?!#))(?:[ \\\\\\\\t]+([^\\\\\\\\r\\\\\\\\n]+?)(?:[ \\\\\\\\t]+(#+?))?)?[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.atx.1.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{2}(?!#))(?:[ \\\\\\\\t]+([^\\\\\\\\r\\\\\\\\n]+?)(?:[ \\\\\\\\t]+(#+?))?)?[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.atx.2.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{3}(?!#))(?:[ \\\\\\\\t]+([^\\\\\\\\r\\\\\\\\n]+?)(?:[ \\\\\\\\t]+(#+?))?)?[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.atx.3.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{4}(?!#))(?:[ \\\\\\\\t]+([^\\\\\\\\r\\\\\\\\n]+?)(?:[ \\\\\\\\t]+(#+?))?)?[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.atx.4.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{5}(?!#))(?:[ \\\\\\\\t]+([^\\\\\\\\r\\\\\\\\n]+?)(?:[ \\\\\\\\t]+(#+?))?)?[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.atx.5.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{6}(?!#))(?:[ \\\\\\\\t]+([^\\\\\\\\r\\\\\\\\n]+?)(?:[ \\\\\\\\t]+(#+?))?)?[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.atx.6.mdx\\\"}]},\\\"commonmark-heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(={1,})[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.setext.1.mdx\\\"},{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(-{1,})[ \\\\\\\\t]*$\\\",\\\"name\\\":\\\"markup.heading.setext.2.mdx\\\"}]},\\\"commonmark-label-end\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.begin.destination.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"string.other.end.destination.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"string.quoted.double.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"11\\\":{\\\"name\\\":\\\"string.quoted.single.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"13\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"14\\\":{\\\"name\\\":\\\"string.quoted.paren.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"16\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(\\\\\\\\])(\\\\\\\\()[\\\\\\\\t ]*(?:(?:(<)((?:[^\\\\\\\\n<\\\\\\\\\\\\\\\\>]|\\\\\\\\\\\\\\\\[<\\\\\\\\\\\\\\\\>]?)*)(>)|(\\\\\\\\g<destination_raw>))(?:[\\\\\\\\t ]+(?:(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]?)*)(\\\\\\\")|(')((?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?)*)(')|(\\\\\\\\()((?:[^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]?)*)(\\\\\\\\))))?)?[\\\\\\\\t ]*(\\\\\\\\))(?<destination_raw>(?!<)(?:(?:[^\\\\\\\\p{Cc} \\\\\\\\\\\\\\\\()]|\\\\\\\\\\\\\\\\[()\\\\\\\\\\\\\\\\]?)|\\\\\\\\(\\\\\\\\g<destination_raw>*\\\\\\\\))+){0}\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(\\\\\\\\])(\\\\\\\\[)((?:[^\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]|\\\\\\\\\\\\\\\\[\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]?)+?)(\\\\\\\\])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(\\\\\\\\])\\\"}]},\\\"commonmark-label-start\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"!\\\\\\\\[(?!\\\\\\\\^)\\\",\\\"name\\\":\\\"string.other.begin.image.mdx\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"string.other.begin.link.mdx\\\"}]},\\\"commonmark-list-item\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*((?:[*+-]))(?:[ ]{4}(?![ ])|\\\\\\\\t)(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)[ ]{1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*((?:[*+-]))(?:[ ]{3}(?![ ]))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*((?:[*+-]))(?:[ ]{2}(?![ ]))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)[ ]{3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*((?:[*+-]))(?:[ ]{1}|(?=\\\\\\\\n))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)[ ]{2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\d{9})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])|\\\\\\\\t(?![\\\\\\\\t ]))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){3}[ ]{2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{9})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{8})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){3}[ ]{1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{9})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{8})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{7})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{9})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{8})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{7})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{6})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){2}[ ]{3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{8})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{7})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{6})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{5})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){2}[ ]{2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{7})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{6})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{5})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{4})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){2}[ ]{1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{6})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{5})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{4})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{3})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t){2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{5})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{4})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{3})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{2})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)[ ]{3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{4})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{3})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{2})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ]))|(\\\\\\\\d{1})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{4}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)[ ]{2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{3})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d{2})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ]))|(\\\\\\\\d{1})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{3}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)[ ]{1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:(\\\\\\\\d{2})((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))|(\\\\\\\\d)((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{2}(?![ ])))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\d)((?:\\\\\\\\.|\\\\\\\\)))(?:[ ]{1}|(?=[ \\\\\\\\t]*\\\\\\\\n))(\\\\\\\\[[\\\\\\\\t Xx]\\\\\\\\](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)[ ]{3}\\\"}]},\\\"commonmark-paragraph\\\":{\\\"begin\\\":\\\"(?![\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.paragraph.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}],\\\"while\\\":\\\"(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)\\\"},\\\"commonmark-thematic-break\\\":{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*_])[ \\\\\\\\t]*(?:\\\\\\\\1[ \\\\\\\\t]*){2,}$\\\",\\\"name\\\":\\\"meta.separator.mdx\\\"},\\\"extension-gfm-autolink-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t\\\\\\\\n\\\\\\\\r (\\\\\\\\*_\\\\\\\\[\\\\\\\\]~])(?=(?i:www)\\\\\\\\.[^\\\\\\\\n\\\\\\\\r])(?:(?:[\\\\\\\\p{L}\\\\\\\\p{N}]|-|[\\\\\\\\._](?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))))+\\\\\\\\g<path>?)?(?<path>(?:(?:[^\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"&'()\\\\\\\\*,\\\\\\\\.:;<?\\\\\\\\]_~]|&(?![A-Za-z]*;(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))|[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;?_~](?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))))|\\\\\\\\(\\\\\\\\g<path>*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.www.mdx\\\"},{\\\"match\\\":\\\"(?<=^|[^A-Za-z])(?i:https?://)(?=[\\\\\\\\p{L}\\\\\\\\p{N}])(?:(?:[\\\\\\\\p{L}\\\\\\\\p{N}]|-|[\\\\\\\\._](?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))))+\\\\\\\\g<path>?)?(?<path>(?:(?:[^\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"&'()\\\\\\\\*,\\\\\\\\.:;<?\\\\\\\\]_~]|&(?![A-Za-z]*;(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))|[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;?_~](?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))))|\\\\\\\\(\\\\\\\\g<path>*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.http.mdx\\\"},{\\\"match\\\":\\\"(?<=^|[^A-Za-z/])(?i:mailto:|xmpp:)?(?:[0-9A-Za-z+\\\\\\\\-\\\\\\\\._])+@(?:(?:[0-9A-Za-z]|[-_](?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))))+(?:\\\\\\\\.(?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))))+(?:[A-Za-z]|[-_](?!(?:[!\\\\\\\"')\\\\\\\\*,\\\\\\\\.:;<?_~]*(?:[\\\\\\\\s<]|\\\\\\\\][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))))+\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.email.mdx\\\"}]},\\\"extension-gfm-footnote-call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.link.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.footnote.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.footnote.mdx\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)((?:[^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]|\\\\\\\\\\\\\\\\[\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]?)+)(\\\\\\\\])\\\"},\\\"extension-gfm-footnote-definition\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\[)(\\\\\\\\^)((?:[^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]|\\\\\\\\\\\\\\\\[\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\]]?)+)(\\\\\\\\])(:)[\\\\\\\\t ]*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.link.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.footnote.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.footnote.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?:[ ]{4}|\\\\\\\\t)\\\"},\\\"extension-gfm-strikethrough\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\S)(?<!~)~{1,2}(?!~)|(?<!~)~{1,2}(?=\\\\\\\\S)(?!~)\\\",\\\"name\\\":\\\"string.other.strikethrough.mdx\\\"},\\\"extension-gfm-table\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?=\\\\\\\\|[^\\\\\\\\n\\\\\\\\r]+\\\\\\\\|[ \\\\\\\\t]*$)\\\",\\\"end\\\":\\\"^(?=[\\\\\\\\t ]*$)|$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]}},\\\"match\\\":\\\"(?<=\\\\\\\\||(?:^|\\\\\\\\G))[\\\\\\\\t ]*((?:[^\\\\\\\\n\\\\\\\\r\\\\\\\\\\\\\\\\\\\\\\\\|]|\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\|]?)+?)[\\\\\\\\t ]*(?=\\\\\\\\||$)\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\|)\\\",\\\"name\\\":\\\"markup.list.table-delimiter.mdx\\\"}]},\\\"extension-github-gemoji\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.gemoji.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.gemoji.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.gemoji.end.mdx\\\"}},\\\"match\\\":\\\"(:)((?:(?:(?:hand_with_index_finger_and_thumb_cros|mailbox_clo|fist_rai|confu)s|r(?:aised_hand_with_fingers_splay|e(?:gister|l(?:iev|ax)))|disappointed_reliev|confound|(?:a(?:ston|ngu)i|flu)sh|unamus|hush)e|(?:chart_with_(?:down|up)wards_tre|large_orange_diamo|small_(?:orang|blu)e_diamo|large_blue_diamo|parasol_on_grou|loud_sou|rewi)n|(?:rightwards_pushing_h|hourglass_flowing_s|leftwards_(?:pushing_)?h|(?:raised_back_of|palm_(?:down|up)|call_me)_h|(?:(?:(?:clippert|ascensi)on|norfolk)_is|christmas_is|desert_is|bouvet_is|new_zea|thai|eng|fin|ire)l|rightwards_h|pinching_h|writing_h|s(?:w(?:itzer|azi)|cot)l|magic_w|ok_h|icel)an|s(?:un_behind_(?:large|small|rain)_clou|hallow_pan_of_foo|tar_of_davi|leeping_be|kateboar|a(?:tisfie|uropo)|hiel|oun|qui)|(?:ear_with_hearing_a|pouring_liqu)i|(?:identification_c|(?:arrow_(?:back|for)|fast_for)w|credit_c|woman_be|biohaz|man_be|l(?:eop|iz))ar|m(?:usical_key|ortar_)boar|(?:drop_of_bl|canned_f)oo|c(?:apital_abc|upi)|person_bal|(?:black_bi|(?:cust|plac)a)r|(?:clip|key)boar|mermai|pea_po|worrie|po(?:la|u)n|threa|dv)d|(?:(?:(?:face_with_open_eyes_and_hand_over|face_with_diagonal|open|no)_mou|h(?:and_over_mou|yacin)|mammo)t|running_shirt_with_sas|(?:(?:fishing_pole_and_|blow)fi|(?:tropical_f|petri_d)i|(?:paint|tooth)bru|banglade|jellyfi)s|(?:camera_fl|wavy_d)as|triump|menora|pouc|blus|watc|das|has)h|(?:s(?:o(?:(?:uth_georgia_south_sandwich|lomon)_island|ck)|miling_face_with_three_heart|t_kitts_nevi|weat_drop|agittariu|c(?:orpiu|issor)|ymbol|hort)|twisted_rightwards_arrow|(?:northern_mariana|heard_mcdonald|(?:british_virgi|us_virgi|pitcair|cayma)n|turks_caicos|us_outlying|(?:falk|a)land|marshall|c(?:anary|ocos)|faroe)_island|(?:face_holding_back_tea|(?:c(?:ard_index_divid|rossed_fing)|pinched_fing)e|night_with_sta)r|(?:two_(?:wo)?men_holding|people_holding|heart|open)_hand|(?:sunrise_over_mountai|(?:congratul|united_n)atio|jea)n|(?:caribbean_)?netherland|(?:f(?:lower_playing_car|ace_in_clou)|crossed_swor|prayer_bea)d|(?:money_with_win|nest_with_eg|crossed_fla|hotsprin)g|revolving_heart|(?:high_brightne|(?:expression|wire)le|(?:tumbler|wine)_gla|milk_gla|compa|dre)s|performing_art|earth_america|orthodox_cros|l(?:ow_brightnes|a(?:tin_cros|o)|ung)|no_pedestrian|c(?:ontrol_kno|lu)b|b(?:ookmark_tab|rick|ean)|nesting_doll|cook_island|(?:fleur_de_l|tenn)i|(?:o(?:ncoming_b|phiuch|ctop)|hi(?:ppopotam|bisc)|trolleyb|m(?:(?:rs|x)_cla|auriti|inib)|belar|cact|abac|(?:cyp|tau)r)u|medal_sport|(?:chopstic|firewor)k|rhinocero|(?:p(?:aw_prin|eanu)|footprin)t|two_heart|princes|(?:hondur|baham)a|barbado|aquariu|c(?:ustom|hain)|maraca|comoro|flag|wale|hug|vh)s|(?:(?:diamond_shape_with_a_dot_ins|playground_sl)id|(?:(?:first_quarter|last_quarter|full|new)_moon_with|(?:zipper|money)_mouth|dotted_line|upside_down|c(?:rying_c|owboy_h)at|(?:disguis|nauseat)ed|neutral|monocle|panda|tired|woozy|clown|nerd|zany|fox)_fac|s(?:t(?:uck_out_tongue_winking_ey|eam_locomotiv)|(?:lightly_(?:frown|smil)|neez|h(?:ush|ak))ing_fac|(?:tudio_micropho|(?:hinto_shr|lot_mach)i|ierra_leo|axopho)n|mall_airplan|un_with_fac|a(?:luting_fac|tellit|k)|haved_ic|y(?:nagogu|ring)|n(?:owfl)?ak|urinam|pong)|(?:black_(?:medium_)?small|white_(?:(?:medium_)?small|large)|(?:black|white)_medium|black_large|orange|purple|yellow|b(?:rown|lue)|red)_squar|(?:(?:perso|woma)n_with_|man_with_)?probing_can|(?:p(?:ut_litter_in_its_pl|outing_f)|frowning_f|cold_f|wind_f|hot_f)ac|(?:arrows_c(?:ounterc)?lockwi|computer_mou|derelict_hou|carousel_hor|c(?:ity_sunri|hee)|heartpul|briefca|racehor|pig_no|lacros)s|(?:(?:face_with_head_band|ideograph_advant|adhesive_band|under|pack)a|currency_exchan|l(?:eft_l)?ugga|woman_jud|name_bad|man_jud|jud)g|face_with_peeking_ey|(?:(?:e(?:uropean_post_off|ar_of_r)|post_off)i|information_sour|ambulan)c|artificial_satellit|(?:busts?_in_silhouet|(?:vulcan_sal|parach)u|m(?:usical_no|ayot)|ro(?:ller_ska|set)|timor_les|ice_ska)t|(?:(?:incoming|red)_envelo|s(?:ao_tome_princi|tethosco)|(?:micro|tele)sco|citysca)p|(?:(?:(?:convenience|department)_st|musical_sc)o|f(?:light_depar|ramed_pic)tu|love_you_gestu|heart_on_fi|japanese_og|cote_divoi|perseve|singapo)r|b(?:ullettrain_sid|eliz|on)|(?:(?:female_|male_)?dete|radioa)ctiv|(?:christmas|deciduous|evergreen|tanabata|palm)_tre|(?:vibration_mo|cape_ver)d|(?:fortune_cook|neckt|self)i|(?:fork_and_)?knif|athletic_sho|(?:p(?:lead|arty)|drool|curs|melt|yawn|ly)ing_fac|vomiting_fac|(?:(?:c(?:urling_st|ycl)|meat_on_b|repeat_|headst)o|(?:fire_eng|tanger|ukra)i|rice_sce|(?:micro|i)pho|champag|pho)n|(?:cricket|video)_gam|(?:boxing_glo|oli)v|(?:d(?:ragon|izzy)|monkey)_fac|(?:m(?:artin|ozamb)iq|fond)u|wind_chim|test_tub|flat_sho|m(?:a(?:ns_sho|t)|icrob|oos|ut)|(?:handsh|fish_c|moon_c|cupc)ak|nail_car|zimbabw|ho(?:neybe|l)|ice_cub|airplan|pensiv|c(?:a(?:n(?:dl|o)|k)|o(?:ffe|oki))|tongu|purs|f(?:lut|iv)|d(?:at|ov)|n(?:iu|os)|kit|rag|ax)e|(?:(?:british_indian_ocean_territo|(?:plate_with_cutl|batt)e|medal_milita|low_batte|hunga|wea)r|family_(?:woman_(?:woman_(?:girl|boy)|girl|boy)|man_(?:woman_(?:girl|boy)|man_(?:girl|boy)|girl|boy))_bo|person_feeding_bab|woman_feeding_bab|s(?:u(?:spension_railwa|nn)|t(?:atue_of_libert|_barthelem|rawberr))|(?:m(?:ountain_cable|ilky_)|aerial_tram)wa|articulated_lorr|man_feeding_bab|mountain_railwa|partly_sunn|(?:vatican_c|infin)it|(?:outbox_tr|inbox_tr|birthd|motorw|paragu|urugu|norw|x_r)a|butterfl|ring_buo|t(?:urke|roph)|angr|fogg)y|(?:(?:perso|woma)n_in_motorized_wheelchai|(?:(?:notebook_with_decorative_c|four_leaf_cl)ov|(?:index_pointing_at_the_vie|white_flo)w|(?:face_with_thermome|non-potable_wa|woman_firefigh|desktop_compu|m(?:an_firefigh|otor_scoo)|(?:ro(?:ller_coa|o)|oy)s|potable_wa|kick_scoo|thermome|firefigh|helicop|ot)t|(?:woman_factory_wor|(?:woman_office|woman_health|health)_wor|man_(?:factory|office|health)_wor|(?:factory|office)_wor|rice_crac|black_jo|firecrac)k|telephone_receiv|(?:palms_up_toget|f(?:ire_extinguis|eat)|teac)h|(?:(?:open_)?file_fol|level_sli)d|police_offic|f(?:lying_sauc|arm)|woman_teach|roll_of_pap|(?:m(?:iddle_f|an_s)in|woman_sin|hambur|plun|dag)g|do_not_litt|wilted_flow|woman_farm|man_(?:teach|farm)|(?:bell_pe|hot_pe|fli)pp|l(?:o(?:udspeak|ve_lett|bst)|edg|add)|tokyo_tow|c(?:ucumb|lapp|anc)|b(?:e(?:ginn|av)|adg)|print|hamst)e|(?:perso|woma)n_in_manual_wheelchai|m(?:an(?:_in_motorized|(?:_in_man)?ual)|otorized)_wheelchai|(?:person_(?:white|curly|red)_|wheelc)hai|triangular_rule|(?:film_project|e(?:l_salv|cu)ad|elevat|tract|anch)o|s(?:traight_rul|pace_invad|crewdriv|nowboard|unflow|peak|wimm|ing|occ|how|urf|ki)e|r(?:ed_ca|unne|azo)|d(?:o(?:lla|o)|ee)|barbe)r|(?:(?:cloud_with_(?:lightning_and_)?ra|japanese_gobl|round_pushp|liechtenste|mandar|pengu|dolph|bahra|pushp|viol)i|(?:couple(?:_with_heart_wo|kiss_)man|construction_worker|(?:mountain_bik|bow|row)ing|lotus_position|(?:w(?:eight_lift|alk)|climb)ing|white_haired|curly_haired|raising_hand|super(?:villain|hero)|red_haired|basketball|s(?:(?:wimm|urf)ing|assy)|haircut|no_good|(?:vampir|massag)e|b(?:iking|ald)|zombie|fairy|mage|elf|ng)_(?:wo)?ma|(?:(?:couple_with_heart_man|isle_of)_m|(?:couplekiss_woman_|(?:b(?:ouncing_ball|lond_haired)|tipping_hand|pregnant|kneeling|deaf)_|frowning_|s(?:tanding|auna)_|po(?:uting_|lice)|running_|blonde_|o(?:lder|k)_)wom|(?:perso|woma)n_with_turb|(?:b(?:ouncing_ball|lond_haired)|tipping_hand|pregnant|kneeling|deaf)_m|f(?:olding_hand_f|rowning_m)|man_with_turb|(?:turkmen|afghan|pak)ist|s(?:tanding_m|(?:outh_s)?ud|auna_m)|po(?:uting_|lice)m|running_m|azerbaij|k(?:yrgyz|azakh)st|tajikist|uzbekist|o(?:lder_m|k_m|ce)|(?:orang|bh)ut|taiw|jord)a|s(?:mall_red_triangle_dow|(?:valbard_jan_may|int_maart|ev)e|afety_pi|top_sig|t_marti|(?:corpi|po|o)o|wede)|(?:heavy_(?:d(?:ivision|ollar)|equals|minus|plus)|no_entry|female|male)_sig|(?:arrow_(?:heading|double)_d|p(?:erson_with_cr|oint_d)|arrow_up_d|thumbsd)ow|(?:house_with_gard|l(?:ock_with_ink_p|eafy_gre)|dancing_(?:wo)?m|fountain_p|keycap_t|chick|ali|yem|od)e|(?:izakaya|jack_o)_lanter|(?:funeral_u|(?:po(?:stal_h|pc)|capric)o|unico)r|chess_paw|b(?:a(?:llo|c)o|eni|rai)|l(?:anter|io)|c(?:o(?:ff)?i|row)|melo|rame|oma|yar)n|(?:s(?:t(?:uck_out_tongue_closed_ey|_vincent_grenadin)|kull_and_crossbon|unglass|pad)|(?:french_souther|palestinia)n_territori|(?:face_with_spiral|kissing_smiling)_ey|united_arab_emirat|kissing_closed_ey|(?:clinking_|dark_sun|eye)glass|(?:no_mobile_|head)phon|womans_cloth|b(?:allet_sho|lueberri)|philippin|(?:no_bicyc|seychel)l|roll_ey|(?:cher|a)ri|p(?:ancak|isc)|maldiv|leav)es|(?:f(?:amily_(?:woman_(?:woman_)?|man_(?:woman_|man_)?)girl_gir|earfu)|(?:woman_playing_hand|m(?:an_playing_hand|irror_)|c(?:onfetti|rystal)_|volley|track|base|8)bal|(?:(?:m(?:ailbox_with_(?:no_)?m|onor)|cockt|e-m)a|(?:person|bride|woman)_with_ve|man_with_ve|light_ra|braz|ema)i|(?:transgender|baby)_symbo|passport_contro|(?:arrow_(?:down|up)_sm|rice_b|footb)al|(?:dromedary_cam|ferris_whe|love_hot|high_he|pretz|falaf|isra)e|page_with_cur|me(?:dical_symbo|ta)|(?:n(?:ewspaper_ro|o_be)|bellhop_be)l|rugby_footbal|s(?:chool_satche|(?:peak|ee)_no_evi|oftbal|crol|anda|nai|hel)|(?:peace|atom)_symbo|hear_no_evi|cora|hote|bage|labe|rof|ow)l|(?:(?:negative_squared_cross|heavy_exclamation|part_alternation)_mar|(?:eight_spoked_)?asteris|(?:ballot_box_with_che|(?:(?:mantelpiece|alarm|timer)_c|un)lo|(?:ha(?:(?:mmer_and|ir)_p|tch(?:ing|ed)_ch)|baby_ch|joyst)i|railway_tra|lipsti|peaco)c|heavy_check_mar|white_check_mar|tr(?:opical_drin|uc)|national_par|pickup_truc|diving_mas|floppy_dis|s(?:tar_struc|hamroc|kun|har)|chipmun|denmar|duc|hoo|lin)k|(?:leftwards_arrow_with_h|arrow_right_h|(?:o(?:range|pen)|closed|blue)_b)ook|(?:woman_playing_water_pol|m(?:an(?:_(?:playing_water_pol|with_gua_pi_ma|in_tuxed)|g)|ontenegr|o(?:roc|na)c|e(?:xic|tr|m))|(?:perso|woma)n_in_tuxed|(?:trinidad_toba|vir)g|water_buffal|b(?:urkina_fas|a(?:mbo|nj)|ent)|puerto_ric|water_pol|flaming|kangaro|(?:mosqu|burr)it|(?:avoc|torn)ad|curaca|lesoth|potat|ko(?:sov|k)|tomat|d(?:ang|od)|yo_y|hoch|t(?:ac|og)|zer)o|(?:c(?:entral_african|zech)|dominican)_republic|(?:eight_pointed_black_s|six_pointed_s|qa)tar|(?:business_suit_levitat|(?:classical_buil|breast_fee)d|(?:woman_cartwhee|m(?:an_(?:cartwhee|jugg)|en_wrest)|women_wrest|woman_jugg|face_exha|cartwhee|wrest|dump)l|c(?:hildren_cross|amp)|woman_facepalm|woman_shrugg|man_(?:facepalm|shrugg)|people_hugg|(?:person_fe|woman_da|man_da)nc|fist_oncom|horse_rac|(?:no_smo|thin)k|laugh|s(?:eedl|mok)|park|w(?:arn|edd))ing|f(?:a(?:mily(?:_(?:woman_(?:woman_(?:girl|boy)|girl|boy)|man_(?:woman_(?:girl|boy)|man_(?:girl|boy)|girl|boy)))?|ctory)|o(?:u(?:ntain|r)|ot|g)|r(?:owning)?|i(?:re|s[ht])|ly|u)|(?:(?:(?:information_desk|handball|bearded)_|(?:frowning|ok)_|juggling_|mer)pers|(?:previous_track|p(?:lay_or_p)?ause|black_square|white_square|next_track|r(?:ecord|adio)|eject)_butt|(?:wa[nx]ing_(?:crescent|gibbous)_m|bowl_with_sp|crescent_m|racc)o|(?:b(?:ouncing_ball|lond_haired)|tipping_hand|pregnant|kneeling|deaf)_pers|s(?:t(?:_pierre_miquel|op_butt|ati)|tanding_pers|peech_ballo|auna_pers)|r(?:eminder_r)?ibb|thought_ballo|watermel|badmint|c(?:amero|ray)|le(?:ban|m)|oni|bis)on|(?:heavy_heart_exclama|building_construc|heart_decora|exclama)tion|(?:(?:triangular_flag_on_po|(?:(?:woman_)?technolog|m(?:ountain_bicycl|an_technolog)|bicycl)i|(?:wo)?man_scienti|(?:wo)?man_arti|s(?:afety_ve|cienti)|empty_ne)s|(?:vertical_)?traffic_ligh|(?:rescue_worker_helm|military_helm|nazar_amul|city_suns|wastebask|dropl|t(?:rump|oil)|bouqu|buck|magn|secr)e|one_piece_swimsui|(?:(?:arrow_(?:low|upp)er|point)_r|bridge_at_n|copyr|mag_r)igh|(?:bullettrain_fro|(?:potted_pl|croiss|e(?:ggpl|leph))a)n|s(?:t(?:ar_and_cresc|ud)en|cream_ca|mi(?:ley?|rk)_ca|(?:peed|ail)boa|hir)|(?:arrow_(?:low|upp)er|point)_lef|woman_astronau|r(?:o(?:tating_ligh|cke)|eceip)|heart_eyes_ca|man_astronau|(?:woman_stud|circus_t|man_stud|trid)en|(?:ringed_pla|file_cabi)ne|nut_and_bol|(?:older_)?adul|k(?:i(?:ssing_ca|wi_frui)|uwai|no)|(?:pouting_c|c(?:ut_of_m|old_sw)e|womans_h|montserr|(?:(?:motor_|row)b|lab_c)o|heartbe|toph)a|(?:woman_pil|honey_p|man_pil|[cp]arr|teap|rob)o|hiking_boo|arrow_lef|fist_righ|flashligh|f(?:ist_lef|ee)|black_ca|astronau|(?:c(?:hest|oco)|dough)nu|innocen|joy_ca|artis|(?:acce|egy)p|co(?:me|a)|pilo)t|(?:heavy_multiplication_|t-re)x|(?:s(?:miling_face_with_te|piral_calend)|oncoming_police_c|chocolate_b|ra(?:ilway|cing)_c|police_c|polar_be|teddy_be|madagasc|blue_c|calend|myanm)ar|c(?:l(?:o(?:ud(?:_with_lightning)?|ck(?:1[0-2]?|[2-9]))|ap)?|o(?:uple(?:_with_heart|kiss)?|nstruction|mputer|ok|p|w)|a(?:r(?:d_index)?|mera)|r(?:icket|y)|h(?:art|ild))|(?:m(?:artial_arts_unifo|echanical_a)r|(?:cherry_)?blosso|b(?:aggage_clai|roo)|ice_?crea|facepal|mushroo|restroo|vietna|dru|yu)m|(?:woman_with_headscar|m(?:obile_phone_of|aple_lea)|fallen_lea|wol)f|(?:(?:closed_lock_with|old)_|field_hoc|ice_hoc|han|don)key|g(?:lobe_with_meridians|r(?:e(?:y_(?:exclama|ques)tion|e(?:n(?:_(?:square|circle|salad|apple|heart|book)|land)|ce)|y_heart|nada)|i(?:mac|nn)ing|apes)|u(?:inea_bissau|ernsey|am|n)|(?:(?:olfing|enie)_(?:wo)?|uards(?:wo)?)man|(?:inger_roo|oal_ne|hos)t|(?:uadeloup|ame_di|iraff|oos)e|ift_heart|i(?:braltar|rl)|(?:uatemal|(?:eorg|amb)i|orill|uyan|han)a|uide_dog|(?:oggl|lov)es|arlic|emini|uitar|abon|oat|ear|b)|construction_worker|(?:(?:envelope_with|bow_and)_ar|left_right_ar|raised_eyeb)row|(?:(?:oncoming_automob|crocod)i|right_anger_bubb|l(?:eft_speech_bubb|otion_bott|ady_beet)|congo_brazzavil|eye_speech_bubb|(?:large_blue|orange|purple|yellow|brown)_circ|(?:(?:european|japanese)_cas|baby_bot)t|b(?:alance_sca|eet)|s(?:ewing_need|weat_smi)|(?:black|white|red)_circ|(?:motor|re)cyc|pood|turt|tama|waff|musc|eag)le|first_quarter_moon|s(?:m(?:all_red_triangle|i(?:ley?|rk))|t(?:uck_out_tongue|ar)|hopping|leeping|p(?:arkle|ider)|unrise|nowman|chool|cream|k(?:ull|i)|weat|ix|a)|(?:(?:b(?:osnia_herzegovi|ana)|wallis_futu|(?:french_gui|botsw)a|argenti|st_hele)n|(?:(?:equatorial|papua_new)_guin|north_kor|eritr)e|t(?:ristan_da_cunh|ad)|(?:(?:(?:french_poly|indo)ne|tuni)s|(?:new_caledo|ma(?:urita|cedo)|lithua|(?:tanz|alb|rom)a|arme|esto)n|diego_garc|s(?:audi_arab|t_luc|lov(?:ak|en)|omal|erb)|e(?:arth_as|thiop)|m(?:icrone|alay)s|(?:austra|mongo)l|c(?:ambod|roat)|(?:bulga|alge)r|(?:colom|nami|zam)b|boliv|l(?:iber|atv))i|(?:wheel_of_dhar|cine|pana)m|(?:(?:(?:closed|beach|open)_)?umbrel|ceuta_melil|venezue|ang(?:uil|o)|koa)l|c(?:ongo_kinshas|anad|ub)|(?:western_saha|a(?:mpho|ndor)|zeb)r|american_samo|video_camer|m(?:o(?:vie_camer|ldov)|alt|eg)|(?:earth_af|costa_)ric|s(?:outh_afric|ri_lank|a(?:mo|nt))|bubble_te|(?:antarct|jama)ic|ni(?:caragu|geri|nj)|austri|pi(?:nat|zz)|arub|k(?:eny|aab)|indi|u7a7|l(?:lam|ib[ry])|dn)a|l(?:ast_quarter_moon|o(?:tus|ck)|ips|eo)|(?:hammer_and_wren|c(?:ockroa|hur)|facepun|wren|crut|pun)ch|s(?:nowman_with_snow|ignal_strength|weet_potato|miling_imp|p(?:ider_web|arkle[rs])|w(?:im_brief|an)|a(?:n(?:_marino|dwich)|lt)|topwatch|t(?:a(?:dium|r[2s])|ew)|l(?:e(?:epy|d)|oth)|hrimp|yria|carf|(?:hee|oa)p|ea[lt]|h(?:oe|i[pt])|o[bs])|(?:s(?:tuffed_flatbre|p(?:iral_notep|eaking_he))|(?:exploding_h|baguette_br|flatbr)e)ad|(?:arrow_(?:heading|double)_u|(?:p(?:lace_of_wor|assenger_)sh|film_str|tul)i|page_facing_u|biting_li|(?:billed_c|world_m)a|mouse_tra|(?:curly_lo|busst)o|thumbsu|lo(?:llip)?o|clam|im)p|(?:anatomical|light_blue|sparkling|kissing|mending|orange|purple|yellow|broken|b(?:rown|l(?:ack|ue))|pink)_heart|(?:(?:transgender|black)_fla|mechanical_le|(?:checkered|pirate)_fla|electric_plu|rainbow_fla|poultry_le|service_do|white_fla|luxembour|fried_eg|moneyba|h(?:edgeh|otd)o|shru)g|(?:cloud_with|mountain)_snow|(?:(?:antigua_barb|berm)u|(?:kh|ug)an|rwan)da|(?:3r|2n)d_place_medal|1(?:st_place_medal|234|00)|lotus_position|(?:w(?:eight_lift|alk)|climb)ing|(?:(?:cup_with_str|auto_ricksh)a|carpentry_sa|windo|jigsa)w|(?:(?:couch_and|diya)_la|f(?:ried_shri|uelpu))mp|(?:woman_mechan|man_mechan|alemb)ic|(?:european_un|accord|collis|reun)ion|(?:flight_arriv|hospit|portug|seneg|nep)al|card_file_box|(?:(?:oncoming_)?tax|m(?:o(?:unt_fuj|ya)|alaw)|s(?:paghett|ush|ar)|b(?:r(?:occol|une)|urund)|(?:djibou|kiriba)t|hait|fij)i|(?:shopping_c|white_he|bar_ch)art|d(?:isappointed|ominica|e(?:sert)?)|raising_hand|super(?:villain|hero)|b(?:e(?:verage_box|ers|d)|u(?:bbles|lb|g)|i(?:k(?:ini|e)|rd)|o(?:o(?:ks|t)|a[rt]|y)|read|a[cn]k)|ra(?:ised_hands|bbit2|t)|(?:hindu_tem|ap)ple|thong_sandal|a(?:r(?:row_(?:right|down|up)|t)|bc?|nt)?|r(?:a(?:i(?:sed_hand|nbow)|bbit|dio|m)|u(?:nning)?|epeat|i(?:ng|ce)|o(?:ck|se))|takeout_box|(?:flying_|mini)disc|(?:(?:interrob|yin_y)a|b(?:o(?:omera|wli)|angba)|(?:ping_p|hong_k)o|calli|mahjo)ng|b(?:a(?:llot_box|sket|th?|by)|o(?:o(?:k(?:mark)?|m)|w)|u(?:tter|s)|e(?:ll|er?|ar))?|heart_eyes|basketball|(?:paperclip|dancer|ticket)s|point_up_2|(?:wo)?man_cook|n(?:ew(?:spaper)?|o(?:tebook|_entry)|iger)|t(?:e(?:lephone|a)|o(?:oth|p)|r(?:oll)?|wo)|h(?:o(?:u(?:rglass|se)|rse)|a(?:mmer|nd)|eart)|paperclip|full_moon|(?:b(?:lack_ni|athtu|om)|her)b|(?:long|oil)_drum|pineapple|(?:clock(?:1[0-2]?|[2-9])3|u6e8)0|p(?:o(?:int_up|ut)|r(?:ince|ay)|i(?:ck|g)|en)|e(?:nvelope|ight|u(?:ro)?|gg|ar|ye|s)|m(?:o(?:u(?:ntain|se)|nkey|on)|echanic|a(?:ilbox|g|n)|irror)?|new_moon|d(?:iamonds|olls|art)|question|k(?:iss(?:ing)?|ey)|haircut|no_good|(?:vampir|massag)e|g(?:olf(?:ing)?|u(?:inea|ard)|e(?:nie|m)|ift|rin)|h(?:a(?:ndbag|msa)|ouses|earts|ut)|postbox|toolbox|(?:pencil|t(?:rain|iger)|whale|cat|dog)2|belgium|(?:volca|kimo)no|(?:vanuat|tuval|pala|naur|maca)u|tokelau|o(?:range|ne?|m|k)?|office|dancer|ticket|dragon|pencil|zombie|w(?:o(?:mens|rm|od)|ave|in[gk]|c)|m(?:o(?:sque|use2)|e(?:rman|ns)|a(?:li|sk))|jersey|tshirt|w(?:heel|oman)|dizzy|j(?:apan|oy)|t(?:rain|iger)|whale|fairy|a(?:nge[lr]|bcd|tm)|c(?:h(?:a(?:ir|d)|ile)|a(?:ndy|mel)|urry|rab|o(?:rn|ol|w2)|[dn])|p(?:ager|e(?:a(?:ch|r)|ru)|i(?:g2|ll|e)|oop)|n(?:otes|ine)|t(?:onga|hree|ent|ram|[mv])|f(?:erry|r(?:ies|ee|og)|ax)|u(?:7(?:533|981|121)|5(?:5b6|408|272)|6(?:307|70[89]))|mage|e(?:yes|nd)|i(?:ra[nq]|t)|cat|dog|elf|z(?:zz|ap)|yen|j(?:ar|p)|leg|id|u[kps]|ng|o[2x]|vs|kr|[+\\\\\\\\x2D]1|x|v)(:)\\\",\\\"name\\\":\\\"string.emoji.mdx\\\"},\\\"extension-github-mention\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.mention.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.mention.mdx\\\"}},\\\"match\\\":\\\"(?<![0-9A-Za-z_`])(@)((?:[0-9A-Za-z][0-9A-Za-z-]{0,38})(?:\\\\\\\\/(?:[0-9A-Za-z][0-9A-Za-z-]{0,38}))?)(?![0-9A-Za-z_`])\\\",\\\"name\\\":\\\"string.mention.mdx\\\"},\\\"extension-github-reference\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.reference.security-advisory.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.link.reference.issue-or-pr.mdx\\\"}},\\\"match\\\":\\\"(?<![0-9A-Za-z_])(?:((?i:ghsa-|cve-))([A-Za-z0-9]+)|((?i:gh-|#))(\\\\\\\\d+))(?![0-9A-Za-z_])\\\",\\\"name\\\":\\\"string.reference.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.link.reference.user.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.link.reference.issue-or-pr.mdx\\\"}},\\\"match\\\":\\\"(?<![^\\\\\\\\t\\\\\\\\n\\\\\\\\r (@\\\\\\\\[{])((?:[0-9A-Za-z][0-9A-Za-z-]{0,38})(?:\\\\\\\\/(?:(?:\\\\\\\\.git[0-9A-Za-z_-]|\\\\\\\\.(?!git)|[0-9A-Za-z_-])+))?)(#)(\\\\\\\\d+)(?![0-9A-Za-z_])\\\",\\\"name\\\":\\\"string.reference.mdx\\\"}]},\\\"extension-math-flow\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\${2,})([^\\\\\\\\n\\\\\\\\r$]*)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.math.flow.mdx\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.math.flow.mdx\\\",\\\"end\\\":\\\"(\\\\\\\\1)(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.math.flow.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"},\\\"extension-math-text\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.math.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.raw.math.mdx markup.inline.raw.math.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.math.mdx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(\\\\\\\\${2,})(?!\\\\\\\\$)(.+?)(?<!\\\\\\\\$)(\\\\\\\\1)(?!\\\\\\\\$)\\\"},\\\"extension-mdx-esm\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)(?=(?i:export|import)[ ])\\\",\\\"end\\\":\\\"^(?=[\\\\\\\\t ]*$)|$\\\",\\\"name\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#statements\\\"}]},\\\"extension-mdx-expression-flow\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\{)(?!.*\\\\\\\\}[\\\\\\\\t ]*.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"end\\\":\\\"(\\\\\\\\})(?:[\\\\\\\\t ]*$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#expression\\\"}]},\\\"extension-mdx-expression-text\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"end\\\":\\\"\\\\\\\\}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#expression\\\"}]},\\\"extension-mdx-jsx-flow\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\G|>)[\\\\\\\\t ]*(<)(?=(?![\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))(?:\\\\\\\\s*(/))?(?:\\\\\\\\s*(?:(?:((?:[_$A-Za-z][-_$0-9A-Za-z]*))\\\\\\\\s*(:)\\\\\\\\s*((?:[_$A-Za-z][-_$0-9A-Za-z]*)))|((?:(?:[_$A-Za-z][_$0-9A-Za-z]*)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*(?:[_$A-Za-z][-_$0-9A-Za-z]*))+))|((?:[_$A-Z][_$0-9A-Za-z]*))|((?:[_$A-Za-z][-_$0-9A-Za-z]*)))(?=[\\\\\\\\s\\\\\\\\/>{]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.closing.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.local.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.jsx\\\"}},\\\"end\\\":\\\"(?:(\\\\\\\\/)\\\\\\\\s*)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.self-closing.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attributes-illegal\\\"}]},\\\"extension-mdx-jsx-text\\\":{\\\"begin\\\":\\\"(<)(?=(?![\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))(?:\\\\\\\\s*(/))?(?:\\\\\\\\s*(?:(?:((?:[_$A-Za-z][-_$0-9A-Za-z]*))\\\\\\\\s*(:)\\\\\\\\s*((?:[_$A-Za-z][-_$0-9A-Za-z]*)))|((?:(?:[_$A-Za-z][_$0-9A-Za-z]*)(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*(?:[_$A-Za-z][-_$0-9A-Za-z]*))+))|((?:[_$A-Z][_$0-9A-Za-z]*))|((?:[_$A-Za-z][-_$0-9A-Za-z]*)))(?=[\\\\\\\\s\\\\\\\\/>{]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.closing.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.local.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.jsx\\\"}},\\\"end\\\":\\\"(?:(\\\\\\\\/)\\\\\\\\s*)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.self-closing.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attributes-illegal\\\"}]},\\\"extension-toml\\\":{\\\"begin\\\":\\\"\\\\\\\\A\\\\\\\\+{3}$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.toml\\\"}},\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"end\\\":\\\"^\\\\\\\\+{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.end.toml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}]},\\\"extension-yaml\\\":{\\\"begin\\\":\\\"\\\\\\\\A-{3}$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.yaml\\\"}},\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"end\\\":\\\"^-{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.end.yaml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]},\\\"markdown-frontmatter\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#extension-toml\\\"},{\\\"include\\\":\\\"#extension-yaml\\\"}]},\\\"markdown-sections\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-block-quote\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced\\\"},{\\\"include\\\":\\\"#extension-gfm-footnote-definition\\\"},{\\\"include\\\":\\\"#commonmark-definition\\\"},{\\\"include\\\":\\\"#commonmark-heading-atx\\\"},{\\\"include\\\":\\\"#commonmark-thematic-break\\\"},{\\\"include\\\":\\\"#commonmark-heading-setext\\\"},{\\\"include\\\":\\\"#commonmark-list-item\\\"},{\\\"include\\\":\\\"#extension-gfm-table\\\"},{\\\"include\\\":\\\"#extension-math-flow\\\"},{\\\"include\\\":\\\"#extension-mdx-esm\\\"},{\\\"include\\\":\\\"#extension-mdx-expression-flow\\\"},{\\\"include\\\":\\\"#extension-mdx-jsx-flow\\\"},{\\\"include\\\":\\\"#commonmark-paragraph\\\"}]},\\\"markdown-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-character-escape\\\"},{\\\"include\\\":\\\"#commonmark-character-reference\\\"}]},\\\"markdown-text\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-attention\\\"},{\\\"include\\\":\\\"#commonmark-character-escape\\\"},{\\\"include\\\":\\\"#commonmark-character-reference\\\"},{\\\"include\\\":\\\"#commonmark-code-text\\\"},{\\\"include\\\":\\\"#commonmark-hard-break-trailing\\\"},{\\\"include\\\":\\\"#commonmark-hard-break-escape\\\"},{\\\"include\\\":\\\"#commonmark-label-end\\\"},{\\\"include\\\":\\\"#extension-gfm-footnote-call\\\"},{\\\"include\\\":\\\"#commonmark-label-start\\\"},{\\\"include\\\":\\\"#extension-gfm-autolink-literal\\\"},{\\\"include\\\":\\\"#extension-gfm-strikethrough\\\"},{\\\"include\\\":\\\"#extension-github-gemoji\\\"},{\\\"include\\\":\\\"#extension-github-mention\\\"},{\\\"include\\\":\\\"#extension-github-reference\\\"},{\\\"include\\\":\\\"#extension-math-text\\\"},{\\\"include\\\":\\\"#extension-mdx-expression-text\\\"},{\\\"include\\\":\\\"#extension-mdx-jsx-text\\\"}]},\\\"whatwg-html-data-character-reference-named-terminated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.character-reference.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)((?:C(?:(?:o(?:unterClockwiseCo)?|lockwiseCo)ntourIntegra|cedi)|(?:(?:Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)|Not(?:Righ|Lef)tTriangle|(?:Not(?:(?:Succeed|Precede|Les)s|Greater)|(?:Precede|Succeed)s|Less)Slant|SquareSu(?:per|b)set|(?:Not(?:Greater|Tilde)|Tilde|Less)Full|RightTriangle|LeftTriangle|Greater(?:Slant|Full)|Precedes|Succeeds|Superset|NotHump|Subset|Tilde|Hump)Equ|int(?:er)?c|DotEqu)a|DoubleContourIntegra|(?:n(?:short)?parall|shortparall|p(?:arall|rur))e|(?:rightarrowta|l(?:eftarrowta|ced|ata|Ata)|sced|rata|perm|rced|rAta|ced)i|Proportiona|smepars|e(?:qvpars|pars|xc|um)|Integra|suphso|rarr[pt]|n(?:pars|tg)|l(?:arr[pt]|cei)|Rarrt|(?:hybu|fora)l|ForAl|[GKLNR-Tcknt]cedi|rcei|iexc|gime|fras|[uy]um|oso|dso|ium|Ium)l|D(?:o(?:uble(?:(?:L(?:ong(?:Left)?R|eftR)ight|L(?:ongL)?eft|UpDown|Right|Up)Arrow|Do(?:wnArrow|t))|wn(?:ArrowUpA|TeeA|a)rrow)|iacriticalDot|strok|ashv|cy)|(?:(?:(?:N(?:(?:otN)?estedGreater|ot(?:Greater|Less))|Less(?:Equal)?)Great|GreaterGreat|l[lr]corn|mark|east)e|Not(?:Double)?VerticalBa|(?:Not(?:Righ|Lef)tTriangleB|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)VectorB|RightTriangleB|Left(?:Triangle|Arrow)B|RightArrowB|V(?:er(?:ticalB|b)|b)|UpArrowB|l(?:ur(?:ds|u)h|dr(?:us|d)h|trP|owb|H)|profal|r(?:ulu|dld)h|b(?:igst|rvb)|(?:wed|ve[er])b|s(?:wn|es)w|n(?:wne|ese|sp|hp)|gtlP|d(?:oll|uh|H)|(?:hor|ov)b|u(?:dh|H)|r(?:lh|H)|ohb|hb|St)a|D(?:o(?:wn(?:(?:Left(?:Right|Tee)|RightTee)Vecto|(?:(?:Righ|Lef)tVector|Arrow)Ba)|ubleVerticalBa)|a(?:gge|r)|sc|f)|(?:(?:(?:Righ|Lef)tDown|(?:Righ|Lef)tUp)Tee|(?:Righ|Lef)tUpDown)Vecto|VerticalSeparato|(?:Left(?:Right|Tee)|RightTee)Vecto|less(?:eqq?)?gt|e(?:qslantgt|sc)|(?:RightF|LeftF|[lr]f)loo|u(?:[lr]corne|ar)|timesba|(?:plusa|cirs|apa)ci|U(?:arroci|f)|(?:dzigr|s(?:u(?:pl|br)|imr|[lr])|zigr|angz|nvH|l(?:tl|B)|r[Br])ar|UnderBa|(?:plus|harr|top|mid|of)ci|O(?:verBa|sc|f)|dd?agge|s(?:olba|sc)|g(?:t(?:rar|ci)|sc|f)|c(?:opys|u(?:po|ep)|sc|f)|(?:n(?:(?:v[lr]|w|r)A|l[Aa]|h[Aa]|eA)|x[hlr][Aa]|u(?:ua|da|A)|s[ew]A|rla|o[lr]a|rba|rAa|l[Ablr]a|h(?:oa|A)|era|d(?:ua|A)|cra|vA)r|o(?:lci|sc|ro|pa)|ropa|roar|l(?:o(?:pa|ar)|sc|Ar)|i(?:ma|s)c|ltci|dd?ar|a(?:ma|s)c|R(?:Bar|sc|f)|I(?:mac|f)|(?:u(?:ma|s)|oma|ema|Oma|Ema|[wyz]s|qs|ks|fs|Zs|Ys|Xs|Ws|Vs|Us|Ss|Qs|Ns|Ms|Ks|Is|Gs|Fs|Cs|Bs)c|Umac|x(?:sc|f)|v(?:sc|f)|rsc|n(?:ld|f)|m(?:sc|ld|ac|f)|rAr|h(?:sc|f)|b(?:sc|f)|psc|P(?:sc|f)|L(?:sc|ar|f)|jsc|J(?:sc|f)|E(?:sc|f)|[HT]sc|[yz]f|wf|tf|qf|pf|kf|jf|Zf|Yf|Xf|Wf|Vf|Tf|Sf|Qf|Nf|Mf|Kf|Hf|Gf|Ff|Cf|Bf)r|(?:Diacritical(?:Double)?A|[EINOSYZaisz]a)cute|(?:(?:N(?:egative(?:VeryThin|Thi(?:ck|n))|onBreaking)|NegativeMedium|ZeroWidth|VeryThin|Medium|Thi(?:ck|n))Spac|Filled(?:Very)?SmallSquar|Empty(?:Very)?SmallSquar|(?:N(?:ot(?:Succeeds|Greater|Tilde|Less)T|t)|DiacriticalT|VerticalT|PrecedesT|SucceedsT|NotEqualT|GreaterT|TildeT|EqualT|LessT|at|Ut|It)ild|(?:(?:DiacriticalG|[EIOUaiu]g)ra|(?:u|U)?bre|(?:o|e)?gra)v|(?:doublebar|curly|big|x)wedg|H(?:orizontalLin|ilbertSpac)|Double(?:Righ|Lef)tTe|(?:(?:measured|uw)ang|exponentia|dwang|ssmi|fema)l|(?:Poincarepla|reali|pho|oli)n|(?:black)?lozeng|(?:VerticalL|(?:prof|imag)l)in|SmallCircl|(?:black|dot)squar|rmoustach|l(?:moustach|angl)|(?:b(?:ack)?pr|(?:tri|xo)t|[qt]pr)im|[Tt]herefor|(?:DownB|[Gag]b)rev|(?:infint|nv[lr]tr)i|b(?:arwedg|owti)|an(?:dslop|gl)|(?:cu(?:rly)?v|rthr|lthr|b(?:ig|ar)v|xv)e|n(?:s(?:qsu[bp]|ccu)|prcu)|orslop|NewLin|maltes|Becaus|rangl|incar|(?:otil|Otil|t(?:ra|il))d|[inu]tild|s(?:mil|imn)|(?:sc|pr)cu|Wedg|Prim|Brev)e|(?:CloseCurly(?:Double)?Quo|OpenCurly(?:Double)?Quo|[ry]?acu)te|(?:Reverse(?:Up)?|Up)Equilibrium|C(?:apitalDifferentialD|(?:oproduc|(?:ircleD|enterD|d)o)t|on(?:grue|i)nt|conint|upCap|o(?:lone|pf)|OPY|hi)|(?:(?:(?:left)?rightsquig|(?:longleftr|twoheadr|nleftr|nLeftr|longr|hookr|nR|Rr)ight|(?:twohead|hook)left|longleft|updown|Updown|nright|Right|nleft|nLeft|down|up|Up)a|L(?:(?:ong(?:left)?righ|(?:ong)?lef)ta|eft(?:(?:right)?a|RightA|TeeA))|RightTeeA|LongLeftA|UpTeeA)rrow|(?:(?:RightArrow|Short|Upper|Lower)Left|(?:L(?:eftArrow|o(?:wer|ng))|LongLeft|Short|Upper)Right|ShortUp)Arrow|(?:b(?:lacktriangle(?:righ|lef)|ulle|no)|RightDoubleBracke|RightAngleBracke|Left(?:Doub|Ang)leBracke|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow)righ|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow|mapsto)lef|(?:UnderBrack|OverBrack|emptys|targ|Sups)e|diamondsui|c(?:ircledas|lubsui|are)|(?:spade|heart)sui|(?:(?:c(?:enter|t)|lmi|ino)d|(?:Triple|mD)D|n(?:otin|e)d|(?:ncong|doteq|su[bp]e|e[gl]s)d|l(?:ess|t)d|isind|c(?:ong|up|ap)?d|b(?:igod|N)|t(?:(?:ri)?d|opb)|s(?:ub|im)d|midd|g(?:tr?)?d|Lmid|DotD|(?:xo|ut|z)d|e(?:s?d|rD|fD|DD)|dtd|Zd|Id|Gd|Ed)o|realpar|i(?:magpar|iin)|S(?:uchTha|qr)|su[bp]mul|(?:(?:lt|i)que|gtque|(?:mid|low)a|e(?:que|xi))s|Produc|s(?:updo|e[cx])|r(?:parg|ec)|lparl|vangr|hamil|(?:homt|[lr]fis|ufis|dfis)h|phmma|t(?:wix|in)|quo|o(?:do|as)|fla|eDo)t|(?:(?:Square)?Intersecti|(?:straight|back|var)epsil|SquareUni|expectati|upsil|epsil|Upsil|eq?col|Epsil|(?:omic|Omic|rca|lca|eca|Sca|[NRTt]ca|Lca|Eca|[Zdz]ca|Dca)r|scar|ncar|herc|ccar|Ccar|iog|Iog)on|Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)?|(?:(?:(?:Not(?:Reverse)?|Reverse)E|comp|E)leme|NotCongrue|(?:n[gl]|l)eqsla|geqsla|q(?:uat)?i|perc|iiii|coni|cwi|awi|oi)nt|(?:(?:rightleftharpo|leftrightharpo|quaterni)on|(?:(?:N(?:ot(?:NestedLess|Greater|Less)|estedLess)L|(?:eqslant|gtr(?:eqq?)?)l|LessL)e|Greater(?:Equal)?Le|cro)s|(?:rightright|leftleft|upup)arrow|rightleftarrow|(?:(?:(?:righ|lef)tthree|divideon|b(?:igo|ox)|[lr]o)t|InvisibleT)ime|downdownarrow|(?:(?:smallset|tri|dot|box)m|PlusM)inu|(?:RoundImpli|complex|Impli|Otim)e|C(?:ircle(?:Time|Minu|Plu)|ayley|ros)|(?:rationa|mode)l|NotExist|(?:(?:UnionP|MinusP|(?:b(?:ig[ou]|ox)|tri|s(?:u[bp]|im)|dot|xu|mn)p)l|(?:xo|u)pl|o(?:min|pl)|ropl|lopl|epl)u|otimesa|integer|e(?:linter|qual)|setminu|rarrbf|larrb?f|olcros|rarrf|mstpo|lesge|gesle|Exist|[lr]time|strn|napo|fltn|ccap|apo)s|(?:b(?:(?:lack|ig)triangledow|etwee)|(?:righ|lef)tharpoondow|(?:triangle|mapsto)dow|(?:nv|i)infi|ssetm|plusm|lagra|d(?:[lr]cor|isi)|c(?:ompf|aro)|s?frow|(?:hyph|curr)e|kgree|thor|ogo|ye)n|Not(?:Righ|Lef)tTriangle|(?:Up(?:Arrow)?|Short)DownArrow|(?:(?:n(?:triangle(?:righ|lef)t|succ|prec)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|backsim)e|lvertneq|gvertneq|(?:suc|pre)cneq|a(?:pprox|symp)e|(?:succ|prec|vee)e|circe)q|(?:UnderParenthes|OverParenthes|xn)is|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)Vector|D(?:o(?:wn(?:RightVector|LeftVector|Arrow|Tee)|t)|el|D)|l(?:eftrightarrows|br(?:k(?:sl[du]|e)|ac[ek])|tri[ef]|s(?:im[eg]|qb|h)|hard|a(?:tes|ngd|p)|o[pz]f|rm|gE|fr|eg|cy)|(?:NotHumpDownHum|(?:righ|lef)tharpoonu|big(?:(?:triangle|sqc)u|c[au])|HumpDownHum|m(?:apstou|lc)|(?:capbr|xsq)cu|smash|rarr[al]|(?:weie|sha)r|larrl|velli|(?:thin|punc)s|h(?:elli|airs)|(?:u[lr]c|vp)ro|d[lr]cro|c(?:upc[au]|apc[au])|thka|scna|prn?a|oper|n(?:ums|va|cu|bs)|ens|xc[au]|Ma)p|l(?:eftrightarrow|e(?:ftarrow|s(?:dot)?)?|moust|a(?:rrb?|te?|ng)|t(?:ri)?|sim|par|oz|l|g)|n(?:triangle(?:righ|lef)t|succ|prec)|SquareSu(?:per|b)set|(?:I(?:nvisibleComm|ot)|(?:varthe|iio)t|varkapp|(?:vars|S)igm|(?:diga|mco)mm|Cedill|lambd|Lambd|delt|Thet|omeg|Omeg|Kapp|Delt|nabl|zet|to[es]|rdc|ldc|iot|Zet|Bet|Et)a|b(?:lacktriangle|arwed|u(?:mpe?|ll)|sol|o(?:x[HVhv]|t)|brk|ne)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|RightT(?:riangl|e)e|(?:(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|nsu[bp]seteq|colone|(?:wedg|sim)e|nsime|lneq|gneq)q|DifferentialD|(?:(?:fall|ris)ingdots|(?:suc|pre)ccurly|ddots)eq|A(?:pplyFunction|ssign|(?:tild|grav|brev)e|acute|o(?:gon|pf)|lpha|(?:mac|sc|f)r|c(?:irc|y)|ring|Elig|uml|nd|MP)|(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|L(?:eft(?:T(?:riangl|e)e|Arrow)|l)|G(?:reaterEqual|amma)|E(?:xponentialE|quilibrium|sim|cy|TH|NG)|(?:(?:RightCeil|LeftCeil|varnoth|ar|Ur)in|(?:b(?:ack)?co|uri)n|vzigza|roan|loan|ffli|amal|sun|rin|n(?:tl|an)|Ran|Lan)g|(?:thick|succn?|precn?|less|g(?:tr|n)|ln|n)approx|(?:s(?:traightph|em)|(?:rtril|xu|u[lr]|xd|v[lr])tr|varph|l[lr]tr|b(?:sem|eps)|Ph)i|(?:circledd|osl|n(?:v[Dd]|V[Dd]|d)|hsl|V(?:vd|D)|Osl|v[Dd]|md)ash|(?:(?:RuleDelay|imp|cuw)e|(?:n(?:s(?:hort)?)?|short|rn)mi|D(?:Dotrah|iamon)|(?:i(?:nt)?pr|peri)o|odsol|llhar|c(?:opro|irmi)|(?:capa|anda|pou)n|Barwe|napi|api)d|(?:cu(?:rlyeq(?:suc|pre)|es)|telre|[ou]dbla|Udbla|Odbla|radi|lesc|gesc|dbla)c|(?:circled|big|eq|[is]|c|x|a|S|[hw]|W|H|G|E|C)circ|rightarrow|R(?:ightArrow|arr|e)|Pr(?:oportion)?|(?:longmapst|varpropt|p(?:lustw|ropt)|varrh|numer|(?:rsa|lsa|sb)qu|m(?:icr|h)|[lr]aqu|bdqu|eur)o|UnderBrace|ImaginaryI|B(?:ernoullis|a(?:ckslash|rv)|umpeq|cy)|(?:(?:Laplace|Mellin|zee)tr|Fo(?:uriertr|p)|(?:profsu|ssta)r|ordero|origo|[ps]op|nop|mop|i(?:op|mo)|h(?:op|al)|f(?:op|no)|dop|bop|Rop|Pop|Nop|Lop|Iop|Hop|Dop|[GJKMOQSTV-Zgjkoqvwyz]op|Bop)f|nsu[bp]seteq|t(?:ri(?:angleq|e)|imesd|he(?:tav|re4)|au)|O(?:verBrace|r)|(?:(?:pitchfo|checkma|t(?:opfo|b)|rob|rbb|l[bo]b)r|intlarh|b(?:brktbr|l(?:oc|an))|perten|NoBrea|rarrh|s[ew]arh|n[ew]arh|l(?:arrh|hbl)|uhbl|Hace)k|(?:NotCupC|(?:mu(?:lti)?|x)m|cupbrc)ap|t(?:riangle|imes|heta|opf?)|Precedes|Succeeds|Superset|NotEqual|(?:n(?:atural|exist|les)|s(?:qc[au]p|mte)|prime)s|c(?:ir(?:cled[RS]|[Ee])|u(?:rarrm|larrp|darr[lr]|ps)|o(?:mmat|pf)|aps|hi)|b(?:sol(?:hsu)?b|ump(?:eq|E)|ox(?:box|[Vv][HLRhlr]|[Hh][DUdu]|[DUdu][LRlr])|e(?:rnou|t[ah])|lk(?:34|1[24])|cy)|(?:l(?:esdot|squ|dqu)o|rsquo|rdquo|ngt)r|a(?:n(?:g(?:msda[a-h]|st|e)|d[dv])|st|p[Ee]|mp|fr|c[Edy])|(?:g(?:esdoto|E)|[lr]haru)l|(?:angrtvb|lrhar|nis)d|(?:(?:th(?:ic)?k|succn?|p(?:r(?:ecn?|n)?|lus)|rarr|l(?:ess|arr)|su[bp]|par|scn|g(?:tr|n)|ne|sc|n[glv]|ln|eq?)si|thetasy|ccupss|alefsy|botto)m|trpezium|(?:hks[ew]|dr?bk|bk)arow|(?:(?:[lr]a|d|c)empty|b(?:nequi|empty)|plank|nequi|odi)v|(?:(?:sc|rp|n)pol|point|fpart)int|(?:c(?:irf|wco)|awco)nint|PartialD|n(?:s(?:u[bp](?:set)?|c)|rarr|ot(?:ni|in)?|warr|e(?:arr)?|a(?:tur|p)|vlt|p(?:re?|ar)|um?|l[et]|ge|i)|n(?:atural|exist|les)|d(?:i(?:am(?:ond)?|v(?:ide)?)|tri|ash|ot|d)|backsim|l(?:esdot|squ|dqu)o|g(?:esdoto|E)|U(?:p(?:Arrow|si)|nion|arr)|angrtvb|p(?:l(?:anckh|us(?:d[ou]|[be]))|ar(?:sl|t)|r(?:od|nE|E)|erp|iv|m)|n(?:ot(?:niv[a-c]|in(?:v[a-c]|E))|rarr[cw]|s(?:u[bp][Ee]|c[er])|part|v(?:le|g[et])|g(?:es|E)|c(?:ap|y)|apE|lE|iv|Ll|Gg)|m(?:inus(?:du|b)|ale|cy|p)|rbr(?:k(?:sl[du]|e)|ac[ek])|(?:suphsu|tris|rcu|lcu)b|supdsub|(?:s[ew]a|n[ew]a)rrow|(?:b(?:ecaus|sim)|n(?:[lr]tri|bump)|csu[bp])e|equivDD|u(?:rcorn|lcorn|psi)|timesb|s(?:u(?:p(?:set)?|b(?:set)?)|q(?:su[bp]|u)|i(?:gma|m)|olb?|dot|mt|fr|ce?)|p(?:l(?:anck|us)|r(?:op|ec?)?|ara?|i)|o(?:times|r(?:d(?:er)?)?)|m(?:i(?:nusd?|d)|a(?:p(?:sto)?|lt)|u)|rmoust|g(?:e(?:s(?:dot|l)?|q)?|sim|n(?:ap|e)|t|l|g)|(?:spade|heart)s|c(?:u(?:rarr|larr|p)|o(?:m(?:ma|p)|lon|py|ng)|lubs|heck|cups|irc?|ent|ap)|colone|a(?:p(?:prox)?|n(?:g(?:msd|rt)?|d)|symp|f|c)|S(?:quare|u[bp]|c)|Subset|b(?:ecaus|sim)|vsu[bp]n[Ee]|s(?:u(?:psu[bp]|b(?:su[bp]|n[Ee]|E)|pn[Ee]|p[1-3E]|m)|q(?:u(?:ar[ef]|f)|su[bp]e)|igma[fv]|etmn|dot[be]|par|mid|hc?y|c[Ey])|f(?:rac(?:78|5[68]|45|3[458]|2[35]|1[2-68])|fr)|e(?:m(?:sp1[34]|ptyv)|psiv|c(?:irc|y)|t[ah]|ng|ll|fr|e)|(?:kappa|isins|vBar|fork|rho|phi|n[GL]t)v|divonx|V(?:dashl|ee)|gammad|G(?:ammad|cy|[Tgt])|[Ldhlt]strok|[HT]strok|(?:c(?:ylct|hc)|(?:s(?:oft|hch)|hard|S(?:OFT|HCH)|jser|J(?:ser|uk)|HARD|tsh|TSH|juk|iuk|I(?:uk|[EO])|zh|yi|nj|lj|k[hj]|gj|dj|ZH|Y[AIU]|NJ|LJ|K[HJ]|GJ|D[JSZ])c|ubrc|Ubrc|(?:yu|i[eo]|dz|v|p|f)c|TSc|SHc|CHc|Vc|Pc|Mc|Fc)y|(?:(?:wre|jm)at|dalet|a(?:ngs|le)p|imat|[lr]ds)h|[CLRUceglnou]acute|ff?llig|(?:f(?:fi|[ij])|sz|oe|ij|ae|OE|IJ)lig|r(?:a(?:tio|rr|ng)|tri|par|eal)|s[ew]arr|s(?:qc[au]p|mte)|prime|rarrb|i(?:n(?:fin|t)?|sin|t|i|c)|e(?:quiv|m(?:pty|sp)|p(?:si|ar)|cir|l|g)|kappa|isins|ncong|doteq|(?:wedg|sim)e|nsime|rsquo|rdquo|[lr]haru|V(?:dash|ert)|Tilde|lrhar|gamma|Equal|UpTee|n(?:[lr]tri|bump)|C(?:olon|up|ap)|v(?:arpi|ert)|u(?:psih|ml)|vnsu[bp]|r(?:tri[ef]|e(?:als|g)|a(?:rr[cw]|ng[de]|ce)|sh|lm|x)|rhard|sim[gl]E|i(?:sin[Ev]|mage|f[fr]|cy)|harrw|(?:n[gl]|l)eqq|g(?:sim[el]|tcc|e(?:qq|l)|nE|l[Eaj]|gg|ap)|ocirc|starf|utrif|d(?:trif|i(?:ams|e)|ashv|sc[ry]|fr|eg)|[du]har[lr]|T(?:HORN|a[bu])|(?:TRAD|[gl]vn)E|odash|[EUaeu]o(?:gon|pf)|alpha|[IJOUYgjuy]c(?:irc|y)|v(?:arr|ee)|succ|sim[gl]|harr|ln(?:ap|e)|lesg|(?:n[gl]|l)eq|ocir|star|utri|vBar|fork|su[bp]e|nsim|lneq|gneq|csu[bp]|zwn?j|yacy|x(?:opf|i)|scnE|o(?:r(?:d[fm]|v)|mid|lt|hm|gt|fr|cy|S)|scap|rsqb|ropf|ltcc|tsc[ry]|QUOT|[EOUYao]uml|rho|phi|n[GL]t|e[gl]s|ngt|I(?:nt|m)|nis|rfr|rcy|lnE|lEg|ufr|S(?:um|cy)|R(?:sh|ho)|psi|Ps?i|[NRTt]cy|L(?:sh|cy|[Tt])|kcy|Kcy|Hat|REG|[Zdz]cy|wr|lE|wp|Xi|Nu|Mu)(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.named.html\\\"}},\\\"scopeName\\\":\\\"source.mdx\\\",\\\"embeddedLangs\\\":[],\\\"embeddedLangsLazy\\\":[\\\"tsx\\\",\\\"toml\\\",\\\"yaml\\\",\\\"c\\\",\\\"clojure\\\",\\\"coffee\\\",\\\"cpp\\\",\\\"csharp\\\",\\\"css\\\",\\\"diff\\\",\\\"docker\\\",\\\"elixir\\\",\\\"elm\\\",\\\"erlang\\\",\\\"go\\\",\\\"graphql\\\",\\\"haskell\\\",\\\"html\\\",\\\"ini\\\",\\\"java\\\",\\\"javascript\\\",\\\"json\\\",\\\"julia\\\",\\\"kotlin\\\",\\\"less\\\",\\\"lua\\\",\\\"make\\\",\\\"markdown\\\",\\\"objective-c\\\",\\\"perl\\\",\\\"python\\\",\\\"r\\\",\\\"ruby\\\",\\\"rust\\\",\\\"scala\\\",\\\"scss\\\",\\\"shellscript\\\",\\\"shellsession\\\",\\\"sql\\\",\\\"xml\\\",\\\"swift\\\",\\\"typescript\\\"]}\"))\n\nexport default [\nlang\n]\n"],"names":["sc","rc","e","t","n","I","dc","hc","Qs","fc","s","r","o","gc","vc","pc","ko","mc","Oi","bc","Xe","F","l","Rt","Cc","a","Tr","yc","gr","Ti","xc","wc","Sc","Rc","Lc","Nc","Mc","Dc","kr","Io","Ir","Er","Pr","$c","gC","Yn","Mt","Eo","Po","ki","Oc","Tc","kc","Ic","Ec","_e","$n","Ss","Ei","Ii","Rs","Pi","Ae","Pc","pr","Ac","On","Ar","Fc","Vc","Ai","Fi","ct","Vi","Bc","Ue","jc","mr","Wc","cs","Hc","Bi","Gn","ji","zc","Ao","c","u","d","Wi","h","Uc","Hi","Kc","qc","Xc","_c","Fr","Yc","Ye","Gc","Zc","Jc","zi","Qc","eu","tu","nu","su","us","ru","ou","er","w","iu","Ui","au","Dt","Ge","Tn","Ls","Fe","$t","lu","ve","Vr","Ki","qi","T","Ns","Ms","re","E","Ot","Fo","Ds","at","rs","Xi","cu","G","uu","Br","_i","qt","du","hu","sn","Nt","jr","fu","gu","pu","mu","kn","Wr","Vo","Bo","jo","Wo","tr","nr","bu","vu","Hr","Cu","yu","M","zr","Nu","Mu","Du","$u","Yi","xu","g","f","m","ft","pt","gt","wu","Kr","Su","Ru","Lu","Ur","Xr","qr","Gi","$s","br","Ou","Zn","Ho","zo","Zi","Tu","ku","Iu","Eu","L","Pu","X","Au","Fu","sr","Uo","Vu","be","mt","Bu","Ji","ju","p","b","Wu","Hu","zu","Uu","Ku","qu","Yu","Qi","Gu","Zu","Ju","ea","Qu","ed","td","nd","sd","rd","od","id","ad","Os","ld","_r","In","ta","na","ud","dd","hd","fd","gd","pd","md","bd","vd","Cd","i","xt","vr","Yr","Lt","yd","sa","wd","Jn","Qn","Gr","ra","Ze","v","y","C","x","S","D","R","N","k","O","$","W","j","A","z","Ce","te","oe","Y","ne","ue","Et","Sd","Rd","Ld","Nd","L$2","Md","Dd","Od","Se","Td","Cr","kd","Id","Ed","Pd","Ad","oa","Zr","Vd","Bd","jd","Wd","Hd","zd","Ud","Kd","qd","U","B","ia","Xd","Ko","rr","Yd","Gd","Zd","Jd","Qd","Wt","eh","th","yr","nh","qo","sh","rh","Xo","oh","ih","H","aC","_","ah","lh","Yt","Xt","ch","uh","Ts","ks","dh","Is","Jr","Es","hh","aa","la","Ke","ca","St","ds","Ie","fh","rn","gh","ph","mh","bh","vh","Ch","yh","xh","Ps","on","ua","me","Je","ae","Ve","_o","En","Le","wh","As","Qr","eo","Sh","ut","en","Fs","da","xr","wr","hs","Re","fs","Pe","to","Vs","no","Rh","Lh","Bs","Nh","Mh","Dh","gs","Yo","$h","Oh","Th","kh","Ih","ha","fa","Gt","Eh","ga","Ph","Rn","so","pa","Ah","Fh","Vh","Bh","jh","Go","ma","Wh","Hh","zh","Uh","or","Zo","ba","Kh","qh","Xh","_h","Yh","Gh","os","Or","ps","va","Jo","ir","P","Zh","cc","Z","Jh","Qh","Ca","ef","tf","nf","Sr","Qo","sf","ei","rf","of","af","Rr","lf","cf","uf","df","hf","ff","gf","pf","ya","mf","bf","vf","Cf","xa","yf","xf","wf","Sf","Rf","Lf","yn","an","Nf","Mf","Df","$f","Of","Tf","kf","If","Ef","Pf","Af","Ff","js","ln","ro","ce","oo","Pn","wa","cn","Ne","Ws","le","Vf","Ln","An","ms","bs","ar","Fn","Sa","Zt","Nn","Bf","Hs","jf","vs","dt","ti","Wf","Hf","zf","Uf","Kf","Ra","qf","lt","Xf","_f","Yf","Gf","uc","J","Cs","ni","Zf","Me","La","Jf","Na","Qf","si","Ma","ri","eg","tg","ng","sg","rg","Da","og","ig","$a","ag","lg","un","oi","cg","ug","dg","zs","Oa","lr","Ta","ka","Lr","ee","Ia","Ea","hg","fg","gg","Pa","pg","mg","Aa","bg","io","xn","vg","cr","we","ii","Cg","V","Fa","yg","ao","ai","li","lo","xg","co","wg","Nr","Sg","ur","Rg","wn","ys","Lg","Mg","Ng","Dg","$g","Mn","Mr","ci","Og","uo","Tg","kg","Us","Ig","ui","Eg","di","Pg","Ag","hi","Fg","Vg","Va","fi","Bg","Ba","jg","Wg","Hg","is","Sn","zg","ja","Wa","Ug","Kg","qg","Ha","Xg","_g","Ks","it","Yg","oc","ic","ie","je","yt","gn","ye","Kn","Qe","nc","We","q","pn","$e","Pt","He","At","Ft","So","Ro","Gs","et","qn","Xn","Lo","No","Yl","Gl","Vt","Bt","mn","Mo","tt","Do","Zl","Jl","Zs","$o","he","fe","nt","xe","ge","Oe","se","Te","ze","st","vn","rt","bn","_n","jt","Cn","Js","Ql","Oo","ec","tc","Gg","gi","Zg","Jg","za","Qg","ep","tp","np","ac","sp","rp","op","ip","ap","lc","lp","cp","up","dp","hp","pi","fp","gp","ho","pp","es","mp","bp","ts","vp","Cp","fo","ns","yp","xp","Ua","Ka","wp","Sp","Rp","Lp","qa","Np","Mp","Dp","$p","Op","Tp","kp","Xa","Ip","Ep","Pp","_a","dr","Ap","mi","bi","Fp","go","Vp","Bp","jp","Ya","Wp","tn","Ga","dn","Hp","Za","zp","Ja","Up","po","Kp","qp","Xp","_p","Yp","Gp","Zp","el","tl","Jp","hr","Qp","vi","em","tm","Qa","qe","nm","sm","rm","om","im","am","lm","cm","um","dm","hm","fm","gm","Bn","as","Ht","pm","Jt","mm","bm","vm","Cm","ym","xm","wm","Sm","Rm","bt","Lm","Nm","Mm","Dm","$m","Om","Tm","km","Im","Em","Pm","Am","Fm","Vm","Bm","jm","Wm","Hm","zm","Um","Ci","wt","ob","Tt","ib","ab","de","lb","De","cb","ub","db","hb","fb","gb","pb","mb","bb","vb","Cb","yb","xb","wb","Sb","Rb","Lb","Nb","Mb","Db","rl","$b","Ob","Tb","kb","Ib","Eb","Pb","Ab","Fb","Vb","Ee","Bb","jb","fr","Wb","Hb","qb","zb","yi","Ub","ol","Kb","il","ls","mo","kt","Xb","Dn","qs","_b","jn","al","Yb","Gb","pe","Zb","Jb","xi","Qt","Qb","ll","cl","ev","tv","nv","sv","Wn","rv","Xs","ov","Hn","ul","iv","dl","av","wi","zn","hn","bo","lv","Un","vt","cv","uv","hl","fl","_s","dv","gl","hv","Be","Ys","_t","fv","gv","pl","pv","mv","ml","ws","Si","bv","bl","vv","Ri","Cv","nn","yv","xv","wv","Sv","Rv","Lv","Nv","Mv","vl","Cl","Dv","$v","Ov","zt","Tv","HC","kv","Iv","yl","fn","Ev","Pv","Av","$i","Ut","To","Fv","zC","Vv","UC","xl","Q","wl","Bv","jv","Wv","Hv","ht","Sl","vo","Rl","Ll","Dr","Nl","$r","It","Ml","zv","Dl","$l","Ol","Tl","kl","Uv","Kv","Il","qv","Li","Xv","_v","Yv","Gv","Zv","Jv","Qv","ss","ot","Ct","e2","t2","n2","s2","r2","o2","i2","a2","l2","c2","u2","d2","h2","f2","g2","p2","v2","m2","b2","C2","Kt","K","y2","x2","w2","El","S2","Pl","R2","L2","N2","M2","D2","$2","O2","T2","k2","Al","I2","Fl","E2","Vl","P2","Bl","A2","F2","V2","B2","jl","j2","W2","Wl","H2","z2","U2","K2","q2","X2","_2","ke","Y2","G2","Z2","J2","Q2","e0","Co","t0","Hl","n0","s0","r0","o0","i0","a0","l0","c0","u0","d0","h0","f0","g0","p0","m0","b0","v0","C0","y0","x0","w0","R0","zl","Ni","Mi","Di","L0","N0","D0","$0","O0","T0","k0","Ul","P0","A0","F0","V0","B0","j0","Kl","yo","xo","H0","z0","U0","K0","q0","wo","X0","_0","Y0","G0","J0","ql","eC","Xl","_l","N1","SNIPPET","EXAMPLE","MATCH_SNIPPETS_PREFIX","MATCH_EXAMPLES_PREFIX","LANGUAGE_EXTENSIONS","CodeError","file","message","children","title","Error","jsx","jsxs","InvalidNameError","type","UnknownExtensionError","ext","component","capitalize","NoExtensionError","Loading","loading","Spinner","getHeapMax","_emscripten_get_now","alignUp","multiple","main","init","wasmMemory","buffer","binding","updateGlobalBufferAndViews","buf","_emscripten_memcpy_big","dest","src","num","emscripten_realloc_buffer","size","_emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","UTF8Decoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","str","u1","UTF8ToString","ptr","asmLibraryArg","createWasm","exports","__defProp","__defNormalProp","obj","key","value","__publicField","onigBinding","throwLastOnigError","onigBinding2","ShikiError","UtfString","utf16Length","utf8Length","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","result","len","codepoint","_OnigString","utfString","utf8Offset","utf16Offset","OnigString","OnigScanner","patterns","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","string","startPosition","arg","options","debugCall","resultPtr","HEAPU32","offset","index","count","captureIndices","beg","end","isInstantiatorOptionsObject","dataOrOptions","isInstantiatorModule","isDataOptionsObject","isResponse","isArrayBuffer","data","initPromise","loadWasm","_load","info","instance","_makeResponseStreamingLoader","_makeResponseNonStreamingLoader","_makeArrayBufferLoader","importObject","arrayBuffer","_defaultWasmLoader","getDefaultWasmLoader","createOnigurumaEngine","clone","something","doClone","cloneArray","cloneObj","arr","mergeObjects","target","sources","source","basename","path","CAPTURING_REGEX_SOURCE","RegexSource","regexSource","captureSource","match","commandIndex","command","capture","strcmp","strArrCmp","len1","len2","res","isValidHexColor","hex","escapeRegExpCharacters","CachedFn","Theme","_colorMap","_defaults","_root","scopeName","colorMap","parseTheme","resolveParsedThemeRules","scopePath","effectiveRule","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","_ScopeStack","parent","scopeNames","name","segments","item","other","base","parentScopes","scopePattern","scopeMustMatch","_matchesScope","fontStyle","foregroundId","backgroundId","settings","resultLen","entry","scopes","_scope","lenJ","foreground","background","scope","ParsedThemeRule","FontStyle","FontStyle2","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","ColorMap","defaults","root","ThemeTrieElement","ThemeTrieElementRule","rule","color","emptyParentScopes","_ThemeTrieElementRule","scopeDepth","_ThemeTrieElement","_mainRule","rulesWithParentScopes","_children","aParentIndex","bParentIndex","parentScopeLengthDiff","dotIndex","head","tail","rules","child","EncodedTokenMetadata","_EncodedTokenMetadata","encodedTokenAttributes","languageId","tokenType","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","toOptionalTokenType","standardType","fromOptionalTokenType","createMatchers","selector","matchesName","results","tokenizer","newTokenizer","token","priority","matcher","parseConjunction","parseOperand","expressionToNegate","matcherInput","expressionInParents","parseInnerExpression","isIdentifier","identifiers","matchers","matcher2","input","regex","disposeOnigString","TopLevelRuleReference","TopLevelRepositoryRuleReference","ruleName","ExternalReferenceCollector","reference","ScopeDependencyProcessor","repo","initialScopeName","deps","dep","collectReferencesOfReference","baseGrammarScopeName","selfGrammar","baseGrammar","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","injections","injection","context","collectExternalReferencesInRules","patternRepository","include","parseInclude","newContext","BaseReference","SelfReference","RelativeReference","TopLevelReference","TopLevelRepositoryReference","indexOfSharp","HAS_BACK_REFERENCES","BACK_REFERENCING_END","endRuleId","whileRuleId","ruleIdFromNumber","ruleIdToNumber","Rule","$location","contentName","location","lineText","CaptureRule","retokenizeCapturedWithRuleId","grammar","out","endRegexSource","allowA","allowG","MatchRule","captures","RegExpSource","RegExpSourceList","IncludeOnlyRule","pattern","BeginEndRule","begin","beginCaptures","endCaptures","applyEndPatternLast","BeginWhileRule","_while","whileCaptures","RuleFactory","_RuleFactory","helper","desc","repository","maximumCaptureId","captureId","numericCaptureId","ruleId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","externalIncludedRule","skipRule","_RegExpSource","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","onigLib","regExps","CompiledRule","BasicScopeAttributes","BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","standardTokenType","ScopeMatcher","values","escapedScopes","TokenizeStringResult","stack","stoppedEarly","_tokenizeString","isFirstLine","linePos","lineTokens","checkWhileConditions","timeLimit","lineLength","STOP","anchorPosition","whileCheckResult","_checkWhileConditions","startTime","scanNext","matchRuleOrInjections","matchedRuleId","hasAdvanced","poppedRule","handleCaptures","popped","_rule","beforePush","nameScopesList","pushedRule","contentNameScopesList","whileRules","node","nodeRule","whileRule","ruleScanner","findOptions","prepareRuleWhileSearch","matchResult","matchRule","injectionResult","matchInjections","matchResultScore","injectionResultScore","prepareRuleSearch","bestMatchRating","bestMatchCaptureIndices","bestMatchRuleId","bestMatchResultPriority","matchRating","lineTextContent","localStack","maxEnd","captureRule","captureIndex","stackClone","onigSubStr","captureRuleScopeName","captureRuleScopesList","LocalStackElement","endPos","createGrammar","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","Grammar","collectInjections","ruleFactoryHelper","nameMatcher","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","_rootScopeName","_onigLib","initGrammar","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","i1","factory","rawIncludedGrammar","prevState","emitBinaryTokens","StateStackImpl","rawDefaultMetadata","defaultStyle","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","onigLineText","LineTokens","_AttributedScopeStack","tokenAttributes","namesScopeList","current","frame","rawRootMetadata","rootStyle","resolvedTokenAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","metadata","self","enterPos","anchorPos","beginRuleCapturedEOL","endRule","outIndex","contentNameScopeStack","BalancedBracketSelectors","balancedBracketScopes","unbalancedBracketScopes","excluder","includer","tokenTypeOverrides","endIndex","scopesList","scopes2","SyncRegistry","theme","targetScope","rawGrammar","Registry","configuration","dependencyProcessor","request","INITIAL","htmlVoidElements","Schema","property","normal","space","merge","definitions","normalize","Info","attribute","powers","boolean","increment","booleanish","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","checks","types","DefinedInfo","mask","mark","check","own","create","definition","prop","xlink","xml","caseSensitiveTransform","attributes","caseInsensitiveTransform","xmlns","aria","html","svg","valid","dash","cap","find","schema","Type","rest","camelcase","dashes","kebab","htmlBase","svgBase","zwitch","one","parameters","handlers","defaultSubsetRegex","surrogatePairsRegex","controlCharactersRegex","regexEscapeRegex","subsetToRegexCache","core","charactersToExpressionCached","basic","surrogate","pair","all","character","subset","cached","charactersToExpression","groups","hexadecimalRegex","toHexadecimal","code","next","omit","decimalRegex","toDecimal","characterEntitiesLegacy","characterEntitiesHtml4","dangerous","characters","notAlphanumericRegex","toNamed","formatSmart","numeric","named","decimal","stringifyEntities","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","comment","_1","state","encode","doctype","_3","ccount","stringify","whitespace","thing","empty","siblingAfter","siblings","siblingBefore","emptyChildren","sibling","includeWhitespace","omission","closing","body","headOrColgroupOrCaption","optgroup","option","rubyElement","tbody","cells","tfoot","thead","opening","colgroup","seen","previous","constants","element","selfClosing","parts","last","serializeAttributes","content","properties","serializeAttribute","quote","commas","spaces","textEntitySubset","text","raw","handle","invalid","unknown","node_","emptyOptions","emptyCharacterReferences","toHtml","tree","options_","alternative","toArray","splitLines","preserveEnding","lines","line","isPlainLang","lang","isSpecialLang","isNoneTheme","isSpecialTheme","addClassToHast","className","targets","splitToken","offsets","lastOffset","tokens","splitTokens","breakpoints","sorted","breakpointsInToken","normalizeGetter","resolveColorReplacements","replacements","themeName","applyColorReplacements","getTokenStyleObject","styles","stringifyTokenStyle","createPositionConverter","indexToPos","posToIndex","_grammarStateMap","setLastGrammarStateToMap","keys","getLastGrammarStateFromMap","GrammarState","args","stacksMap","themes","getScopes","visited","pushScope","stack2","getGrammarStack","transformerDecorations","map","getContext","shiki","normalizePosition","converter","decorations","verifyIntersections","codeEl","ctx","applyLineSection","start","decoration","lineEl","startIndex","applyDecoration","wrapper","applyLine","transform","lineApplies","items","foo","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","builtInTransformers","getTransformers","namedColors","findSequence","position","nextEscape","nextClose","parseColor","sequence","colorMode","rgb","colorIndex","parseSequence","commands","codeInt","createAnsiSequenceParser","decorations2","findResult","styleToken","defaultNamedColorsMap","createColorPalette","namedColorsMap","namedColor","rgbColor","colorTable","getColorTable","levels","level","tableColor","tokenizeAnsiWithTheme","fileContents","colorReplacements","colorPalette","parser","bgColor","dimColor","hexMatch","alpha","cssVarMatch","codeToTokensBase","internal","_grammar","ShikiError$1","tokenizeWithTheme","getLastGrammarState","_tokenizeWithTheme","grammarState","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","actual","final","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","tokensLength","nextStartIndex","themeSettingsSelectors","setting","selectors","tokenWithScopes","tokenWithScopesText","explainThemeScopesNameOnly","explainThemeScopesFull","themeSelectors","explainThemeScope","matchesOne","matches","selectorParentIndex","parentIndex","selectorPieces","codeToTokensWithThemes","themedTokens","tokens2","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","themeIdx","__","___","mergedGrammarState","outThemes","outLines","indexes","minLength","codeToTokens","defaultColor","cssVariablePrefix","themeTokens","themeRegs","themesOrder","mergeToken","themeColorReplacements","_theme","merged","variantsOrder","styleKeys","mergedStyles","cur","keyName","varKey","codeToHast","transformerContext","_code","_options","transformer","mergeWhitespaces","mergeWhitespaceTokens","splitWhitespaceTokens","contextSource","tokensToHast","transformers","structure","tabindex","preNode","codeNode","lineNodes","lineNode","col","tokenNode","style","newLine","carryOnContent","firstOffset","couldMerge","leading","trailing","expanded","codeToHtml","VSCODE_FALLBACK_EDITOR_FG","VSCODE_FALLBACK_EDITOR_BG","RESOLVED_KEY","normalizeTheme","rawTheme","globalSetting","_d","replacementCount","replacementMap","getReplacementColor","replaceFg","replaceBg","replacement","resolveLangs","langs","resolveThemes","Registry$1","_resolver","_themes","_langs","_alias","textmateTheme","resolved","embeddedLazilyBy","grammarConfig","alias","langsGraphArray","missingLangs","dependents","embeddedLang","Resolver","engine","langIdOrAlias","scopeParts","subScopeName","instancesCount","createShikiInternalSync","isDisposed","resolver","_registry","_lastTheme","getLanguage","ensureNotDisposed","_lang","getTheme","setTheme","getLoadedThemes","getLoadedLanguages","loadLanguageSync","langs2","loadLanguage","loadThemeSync","themes2","loadTheme","dispose","createShikiInternal","createOnigurumaEngine$1","createHighlighterCore","options2","getHighlighterCore","createCssVariablesTheme","variablePrefix","variable","name2","tokenColor","createCommentNotationTransformer","onMatch","removeEmptyLines","linesToRemove","nodeToRemove","replaced","escapeRegExp","transformerNotationMap","classMap","classActivePre","range","_line","_comment","lineNum","transformerNotationHighlight","classActiveLine","prepareCode","removeLineEndings","lineHighlighter","highlightLines","highlighter","isFunction","makeHighlighter","highlines","splitList","lineRange","binary","wasmBinary","getWasmInstance","wasm","cssvars","cssVarsTheme","javascript","typescript","tsx","json","markdown","mdx","css","scss","bash","yaml","getWasm","SourceCode","language","caption","expand","fixed","lineNumbers","undent","copied","setCopied","useState","setExpanded","markup","setMarkup","prepared","copy","sleep","React","cls","classes","Split","split","gap","hgap","vgap","align","SourceOutput","Component","props","l$1","prepareSnippets","snippets","matchSnippetsPrefix","loader","prepareExamples","examples","examplesSrc","matchExamplesPrefix","fail","defaultSite","now","SiteContext","Generator","render","site","sidebar","smallScreenBreakpoints","sidebarOpen","setSidebarOpen","openSidebar","closeSidebar","toggleSidebar","open","smallScreenSidebarOpen","setSmallScreenSidebarOpen","openSmallScreenSidebar","closeSmallScreenSidebar","toggleSmallScreenSidebar","width","breakpoint","useWindow","smallScreen","splitHash","sidebarIconClick","page","setPage","tocs","setTocs","addPageToc","getPageToc","contentRef","useRef","toggleTheme","isDark","isLight","setDark","setLight","useTheme","menuItems","section","prevNextPage","prev","SiteConsumer","SiteChildren","useSite","LoadExample","setCode","comp","setComp","matchExt","isHTML","module","Example","Source","Snippet","MATCH_PAGES_PREFIX","MATCH_PAGE_SUFFIX","MATCH_INDEX_PAGE","MATCH_LAYOUT","MATCH_IGNORE","MATCH_PLACEHOLDER","OPEN","CLOSED","ExternalLink","href","label","linkRef","dark","button","outline","codeClass","todo","disabled","targetBlank","rel","WithIcons","_extends","Action","PopStateEventType","createBrowserHistory","createBrowserLocation","window","globalHistory","pathname","search","hash","createLocation","createBrowserHref","createPath","getUrlBasedHistory","invariant","warning","cond","createKey","getHistoryState","parsePath","_ref","parsedPath","hashIndex","searchIndex","getLocation","createHref","validateLocation","v5Compat","action","listener","getIndex","handlePop","nextIndex","delta","history","push","historyState","url","error","replace","createURL","ResultType","immutableRouteKeys","isIndexRoute","route","convertRoutesToDataRoutes","routes","mapRouteProperties","parentPath","manifest","treePath","indexRoute","pathOrLayoutRoute","matchRoutes","locationArg","stripBasename","branches","flattenRoutes","rankRouteBranches","decoded","decodePath","matchRouteBranch","convertRouteMatchToUiMatch","loaderData","params","parentsMeta","flattenRoute","relativePath","meta","joinPaths","routesMeta","computeScore","_route$path","exploded","explodeOptionalSegments","first","isOptional","required","restExploded","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","score","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","normalizePathname","compiledParams","compilePath","pathnameBase","captureGroups","memo","paramName","splatValue","caseSensitive","regexpSource","nextChar","resolvePath","fromPathname","toPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","field","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","ErrorResponseImpl","status","statusText","isRouteErrorResponse","validMutationMethodsArr","validMutationMethods","validRequestMethodsArr","validRequestMethods","redirectStatusCodes","redirectPreserveMethodStatusCodes","IDLE_NAVIGATION","IDLE_FETCHER","IDLE_BLOCKER","ABSOLUTE_URL_REGEX","defaultMapRouteProperties","TRANSITIONS_STORAGE_KEY","createRouter","routerWindow","isBrowser","isServer","detectErrorBoundary","dataRoutes","inFlightDataRoutes","dataStrategyImpl","defaultDataStrategy","future","unlistenHistory","subscribers","savedScrollPositions","getScrollRestorationKey","getScrollPosition","initialScrollRestored","initialMatches","initialErrors","getInternalRouterError","getShortCircuitMatches","initialized","hasLazyRoutes","hasLoaders","errors","isRouteInitialized","router","pendingAction","pendingPreventScrollReset","pendingNavigationController","pendingViewTransitionEnabled","appliedViewTransitions","removePageHideEventListener","isUninterruptedRevalidation","isRevalidationRequired","cancelledDeferredRoutes","cancelledFetcherLoads","fetchControllers","incrementingLoadId","pendingNavigationLoadId","fetchReloadIds","fetchRedirectIds","fetchLoadMatches","activeFetchers","deletedFetchers","activeDeferreds","blockerFunctions","ignoreNextHistoryUpdate","initialize","historyAction","blockerKey","shouldBlockNavigation","updateBlocker","blockers","updateState","startNavigation","restoreAppliedTransitions","_saveAppliedTransitions","persistAppliedTransitions","deleteFetcher","deleteBlocker","subscribe","newState","opts","completedFetchers","deletedFetchersKeys","fetcher","subscriber","completeNavigation","_temp","_location$state","_location$state2","flushSync","isActionReload","isMutationMethod","actionData","mergeLoaderData","preventScrollReset","viewTransitionOpts","priorPaths","toPaths","getSavedScrollPosition","navigate","normalizedPath","normalizeTo","submission","normalizeNavigateOptions","currentLocation","nextLocation","userReplace","revalidate","interruptActiveLoads","saveScrollPosition","routesToUse","loadingNavigation","notFoundMatches","cancelActiveDeferreds","isHashChangeOnly","createClientSideRequest","pendingActionResult","findNearestBoundary","actionResult","handleAction","getLoadingNavigation","shortCircuited","handleLoaders","getActionDataForCommit","navigation","getSubmittingNavigation","actionMatch","getTargetMatch","callDataStrategy","isRedirectResult","normalizeRedirectLocation","startRedirectNavigation","isDeferredResult","isErrorResult","boundaryMatch","overrideNavigation","fetcherSubmission","initialHydration","activeSubmission","getSubmissionFromNavigation","matchesToLoad","revalidatingFetchers","getMatchesToLoad","routeId","updatedFetchers","markFetchRedirectsDone","revalidatingFetcher","getLoadingFetcher","abortFetcher","abortPendingFetchRevalidations","loaderResults","fetcherResults","callLoadersAndMaybeResolveData","redirect","findRedirect","fetcherKey","processLoaderData","deferredData","aborted","_ref2","_ref3","didAbortFetchLoads","abortStaleFetchLoads","shouldUpdateFetchers","fetch","setFetcherError","handleFetcherAction","handleFetcherLoader","requestMatches","existingFetcher","updateFetcherState","getSubmittingFetcher","abortController","fetchRequest","originatingLoadId","getDoneFetcher","revalidationRequest","loadId","loadFetcher","staleKey","doneFetcher","resolveDeferredData","_temp2","redirectLocation","isDocumentReload","redirectHistoryAction","formMethod","formAction","formEncType","callDataStrategyImpl","isRedirectHandlerResult","response","normalizeRelativeRoutingRedirectResponse","convertHandlerResultToDataResult","currentMatches","fetchersToLoad","fetcherRequest","resolveDeferredResults","getFetcher","deleteFetcherAndUpdateState","controller","markFetchersDone","doneKeys","landedId","yeetedKeys","getBlocker","blocker","newBlocker","_ref4","entries","blockerFunction","predicate","cancelledRouteIds","dfd","enableScrollRestoration","positions","getPosition","getKey","getScrollKey","_internalSetRoutes","newRoutes","isSubmissionNavigation","prependBasename","fromRouteId","relative","contextualMatches","activeRouteMatch","hasNakedIndexQuery","normalizeFormMethod","isFetcher","isValidMethod","getInvalidBodyError","rawFormMethod","stripHashFromPath","acc","_ref5","searchParams","formData","convertFormDataToSearchParams","convertSearchParamsToFormData","getLoaderMatchesUntilBoundary","boundaryId","boundaryMatches","isInitialLoad","skipActionErrorRevalidation","currentUrl","nextUrl","actionStatus","shouldSkipRevalidation","navigationMatches","isNewLoader","currentRouteMatch","nextRouteMatch","shouldRevalidateLoader","isNewRouteInstance","fetcherMatches","fetcherMatch","shouldRevalidate","currentLoaderData","currentMatch","isNew","isMissingData","currentPath","loaderMatch","routeChoice","loadLazyRouteModule","lazyRoute","routeToUpdate","routeUpdates","lazyRouteProperty","isPropertyStaticallyDefined","requestContext","routeIdsToLoad","loadedMatches","shouldLoad","handlerOverride","callLoaderOrAction","staticContext","onReject","runHandler","handler","reject","abortPromise","actualHandler","handlerPromise","handlerError","handlerResult","contentType","isDeferredData","_result$init","_result$init2","trimmedMatches","normalizedLocation","isSameBasename","signal","processRouteLoaderData","skipLoaderErrorBubbling","statusCode","foundError","loaderHeaders","pendingError","newLoaderData","mergedLoaderData","_temp5","method","errorMessage","deferred","signals","isRevalidatingLoader","unwrap","_window","transitions","sessionPositions","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","RouteErrorContext","useHref","useInRouterContext","UNSAFE_invariant","navigator","useResolvedPath","joinedPathname","useLocation","navigateEffectWarning","useIsomorphicLayoutEffect","useNavigate","isDataRoute","useNavigateStable","useNavigateUnstable","dataRouterContext","routePathnamesJson","UNSAFE_getResolveToMatches","activeRef","UNSAFE_warning","OutletContext","useOutlet","outlet","useRoutesImpl","dataRouterState","parentMatches","routeMatch","parentParams","parentPathname","parentPathnameBase","parentRoute","warningOnce","locationFromContext","parentSegments","_renderMatches","DefaultErrorComponent","useRouteError","lightgrey","preStyles","codeStyles","devInfo","defaultErrorElement","RenderErrorBoundary","errorInfo","RenderedRoute","routeContext","_dataRouterState2","_dataRouterState","renderedMatches","errorIndex","renderFallback","fallbackIndex","needsToRunLoader","shouldRenderHydrateFallback","errorElement","hydrateFallbackElement","getChildren","DataRouterHook","DataRouterStateHook","getDataRouterConsoleError","hookName","useDataRouterContext","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","useRouteId","_state$errors","alreadyWarned","Outlet","Router","basenameProp","locationProp","navigationType","staticProp","navigationContext","locationContext","trailingPathname","updates","_objectWithoutPropertiesLoose","excluded","sourceKeys","defaultMethod","defaultEncType","isHtmlElement","object","isButtonElement","isFormElement","isInputElement","isModifiedEvent","event","shouldProcessLinkClick","_formDataSupportsSubmitter","isFormDataSubmitterSupported","supportedFormEncTypes","getFormEncType","encType","getFormSubmissionInfo","attr","form","prefix","_excluded","_excluded2","_excluded3","REACT_ROUTER_VERSION","createBrowserRouter","parseHydrationData","UNSAFE_mapRouteProperties","deserializeErrors","serialized","val","UNSAFE_ErrorResponseImpl","ErrorConstructor","ViewTransitionContext","FetchersContext","startTransitionImpl","flushSyncImpl","ReactDOM","startTransitionSafe","flushSyncSafe","Deferred","resolve","reason","RouterProvider","fallbackElement","setStateImpl","pendingState","setPendingState","vtContext","setVtContext","renderDfd","setRenderDfd","transition","setTransition","interruption","setInterruption","fetcherData","v7_startTransition","optInStartTransition","setState","isViewTransitionUnavailable","renderPromise","UNSAFE_DataRouterContext","UNSAFE_DataRouterStateContext","DataRoutes","UNSAFE_useRoutesImpl","Link","_ref7","ref","onClick","reloadDocument","unstable_viewTransition","UNSAFE_NavigationContext","absoluteHref","isExternal","targetUrl","internalOnClick","useLinkClickHandler","handleClick","NavLink","_ref8","ariaCurrentProp","classNameProp","styleProp","routerState","isTransitioning","useViewTransitionState","nextLocationPathname","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","Form","_ref9","forwardedRef","onSubmit","submit","useSubmit","useFormAction","submitHandler","submitter","submitMethod","replaceProp","validateClientSideSubmission","fetcherId","getUniqueFetcherId","currentRouteId","UNSAFE_useRouteId","UNSAFE_RouteContext","nextPath","InternalLink","exact","bare","activeClass","Themed","Author","BadgerPower","Icon","BadgerPowered","Copyright","Release","Footer","SiteCopyright","SiteAuthor","Powered","SitePowered","SiteRelease","Repository","Header","SiteRepository","Toggle","isArray","Hero","logo","tagline","overview","underview","SvgOss","OSSLogo","OSS","PeopleWhoShare","short","freedom","Warning","Pre","PageContext","PageProvider","PageConsumer","PageChildren","usePage","idSafe","useToc","addToc","useEffect","scroll","top","left","behavior","scrollDocumentUp","scrollToTop","ScrollToTop","Heading","linkUpIcon","linkUp","expandCodeChildren","isString","isObject","expandChildrenToText","expandChildToText","SubHeading","mdxComponents","pre","PageTitle","titleText","titleCode","hasValue","codify","Intro","introClass","intro","PrevNextLink","prevNextTitleClass","prevTitleClass","nextTitleClass","prevPageClass","nextPageClass","prevPageTitle","nextPageTitle","titleClass","PrevNext","prevNextClass","PrevNextArrows","prevNextArrowsClass","prevNextArrowsText","linkAttrs","link","dir","capitalise","Page","isLayout","prevNext","prevNextArrows","Title","Section","SubSection","TocClick","scrollOffset","TocTitle","TocLink","TocMenu","sectionClass","toc","sections","lastSection","PageToc","SidebarTitle","controls","SidebarMenuSection","menuClass","menu","SidebarMenuItem","Item","SidebarToc","itemClass","UILink","sidebarToc","MenuSection","Fragment","Toc","SidebarMenu","sidebarClick","SidebarDetails","summary","openPath","Menu","isOpen","Details","slice","SidebarSection","revealable","SidebarSections","Sidebar","Sections","Layout","SiteHeader","SiteFooter","SiteSidebar","makeRoute","pages","matchPagesPrefix","matchPageSuffix","matchIndexPage","matchLayout","matchIgnore","matchPlaceholder","defaultLayout","debugRouter","metas","paths2","layoutPaths","layoutPath","layout","blen","badgerIcons","themeConfig","config","icons","customIconLibrary","IconLibrary","addIcons","emptyComponents","MDXContext","useMDXComponents","components","contextComponents","MDXProvider","allComponents","SiteProvider","themeStorageKey","ReactNightAndDayProvider","BadgerReactUITheme","Context","PageRouter","spinnerSize","PropsTable","def","PropRow","defaultValue","description","para","distinct","distinctKey","javascript$1","css$1","html$1","lang$9","scss$1","lang$8","json$1","typescript$1","shellscript","jsx$1","tsx$1","yaml$1","markdown$1","mdx$1"],"mappings":"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AG7D,OAAO,IAAI,OAAO,MAAQY,EAAO,KAAK,GAAG,EAAI,IAAK,GAAG,CACvD,CCpHA,MAAMC,GAAmB,aAUlB,SAASC,GAAcC,EAAMC,EAAMC,EAAM,CAC9C,MAAM9f,EAAQ,MAAQ4f,EAAK,SAAS,EAAE,EAAE,YAAa,EACrD,OAAOE,GAAQD,GAAQ,CAACH,GAAiB,KAAK,OAAO,aAAaG,CAAI,CAAC,EACnE7f,EACAA,EAAQ,GACd,CCfA,MAAM+f,GAAe,KAUd,SAASC,GAAUJ,EAAMC,EAAMC,EAAM,CAC1C,MAAM9f,EAAQ,KAAO,OAAO4f,CAAI,EAChC,OAAOE,GAAQD,GAAQ,CAACE,GAAa,KAAK,OAAO,aAAaF,CAAI,CAAC,EAC/D7f,EACAA,EAAQ,GACd,CCVO,MAAMigB,GAA0B,CACrC,QACA,MACA,SACA,QACA,SACA,QACA,SACA,OACA,OACA,SACA,MACA,SACA,QACA,SACA,OACA,KACA,SACA,QACA,SACA,OACA,KACA,SACA,SACA,QACA,SACA,SACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,QACA,QACA,QACA,SACA,MACA,QACA,SACA,OACA,SACA,SACA,QACA,OACA,OACA,SACA,MACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,SACA,SACA,KACA,SACA,QACA,QACA,SACA,SACA,OACA,QACA,KACA,OACA,QACA,SACA,OACA,MACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,SACA,OACA,OACA,SACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,MACF,EC3GaC,GAAyB,CACpC,KAAM,IACN,MAAO,IACP,KAAM,IACN,MAAO,IACP,OAAQ,IACR,IAAK,IACL,OAAQ,IACR,KAAM,IACN,IAAK,IACL,KAAM,IACN,KAAM,IACN,MAAO,IACP,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,IAAK,IACL,OAAQ,IACR,KAAM,IACN,KAAM,IACN,MAAO,IACP,MAAO,IACP,KAAM,IACN,OAAQ,IACR,MAAO,IACP,KAAM,IACN,KAAM,IACN,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,OAAQ,IACR,KAAM,IACN,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,IAAK,IACL,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,OAAQ,IACR,KAAM,IACN,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,OAAQ,IACR,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,OAAQ,IACR,KAAM,IACN,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,IAAK,IACL,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,OAAQ,IACR,KAAM,IACN,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,OAAQ,IACR,MAAO,IACP,KAAM,IACN,KAAM,IACN,MAAO,IACP,KAAM,IACN,MAAO,IACP,MAAO,IACP,QAAS,IACT,KAAM,IACN,IAAK,IACL,MAAO,IACP,KAAM,IACN,MAAO,IACP,OAAQ,IACR,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,QAAS,IACT,GAAI,IACJ,IAAK,IACL,MAAO,IACP,IAAK,IACL,QAAS,IACT,IAAK,IACL,IAAK,IACL,IAAK,IACL,MAAO,IACP,MAAO,IACP,KAAM,IACN,MAAO,IACP,MAAO,IACP,QAAS,IACT,KAAM,IACN,IAAK,IACL,MAAO,IACP,KAAM,IACN,MAAO,IACP,OAAQ,IACR,GAAI,IACJ,GAAI,IACJ,GAAI,IACJ,QAAS,IACT,GAAI,IACJ,IAAK,IACL,OAAQ,IACR,MAAO,IACP,IAAK,IACL,QAAS,IACT,IAAK,IACL,IAAK,IACL,IAAK,IACL,MAAO,IACP,SAAU,IACV,MAAO,IACP,IAAK,IACL,KAAM,IACN,OAAQ,IACR,MAAO,IACP,MAAO,IACP,MAAO,IACP,MAAO,IACP,OAAQ,IACR,MAAO,IACP,KAAM,IACN,MAAO,IACP,QAAS,IACT,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,MAAO,IACP,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,KAAM,IACN,OAAQ,IACR,KAAM,IACN,MAAO,IACP,MAAO,IACP,MAAO,IACP,KAAM,IACN,MAAO,IACP,GAAI,IACJ,KAAM,IACN,IAAK,IACL,MAAO,IACP,OAAQ,IACR,MAAO,IACP,KAAM,IACN,MAAO,IACP,IAAK,IACL,IAAK,IACL,GAAI,IACJ,IAAK,IACL,IAAK,IACL,IAAK,IACL,OAAQ,IACR,IAAK,IACL,KAAM,IACN,MAAO,IACP,GAAI,IACJ,MAAO,IACP,GAAI,IACJ,GAAI,IACJ,IAAK,IACL,IAAK,IACL,KAAM,IACN,KAAM,IACN,KAAM,IACN,MAAO,IACP,OAAQ,IACR,KAAM,IACN,KAAM,IACN,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,KAAM,IACN,KAAM,IACN,IAAK,IACL,OAAQ,IACR,MAAO,IACP,OAAQ,IACR,MAAO,IACP,KAAM,IACN,IAAK,IACL,GAAI,IACJ,GAAI,IACJ,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,KAAM,IACN,KAAM,IACN,MAAO,IACP,KAAM,IACN,KAAM,IACN,OAAQ,IACR,KAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,MAAO,IACP,MAAO,IACP,MAAO,IACP,MAAO,IACP,MAAO,IACP,MAAO,IACP,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,KAAM,GACR,EC5PaC,GAAY,CACvB,OACA,OACA,SACA,KACA,KACA,MACA,OACA,OACF,ECXMtD,GAAM,CAAE,EAAC,eAOTuD,GAAa,CAAE,EAGrB,IAAIrgB,GAEJ,IAAKA,MAAOmgB,GACNrD,GAAI,KAAKqD,GAAwBngB,EAAG,IACtCqgB,GAAWF,GAAuBngB,EAAG,CAAC,EAAIA,IAI9C,MAAMsgB,GAAuB,cAWtB,SAASC,GAAQV,EAAMC,EAAMC,EAAMjE,EAAW,CACnD,MAAMwD,EAAY,OAAO,aAAaO,CAAI,EAE1C,GAAI/C,GAAI,KAAKuD,GAAYf,CAAS,EAAG,CACnC,MAAMrY,EAAOoZ,GAAWf,CAAS,EAC3Brf,EAAQ,IAAMgH,EAEpB,OACE8Y,GACAG,GAAwB,SAASjZ,CAAI,GACrC,CAACmZ,GAAU,SAASnZ,CAAI,IACvB,CAAC6U,GACCgE,GACCA,IAAS,IACTQ,GAAqB,KAAK,OAAO,aAAaR,CAAI,CAAC,GAEhD7f,EAGFA,EAAQ,GAChB,CAED,MAAO,EACT,CC3BO,SAASugB,GAAYX,EAAMC,EAAMxd,EAAS,CAC/C,IAAIme,EAAUb,GAAcC,EAAMC,EAAMxd,EAAQ,sBAAsB,EAElEoe,EAqBJ,IAnBIpe,EAAQ,oBAAsBA,EAAQ,yBACxCoe,EAAQH,GACNV,EACAC,EACAxd,EAAQ,uBACRA,EAAQ,SACT,IAcAA,EAAQ,uBAAyB,CAACoe,IACnCpe,EAAQ,sBACR,CACA,MAAMqe,EAAUV,GAAUJ,EAAMC,EAAMxd,EAAQ,sBAAsB,EAEhEqe,EAAQ,OAASF,EAAQ,SAC3BA,EAAUE,EAEb,CAED,OAAOD,IACJ,CAACpe,EAAQ,uBAAyBoe,EAAM,OAASD,EAAQ,QACxDC,EACAD,CACN,CCjDO,SAASG,GAAkB3gB,EAAOqC,EAAS,CAChD,OAAO0c,GAAK/e,EAAO,OAAO,OAAO,CAAC,OAAQugB,EAAW,EAAGle,CAAO,CAAC,CAClE,CCdA,MAAMue,GAAmB,6BAGnBC,GAA2B,CAAC,GAAG,EAC/BC,GAAsB,CAAC,IAAK,GAAG,EAgB9B,SAASC,GAAQrM,EAAMsM,EAAIvpB,EAAIwpB,EAAO,CAE3C,OAAOA,EAAM,SAAS,cAClB,KACEN,GACEjM,EAAK,MACL,OAAO,OAAO,CAAA,EAAIuM,EAAM,SAAS,oBAAqB,CACpD,OAAQJ,EACpB,CAAW,CACF,EACD,IACF,OAASnM,EAAK,MAAM,QAAQkM,GAAkBM,CAAM,EAAI,MAK5D,SAASA,EAAOjnB,EAAI,CAClB,OAAO0mB,GACL1mB,EACA,OAAO,OAAO,CAAA,EAAIgnB,EAAM,SAAS,oBAAqB,CACpD,OAAQH,EAChB,CAAO,CACF,CACF,CACH,CChCO,SAASK,GAAQH,EAAIvpB,EAAI2pB,EAAIH,EAAO,CACzC,MACE,MACCA,EAAM,SAAS,aAAe,UAAY,YAC1CA,EAAM,SAAS,aAAe,GAAK,KACpC,OAEJ,CChBO,SAASI,GAAOrhB,EAAOqf,EAAW,CACvC,MAAMza,EAAS,OAAO5E,CAAK,EAE3B,GAAI,OAAOqf,GAAc,SACvB,MAAM,IAAI,UAAU,oBAAoB,EAG1C,IAAI1c,EAAQ,EACRD,EAAQkC,EAAO,QAAQya,CAAS,EAEpC,KAAO3c,IAAU,IACfC,IACAD,EAAQkC,EAAO,QAAQya,EAAW3c,EAAQ2c,EAAU,MAAM,EAG5D,OAAO1c,CACT,CCkCO,SAAS2e,GAAU1O,EAAQvQ,EAAS,CACzC,MAAMuF,EAAWvF,GAAW,CAAE,EAK9B,OAFcuQ,EAAOA,EAAO,OAAS,CAAC,IAAM,GAAK,CAAC,GAAGA,EAAQ,EAAE,EAAIA,GAGhE,MACEhL,EAAS,SAAW,IAAM,IACzB,KACCA,EAAS,UAAY,GAAQ,GAAK,IACtC,EACA,KAAM,CACX,CCpDO,SAAS0Z,GAAU1O,EAAQ,CAChC,OAAOA,EAAO,KAAK,GAAG,EAAE,KAAM,CAChC,CCjBA,MAAMn3C,GAAK,eAaJ,SAAS8lD,GAAWC,EAAO,CAChC,OAAO,OAAOA,GAAU,SACpBA,EAAM,OAAS,OACbC,GAAMD,EAAM,KAAK,EACjB,GACFC,GAAMD,CAAK,CACjB,CAMA,SAASC,GAAMzhB,EAAO,CACpB,OAAOA,EAAM,QAAQvkC,GAAI,EAAE,IAAM,EACnC,CC3BO,MAAMimD,GAAeC,GAAS,CAAC,EACzBC,GAAgBD,GAAS,EAAE,EAGlCE,GAAgB,CAAE,EAOxB,SAASF,GAAS3F,EAAW,CAC3B,OAAO8F,EAgBP,SAASA,EAAQhb,EAAQpE,EAAOqf,EAAmB,CACjD,MAAMJ,EAAW7a,EAASA,EAAO,SAAW+a,GAC5C,IAAIpf,GAAUC,GAAS,GAAKsZ,EACxB6D,EAAO8B,EAASlf,CAAM,EAE1B,GAAI,CAACsf,EACH,KAAOlC,GAAQ0B,GAAW1B,CAAI,GAC5Bpd,GAAUuZ,EACV6D,EAAO8B,EAASlf,CAAM,EAK1B,OAAOod,CACR,CACH,CC/BA,MAAMhD,GAAM,CAAE,EAAC,eAWR,SAASmF,GAASvD,EAAU,CACjC,OAAOqB,EAOP,SAASA,EAAKpL,EAAMhS,EAAOoE,EAAQ,CACjC,OACE+V,GAAI,KAAK4B,EAAU/J,EAAK,OAAO,GAC/B+J,EAAS/J,EAAK,OAAO,EAAEA,EAAMhS,EAAOoE,CAAM,CAE7C,CACH,CCnCO,MAAMmb,GAAUD,GAAS,CAChC,KAAEE,GACA,QAASC,GACT,SAAUA,GACV,GAAAz/C,GACA,GAAAuR,GACA,KAAMkuC,GACR,KAAE3E,GACA,GAAA/kC,GACA,SAAA2pC,GACA,OAAAC,GACF,EAAEzhD,GACA,GAAI0hD,GACJ,GAAIA,GACN,MAAEC,GACA,GAAIC,GACJ,MAAAC,GACA,GAAID,GACJ,MAAAE,GACA,GAAAplD,EACF,CAAC,EAcD,SAAS6kD,GAAwB15C,EAAGi6B,EAAOoE,EAAQ,CACjD,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,EAAO,EAAI,EAC7C,MACE,CAACmd,GACAA,EAAK,OAAS,WACb,EAAEA,EAAK,OAAS,QAAU0B,GAAW1B,EAAK,MAAM,OAAO,CAAC,CAAC,EAE/D,CAcA,SAASrC,GAAK/0C,EAAGi6B,EAAOoE,EAAQ,CAC9B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,CAACmd,GAAQA,EAAK,OAAS,SAChC,CAcA,SAASqC,GAAKz5C,EAAGi6B,EAAOoE,EAAQ,CAC9B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,CAACmd,GAAQA,EAAK,OAAS,SAChC,CAcA,SAASj/C,GAAE6H,EAAGi6B,EAAOoE,EAAQ,CAC3B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,OAAOmd,EACHA,EAAK,OAAS,YACXA,EAAK,UAAY,WAChBA,EAAK,UAAY,WACjBA,EAAK,UAAY,SACjBA,EAAK,UAAY,cACjBA,EAAK,UAAY,WACjBA,EAAK,UAAY,OACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,YACjBA,EAAK,UAAY,cACjBA,EAAK,UAAY,UACjBA,EAAK,UAAY,UACjBA,EAAK,UAAY,QACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,UACjBA,EAAK,UAAY,UACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,QACjBA,EAAK,UAAY,QACjBA,EAAK,UAAY,OACjBA,EAAK,UAAY,MACjBA,EAAK,UAAY,KACjBA,EAAK,UAAY,OACjBA,EAAK,UAAY,WACjBA,EAAK,UAAY,SACjBA,EAAK,UAAY,MACrB,CAAC/Y,GAEC,EACEA,EAAO,OAAS,YACfA,EAAO,UAAY,KAClBA,EAAO,UAAY,SACnBA,EAAO,UAAY,OACnBA,EAAO,UAAY,OACnBA,EAAO,UAAY,OACnBA,EAAO,UAAY,YACnBA,EAAO,UAAY,SAE/B,CAcA,SAASruB,GAAGhQ,EAAGi6B,EAAOoE,EAAQ,CAC5B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,CAACmd,GAASA,EAAK,OAAS,WAAaA,EAAK,UAAY,IAC/D,CAcA,SAAS5rC,GAAGxL,EAAGi6B,EAAOoE,EAAQ,CAC5B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,GACLmd,GACEA,EAAK,OAAS,YACbA,EAAK,UAAY,MAAQA,EAAK,UAAY,MAEjD,CAcA,SAASn9C,GAAG+F,EAAGi6B,EAAOoE,EAAQ,CAC5B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MACE,CAACmd,GACAA,EAAK,OAAS,YACZA,EAAK,UAAY,MAAQA,EAAK,UAAY,KAEjD,CAcA,SAASyC,GAAY75C,EAAGi6B,EAAOoE,EAAQ,CACrC,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MACE,CAACmd,GACAA,EAAK,OAAS,YACZA,EAAK,UAAY,MAAQA,EAAK,UAAY,KAEjD,CAcA,SAASuC,GAAS35C,EAAGi6B,EAAOoE,EAAQ,CAClC,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,CAACmd,GAASA,EAAK,OAAS,WAAaA,EAAK,UAAY,UAC/D,CAcA,SAASwC,GAAO55C,EAAGi6B,EAAOoE,EAAQ,CAChC,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MACE,CAACmd,GACAA,EAAK,OAAS,YACZA,EAAK,UAAY,UAAYA,EAAK,UAAY,WAErD,CAcA,SAAS6C,GAAMj6C,EAAGi6B,EAAOoE,EAAQ,CAC/B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,GACLmd,GACEA,EAAK,OAAS,YACbA,EAAK,UAAY,SAAWA,EAAK,UAAY,SAEpD,CAcA,SAAS0C,GAAM95C,EAAGi6B,EAAOoE,EAAQ,CAC/B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MACE,CAACmd,GACAA,EAAK,OAAS,YACZA,EAAK,UAAY,SAAWA,EAAK,UAAY,QAEpD,CAcA,SAAS4C,GAAMh6C,EAAGi6B,EAAOoE,EAAQ,CAC/B,MAAO,CAAC4a,GAAa5a,EAAQpE,CAAK,CACpC,CAcA,SAASplC,GAAGmL,EAAGi6B,EAAOoE,EAAQ,CAC5B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MAAO,CAACmd,GAASA,EAAK,OAAS,WAAaA,EAAK,UAAY,IAC/D,CAcA,SAAS2C,GAAM/5C,EAAGi6B,EAAOoE,EAAQ,CAC/B,MAAM+Y,EAAO6B,GAAa5a,EAAQpE,CAAK,EACvC,MACE,CAACmd,GACAA,EAAK,OAAS,YACZA,EAAK,UAAY,MAAQA,EAAK,UAAY,KAEjD,CC5VO,MAAM8C,GAAUX,GAAS,CAC9B,KAAAE,GACA,SAAAU,GACA,KAAA7Y,GACF,KAAEyT,GACA,MAAA+E,EACF,CAAC,EAUD,SAAS/E,GAAK9I,EAAM,CAClB,MAAM3K,EAAO2X,GAAahN,EAAM,EAAE,EAClC,MAAO,CAAC3K,GAAQA,EAAK,OAAS,SAChC,CAUA,SAASA,GAAK2K,EAAM,CAElB,MAAMmO,EAAO,IAAI,IAIjB,UAAW3Y,KAASwK,EAAK,SACvB,GACExK,EAAM,OAAS,YACdA,EAAM,UAAY,QAAUA,EAAM,UAAY,SAC/C,CACA,GAAI2Y,EAAK,IAAI3Y,EAAM,OAAO,EAAG,MAAO,GACpC2Y,EAAK,IAAI3Y,EAAM,OAAO,CACvB,CAKH,MAAMA,EAAQwK,EAAK,SAAS,CAAC,EAC7B,MAAO,CAACxK,GAASA,EAAM,OAAS,SAClC,CAUA,SAASgY,GAAKxN,EAAM,CAClB,MAAM3K,EAAO2X,GAAahN,EAAM,GAAI,EAAI,EAExC,MACE,CAAC3K,GACAA,EAAK,OAAS,WACb,EAAEA,EAAK,OAAS,QAAUwX,GAAWxX,EAAK,MAAM,OAAO,CAAC,CAAC,IACzD,EACEA,EAAK,OAAS,YACbA,EAAK,UAAY,QAChBA,EAAK,UAAY,QACjBA,EAAK,UAAY,UACjBA,EAAK,UAAY,SACjBA,EAAK,UAAY,YAG3B,CAiBA,SAAS6Y,GAASlO,EAAMhS,EAAOoE,EAAQ,CACrC,MAAMgc,EAAWlB,GAAc9a,EAAQpE,CAAK,EACtCqH,EAAO2X,GAAahN,EAAM,GAAI,EAAI,EAGxC,OACE5N,GACAgc,GACAA,EAAS,OAAS,WAClBA,EAAS,UAAY,YACrBb,GAAQa,EAAUhc,EAAO,SAAS,QAAQgc,CAAQ,EAAGhc,CAAM,EAEpD,GAGF,GAAQiD,GAAQA,EAAK,OAAS,WAAaA,EAAK,UAAY,MACrE,CAcA,SAASwY,GAAM7N,EAAMhS,EAAOoE,EAAQ,CAClC,MAAMgc,EAAWlB,GAAc9a,EAAQpE,CAAK,EACtCqH,EAAO2X,GAAahN,EAAM,EAAE,EAGlC,OACE5N,GACAgc,GACAA,EAAS,OAAS,YACjBA,EAAS,UAAY,SAAWA,EAAS,UAAY,UACtDb,GAAQa,EAAUhc,EAAO,SAAS,QAAQgc,CAAQ,EAAGhc,CAAM,EAEpD,GAGF,GAAQiD,GAAQA,EAAK,OAAS,WAAaA,EAAK,UAAY,KACrE,CC7HA,MAAMgZ,GAAY,CAEhB,KAAM,CACJ,CAAC;AAAA,WAAgB,MAAM,EAAE,EAAG;AAAA,eAAoB,MAAM,EAAE,CAAC,EACzD,CAAC;AAAA,cAAsB,MAAM,EAAE,EAAG;AAAA,gBAAuB,MAAM,EAAE,CAAC,CACnE,EAED,SAAU,CACR,CAAC;AAAA,SAAc,MAAM,EAAE,EAAG;AAAA,eAAsB,MAAM,EAAE,CAAC,EACzD,CAAC;AAAA,eAAsB,MAAM,EAAE,EAAG;AAAA,eAAsB,MAAM,EAAE,CAAC,CAClE,EAED,OAAQ,CACN,CAAC,KAAK,MAAM,EAAE,EAAG,QAAQ,MAAM,EAAE,CAAC,EAClC,CAAC,OAAO,MAAM,EAAE,EAAG,UAAU,MAAM,EAAE,CAAC,CACvC,EAED,OAAQ,CACN,CAAC,KAAK,MAAM,EAAE,EAAG,QAAQ,MAAM,EAAE,CAAC,EAClC,CAAC,OAAO,MAAM,EAAE,EAAG,UAAU,MAAM,EAAE,CAAC,CACvC,CACH,EAgBO,SAASC,GAAQtO,EAAMhS,EAAOoE,EAAQma,EAAO,CAClD,MAAMnD,EAASmD,EAAM,OACfnB,EAAOhC,EAAO,QAAU,MAAQ,GAAQmD,EAAM,SAAS,iBAC7D,IAAIgC,EACFnF,EAAO,QAAU,MACbmD,EAAM,SAAS,mBACfA,EAAM,SAAS,MAAM,SAASvM,EAAK,QAAQ,aAAa,EAE9D,MAAMwO,EAAQ,CAAE,EAEhB,IAAIC,EAEArF,EAAO,QAAU,QAAUpJ,EAAK,UAAY,QAC9CuM,EAAM,OAASxD,IAGjB,MAAML,EAAagG,GAAoBnC,EAAOvM,EAAK,UAAU,EAEvD2O,EAAUpC,EAAM,IACpBnD,EAAO,QAAU,QAAUpJ,EAAK,UAAY,WAAaA,EAAK,QAAUA,CACzE,EAED,OAAAuM,EAAM,OAASnD,EAQXuF,IAASJ,EAAc,KAEvB7F,GAAc,CAAC0C,GAAQ,CAAC6C,GAAQjO,EAAMhS,EAAOoE,CAAM,KACrDoc,EAAM,KAAK,IAAKxO,EAAK,QAAS0I,EAAa,IAAMA,EAAa,EAAE,EAG9D6F,IACCnF,EAAO,QAAU,OAASmD,EAAM,SAAS,oBAE1CkC,EAAO/F,EAAW,OAAOA,EAAW,OAAS,CAAC,GAE5C,CAAC6D,EAAM,SAAS,kBAChBkC,IAAS,KACRA,GAAQA,IAAS,KAAOA,IAAS,MAElCD,EAAM,KAAK,GAAG,EAGhBA,EAAM,KAAK,GAAG,GAGhBA,EAAM,KAAK,GAAG,GAGhBA,EAAM,KAAKG,CAAO,EAEd,CAACJ,IAAgB,CAACnD,GAAQ,CAACmC,GAAQvN,EAAMhS,EAAOoE,CAAM,IACxDoc,EAAM,KAAK,KAAOxO,EAAK,QAAU,GAAG,EAG/BwO,EAAM,KAAK,EAAE,CACtB,CAOA,SAASE,GAAoBnC,EAAOqC,EAAY,CAE9C,MAAM1Q,EAAS,CAAE,EACjB,IAAIlQ,EAAQ,GAER3C,EAEJ,GAAIujB,GACF,IAAKvjB,KAAOujB,EACV,GAAIA,EAAWvjB,CAAG,IAAM,MAAQujB,EAAWvjB,CAAG,IAAM,OAAW,CAC7D,MAAMC,EAAQujB,GAAmBtC,EAAOlhB,EAAKujB,EAAWvjB,CAAG,CAAC,EACxDC,GAAO4S,EAAO,KAAK5S,CAAK,CAC7B,EAIL,KAAO,EAAE0C,EAAQkQ,EAAO,QAAQ,CAC9B,MAAMuQ,EAAOlC,EAAM,SAAS,gBACxBrO,EAAOlQ,CAAK,EAAE,OAAOkQ,EAAOlQ,CAAK,EAAE,OAAS,CAAC,EAC7C,OAGAA,IAAUkQ,EAAO,OAAS,GAAKuQ,IAAS,KAAOA,IAAS,MAC1DvQ,EAAOlQ,CAAK,GAAK,IAEpB,CAED,OAAOkQ,EAAO,KAAK,EAAE,CACvB,CAQA,SAAS2Q,GAAmBtC,EAAOlhB,EAAKC,EAAO,CAC7C,MAAMyD,EAAOoa,GAAKoD,EAAM,OAAQlhB,CAAG,EAC7B57B,EACJ88C,EAAM,SAAS,kBAAoBA,EAAM,OAAO,QAAU,OAAS,EAAI,EACnEh9C,EAAIg9C,EAAM,SAAS,yBAA2B,EAAI,EACxD,IAAIuC,EAAQvC,EAAM,MAEd9f,EAWJ,GATIsC,EAAK,oBAAsBzD,IAAUyD,EAAK,WAAazD,IAAU,IACnEA,EAAQ,IAEPyD,EAAK,SAAWA,EAAK,qBACrB,OAAOzD,GAAU,UAAYA,IAAUyD,EAAK,WAAazD,IAAU,MAEpEA,EAAQ,EAAQA,GAIhBA,GAAU,MAEVA,IAAU,IACT,OAAOA,GAAU,UAAY,OAAO,MAAMA,CAAK,EAEhD,MAAO,GAGT,MAAMgH,EAAO2Z,GACXld,EAAK,UACL,OAAO,OAAO,CAAA,EAAIwd,EAAM,SAAS,oBAAqB,CAEpD,OAAQ8B,GAAU,KAAK5+C,CAAC,EAAEF,CAAC,CACjC,CAAK,CACF,EA6BD,OAVI+7B,IAAU,KAIdA,EAAQ,MAAM,QAAQA,CAAK,GACtByD,EAAK,eAAiBggB,GAASC,IAAQ1jB,EAAO,CAC7C,QAAS,CAACihB,EAAM,SAAS,wBACjC,CAAO,EACD,OAAOjhB,CAAK,EAEZihB,EAAM,SAAS,yBAA2B,CAACjhB,GAAcgH,GAGzDia,EAAM,SAAS,iBACjB9f,EAASwf,GACP3gB,EACA,OAAO,OAAO,CAAA,EAAIihB,EAAM,SAAS,oBAAqB,CACpD,UAAW,GACX,OAAQ8B,GAAU,SAAS5+C,CAAC,EAAEF,CAAC,CACvC,CAAO,CACF,GAKCk9B,IAAWnB,IAGXihB,EAAM,SAAS,YACfI,GAAOrhB,EAAOwjB,CAAK,EAAInC,GAAOrhB,EAAOihB,EAAM,WAAW,IAEtDuC,EAAQvC,EAAM,aAGhB9f,EACEqiB,EACA7C,GACE3gB,EACA,OAAO,OAAO,CAAA,EAAIihB,EAAM,SAAS,oBAAqB,CAEpD,QAASuC,IAAU,IAAMT,GAAU,OAASA,GAAU,QAAQ5+C,CAAC,EAAEF,CAAC,EAClE,UAAW,EACrB,CAAS,CACF,EACDu/C,GAIGxc,GAAQ7F,GAAS,IAAMA,GAChC,CC/PA,MAAMwiB,GAAmB,CAAC,IAAK,GAAG,EAgB3B,SAASC,GAAKlP,EAAMjsC,EAAGq+B,EAAQma,EAAO,CAE3C,OAAOna,GACLA,EAAO,OAAS,YACfA,EAAO,UAAY,UAAYA,EAAO,UAAY,SACjD4N,EAAK,MACLiM,GACEjM,EAAK,MACL,OAAO,OAAO,CAAA,EAAIuM,EAAM,SAAS,oBAAqB,CACpD,OAAQ0C,EAClB,CAAS,CACF,CACP,CCfO,SAASE,GAAInP,EAAMhS,EAAOoE,EAAQma,EAAO,CAC9C,OAAOA,EAAM,SAAS,mBAClBvM,EAAK,MACLkP,GAAKlP,EAAMhS,EAAOoE,EAAQma,CAAK,CACrC,CCPO,SAASlY,GAAK2L,EAAMsM,EAAIvpB,EAAIwpB,EAAO,CACxC,OAAOA,EAAM,IAAIvM,CAAI,CACvB,CCLO,MAAMoP,GAASxF,GAAO,OAAQ,CACnC,QAAAyF,GACA,QAAAC,GACA,SAAU,CAAC,QAAAjD,GAAS,QAAAI,GAAS,QAAA6B,GAAS,IAAAa,GAAK,KAAA9a,GAAM,KAAA6a,EAAI,CACvD,CAAC,EAUD,SAASG,GAAQrP,EAAM,CACrB,MAAM,IAAI,MAAM,uBAAyBA,EAAO,GAAG,CACrD,CAUA,SAASsP,GAAQC,EAAO,CAEtB,MAAMvP,EAA6BuP,EACnC,MAAM,IAAI,MAAM,gCAAkCvP,EAAK,KAAO,GAAG,CACnE,CC6GA,MAAMwP,GAAe,CAAE,EAGjBC,GAA2B,CAAE,EAG7BtC,GAAgB,CAAE,EAYjB,SAASuC,GAAOC,EAAMhiB,EAAS,CACpC,MAAMiiB,EAAsBJ,GACtBV,EAAQc,EAAS,OAAS,IAC1BC,EAAcf,IAAU,IAAM,IAAM,IAE1C,GAAIA,IAAU,KAAOA,IAAU,IAC7B,MAAM,IAAI,MAAM,kBAAoBA,EAAQ,yBAAyB,EAgCvE,MA5Bc,CACZ,IAAAjF,GACA,IAAAa,GACA,SAAU,CACR,iBAAkBkF,EAAS,kBAAoB,GAC/C,iBAAkBA,EAAS,kBAAoB,GAC/C,yBAA0BA,EAAS,0BAA4B,GAC/D,WAAYA,EAAS,YAAc,GACnC,eAAgBA,EAAS,gBAAkB,GAC3C,gBAAiBA,EAAS,iBAAmB,GAC7C,aAAcA,EAAS,cAAgB,GACvC,aAAcA,EAAS,cAAgB,GACvC,cAAeA,EAAS,eAAiB,GACzC,yBAA0BA,EAAS,0BAA4B,GAC/D,iBAAkBA,EAAS,kBAAoB,GAC/C,wBAAyBA,EAAS,yBAA2B,GAC7D,mBAAoBA,EAAS,oBAAsB,GACnD,MAAOA,EAAS,OAASlJ,GACzB,oBACEkJ,EAAS,qBAAuBH,GAClC,iBAAkBG,EAAS,kBAAoB,GAC/C,mBAAoBA,EAAS,oBAAsB,EACpD,EACD,OAAQA,EAAS,QAAU,MAAQ7G,GAAMD,GACzC,MAAAgG,EACA,YAAAe,CACD,EAEY,IACX,MAAM,QAAQF,CAAI,EAAI,CAAC,KAAM,OAAQ,SAAUA,CAAI,EAAIA,EACvD,OACA,MACD,CACH,CAgBA,SAAS9F,GAAI7J,EAAMhS,EAAOoE,EAAQ,CAChC,OAAOgd,GAAOpP,EAAMhS,EAAOoE,EAAQ,IAAI,CACzC,CAWO,SAASsY,GAAItY,EAAQ,CAE1B,MAAMuE,EAAU,CAAE,EACZ9O,EAAYuK,GAAUA,EAAO,UAAa+a,GAChD,IAAInf,EAAQ,GAEZ,KAAO,EAAEA,EAAQnG,EAAS,QACxB8O,EAAQ3I,CAAK,EAAI,KAAK,IAAInG,EAASmG,CAAK,EAAGA,EAAOoE,CAAM,EAG1D,OAAOuE,EAAQ,KAAK,EAAE,CACxB,CCxOA,SAASmZ,GAAQrgD,EAAG,CAClB,OAAO,MAAM,QAAQA,CAAC,EAAIA,EAAI,CAACA,CAAC,CAClC,CACA,SAASsgD,GAAW7E,EAAM8E,EAAiB,GAAO,OAChD,MAAMxB,EAAQtD,EAAK,MAAM,UAAU,EACnC,IAAIld,EAAQ,EACZ,MAAMiiB,EAAQ,CAAA,EACd,QAAS,EAAI,EAAG,EAAIzB,EAAM,OAAQ,GAAK,EAAG,CACxC,MAAM0B,EAAOF,EAAiBxB,EAAM,CAAC,GAAKA,EAAM,EAAI,CAAC,GAAK,IAAMA,EAAM,CAAC,EACvEyB,EAAM,KAAK,CAACC,EAAMliB,CAAK,CAAC,EACxBA,GAASwgB,EAAM,CAAC,EAAE,OAClBxgB,KAAS1f,EAAAkgC,EAAM,EAAI,CAAC,IAAX,YAAAlgC,EAAc,SAAU,CAClC,CACD,OAAO2hC,CACT,CACA,SAASE,GAAYC,EAAM,CACzB,MAAO,CAACA,GAAQ,CAAC,YAAa,MAAO,OAAQ,OAAO,EAAE,SAASA,CAAI,CACrE,CACA,SAASC,GAAcD,EAAM,CAC3B,OAAOA,IAAS,QAAUD,GAAYC,CAAI,CAC5C,CACA,SAASE,GAAYpK,EAAO,CAC1B,OAAOA,IAAU,MACnB,CACA,SAASqK,GAAerK,EAAO,CAC7B,OAAOoK,GAAYpK,CAAK,CAC1B,CACA,SAASsK,GAAexQ,EAAMyQ,EAAW,OACvC,GAAI,CAACA,EACH,OAAOzQ,EACTA,EAAK,aAALA,EAAK,WAAe,KACpB1xB,EAAA0xB,EAAK,YAAW,QAAhB1xB,EAAgB,MAAU,IACtB,OAAO0xB,EAAK,WAAW,OAAU,WACnCA,EAAK,WAAW,MAAQA,EAAK,WAAW,MAAM,MAAM,MAAM,GACvD,MAAM,QAAQA,EAAK,WAAW,KAAK,IACtCA,EAAK,WAAW,MAAQ,IAC1B,MAAM0Q,EAAU,MAAM,QAAQD,CAAS,EAAIA,EAAYA,EAAU,MAAM,MAAM,EAC7E,UAAWvsD,KAAKwsD,EACVxsD,GAAK,CAAC87C,EAAK,WAAW,MAAM,SAAS97C,CAAC,GACxC87C,EAAK,WAAW,MAAM,KAAK97C,CAAC,EAEhC,OAAO87C,CACT,CACA,SAAS2Q,GAAW7Z,EAAO8Z,EAAS,CAClC,IAAIC,EAAa,EACjB,MAAMC,EAAS,CAAA,EACf,UAAW/iB,KAAU6iB,EACf7iB,EAAS8iB,GACXC,EAAO,KAAK,CACV,GAAGha,EACH,QAASA,EAAM,QAAQ,MAAM+Z,EAAY9iB,CAAM,EAC/C,OAAQ+I,EAAM,OAAS+Z,CAC/B,CAAO,EAEHA,EAAa9iB,EAEf,OAAI8iB,EAAa/Z,EAAM,QAAQ,QAC7Bga,EAAO,KAAK,CACV,GAAGha,EACH,QAASA,EAAM,QAAQ,MAAM+Z,CAAU,EACvC,OAAQ/Z,EAAM,OAAS+Z,CAC7B,CAAK,EAEIC,CACT,CACA,SAASC,GAAYD,EAAQE,EAAa,CACxC,MAAMC,EAAS,MAAM,KAAKD,aAAuB,IAAMA,EAAc,IAAI,IAAIA,CAAW,CAAC,EAAE,KAAK,CAAC3wD,EAAG8L,IAAM9L,EAAI8L,CAAC,EAC/G,OAAK8kD,EAAO,OAELH,EAAO,IAAKZ,GACVA,EAAK,QAASpZ,GAAU,CAC7B,MAAMoa,EAAqBD,EAAO,OAAQ,GAAMna,EAAM,OAAS,GAAK,EAAIA,EAAM,OAASA,EAAM,QAAQ,MAAM,EAAE,IAAK,GAAM,EAAIA,EAAM,MAAM,EAAE,KAAK,CAACz2C,EAAG8L,IAAM9L,EAAI8L,CAAC,EAC9J,OAAK+kD,EAAmB,OAEjBP,GAAW7Z,EAAOoa,CAAkB,EADlCpa,CAEf,CAAK,CACF,EARQga,CASX,CACA,eAAeK,GAAgBjlD,EAAG,CAChC,OAAO,QAAQ,QAAQ,OAAOA,GAAM,WAAaA,EAAG,EAAGA,CAAC,EAAE,KAAM3M,GAAMA,EAAE,SAAWA,CAAC,CACtF,CACA,SAAS6xD,GAAyBlL,EAAOvY,EAAS,CAChD,MAAM0jB,EAAe,OAAOnL,GAAU,SAAW,CAAE,EAAG,CAAE,GAAGA,EAAM,mBAC3DoL,EAAY,OAAOpL,GAAU,SAAWA,EAAQA,EAAM,KAC5D,SAAW,CAAC7a,EAAKC,CAAK,IAAK,OAAO,SAAQqC,GAAA,YAAAA,EAAS,oBAAqB,CAAA,CAAE,EACpE,OAAOrC,GAAU,SACnB+lB,EAAahmB,CAAG,EAAIC,EACbD,IAAQimB,GACf,OAAO,OAAOD,EAAc/lB,CAAK,EAErC,OAAO+lB,CACT,CACA,SAASE,GAAuB9c,EAAO4c,EAAc,CACnD,OAAK5c,KAEE4c,GAAA,YAAAA,EAAe5c,GAAA,YAAAA,EAAO,iBAAkBA,EACjD,CACA,SAAS+c,GAAoB1a,EAAO,CAClC,MAAM2a,EAAS,CAAA,EACf,OAAI3a,EAAM,QACR2a,EAAO,MAAQ3a,EAAM,OACnBA,EAAM,UACR2a,EAAO,kBAAkB,EAAI3a,EAAM,SACjCA,EAAM,YACJA,EAAM,UAAYlD,GAAU,SAC9B6d,EAAO,YAAY,EAAI,UACrB3a,EAAM,UAAYlD,GAAU,OAC9B6d,EAAO,aAAa,EAAI,QACtB3a,EAAM,UAAYlD,GAAU,YAC9B6d,EAAO,iBAAiB,EAAI,cAEzBA,CACT,CACA,SAASC,GAAoB5a,EAAO,CAClC,OAAI,OAAOA,GAAU,SACZA,EACF,OAAO,QAAQA,CAAK,EAAE,IAAI,CAAC,CAACzL,EAAKC,CAAK,IAAM,GAAGD,CAAG,IAAIC,CAAK,EAAE,EAAE,KAAK,GAAG,CAChF,CACA,SAASqmB,GAAwBzG,EAAM,CACrC,MAAM+E,EAAQF,GAAW7E,EAAM,EAAI,EAAE,IAAI,CAAC,CAACgF,CAAI,IAAMA,CAAI,EACzD,SAAS0B,EAAW5jB,EAAO,CACzB,GAAIA,IAAUkd,EAAK,OACjB,MAAO,CACL,KAAM+E,EAAM,OAAS,EACrB,UAAWA,EAAMA,EAAM,OAAS,CAAC,EAAE,MAC3C,EAEI,IAAItF,EAAY3c,EACZkiB,EAAO,EACX,UAAW5V,KAAY2V,EAAO,CAC5B,GAAItF,EAAYrQ,EAAS,OACvB,MACFqQ,GAAarQ,EAAS,OACtB4V,GACD,CACD,MAAO,CAAE,KAAAA,EAAM,UAAAvF,EAChB,CACD,SAASkH,EAAW3B,EAAMvF,EAAW,CACnC,IAAI3c,EAAQ,EACZ,QAASv/B,EAAI,EAAGA,EAAIyhD,EAAMzhD,IACxBu/B,GAASiiB,EAAMxhD,CAAC,EAAE,OACpB,OAAAu/B,GAAS2c,EACF3c,CACR,CACD,MAAO,CACL,MAAAiiB,EACA,WAAA2B,EACA,WAAAC,CACJ,CACA,CAEA,MAAMlmB,WAAmB,KAAM,CAC7B,YAAY/D,EAAS,CACnB,MAAMA,CAAO,EACb,KAAK,KAAO,YACb,CACH,CAEA,MAAMkqB,GAAmC,IAAI,QAC7C,SAASC,GAAyBC,EAAMzF,EAAO,CAC7CuF,GAAiB,IAAIE,EAAMzF,CAAK,CAClC,CACA,SAAS0F,GAA2BD,EAAM,CACxC,OAAOF,GAAiB,IAAIE,CAAI,CAClC,CACA,MAAME,EAAa,CAwBjB,eAAeC,EAAM,CApBrB5mB,EAAA,eAAU,CAAA,GACVA,EAAA,aAoBE,GAAI4mB,EAAK,SAAW,EAAG,CACrB,KAAM,CAACC,EAAWhC,CAAI,EAAI+B,EAC1B,KAAK,KAAO/B,EACZ,KAAK,QAAUgC,CACrB,KAAW,CACL,KAAM,CAAC/T,EAAO+R,EAAMlK,CAAK,EAAIiM,EAC7B,KAAK,KAAO/B,EACZ,KAAK,QAAU,CAAE,CAAClK,CAAK,EAAG7H,CAAK,CAChC,CACF,CA5BD,IAAI,QAAS,CACX,OAAO,OAAO,KAAK,KAAK,OAAO,CAChC,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,OAAO,CAAC,CACrB,CACD,IAAI,QAAS,CACX,OAAO,KAAK,QAAQ,KAAK,KAAK,CAC/B,CAID,OAAO,QAAQ+R,EAAMiC,EAAQ,CAC3B,OAAO,IAAIH,GACT,OAAO,YAAYpC,GAAQuC,CAAM,EAAE,IAAKnM,GAAU,CAACA,EAAOO,EAAO,CAAC,CAAC,EACnE2J,CACN,CACG,CAgBD,iBAAiBlK,EAAQ,KAAK,MAAO,CACnC,OAAO,KAAK,QAAQA,CAAK,CAC1B,CAID,IAAI,QAAS,CACX,OAAOoM,GAAU,KAAK,QAAQ,KAAK,KAAK,CAAC,CAC1C,CACD,UAAUpM,EAAQ,KAAK,MAAO,CAC5B,OAAOoM,GAAU,KAAK,QAAQpM,CAAK,CAAC,CACrC,CACD,QAAS,CACP,MAAO,CACL,KAAM,KAAK,KACX,MAAO,KAAK,MACZ,OAAQ,KAAK,OACb,OAAQ,KAAK,MACnB,CACG,CACH,CACA,SAASoM,GAAUjU,EAAO,CACxB,MAAMhL,EAAS,CAAA,EACTkf,EAA0B,IAAI,IACpC,SAASC,EAAUC,EAAQ,OACzB,GAAIF,EAAQ,IAAIE,CAAM,EACpB,OACFF,EAAQ,IAAIE,CAAM,EAClB,MAAMngB,GAAOhkB,EAAAmkC,GAAA,YAAAA,EAAQ,iBAAR,YAAAnkC,EAAwB,UACjCgkB,GACFe,EAAO,KAAKf,CAAI,EACdmgB,EAAO,QACTD,EAAUC,EAAO,MAAM,CAC1B,CACD,OAAAD,EAAUnU,CAAK,EACRhL,CACT,CACA,SAASqf,GAAgBnG,EAAOrG,EAAO,CACrC,GAAI,EAAEqG,aAAiB2F,IACrB,MAAM,IAAIvmB,GAAW,uBAAuB,EAC9C,OAAO4gB,EAAM,iBAAiBrG,CAAK,CACrC,CAEA,SAASyM,IAAyB,CAChC,MAAMC,EAAsB,IAAI,QAChC,SAASC,EAAWC,EAAO,CACzB,GAAI,CAACF,EAAI,IAAIE,EAAM,IAAI,EAAG,CACxB,IAAIC,EAAoB,SAAS7mD,EAAG,CAClC,GAAI,OAAOA,GAAM,SAAU,CACzB,GAAIA,EAAI,GAAKA,EAAI4mD,EAAM,OAAO,OAC5B,MAAM,IAAInnB,GAAW,8BAA8Bz/B,CAAC,kBAAkB4mD,EAAM,OAAO,MAAM,EAAE,EAC7F,MAAO,CACL,GAAGE,EAAU,WAAW9mD,CAAC,EACzB,OAAQA,CACpB,CACA,KAAe,CACL,MAAMgkD,EAAO8C,EAAU,MAAM9mD,EAAE,IAAI,EACnC,GAAIgkD,IAAS,OACX,MAAM,IAAIvkB,GAAW,+BAA+B,KAAK,UAAUz/B,CAAC,CAAC,mBAAmB8mD,EAAU,MAAM,MAAM,EAAE,EAClH,GAAI9mD,EAAE,UAAY,GAAKA,EAAE,UAAYgkD,EAAK,OACxC,MAAM,IAAIvkB,GAAW,+BAA+B,KAAK,UAAUz/B,CAAC,CAAC,UAAUA,EAAE,IAAI,YAAYgkD,EAAK,MAAM,EAAE,EAChH,MAAO,CACL,GAAGhkD,EACH,OAAQ8mD,EAAU,WAAW9mD,EAAE,KAAMA,EAAE,SAAS,CAC5D,CACS,CACT,EACM,MAAM8mD,EAAYrB,GAAwBmB,EAAM,MAAM,EAChDG,GAAeH,EAAM,QAAQ,aAAe,IAAI,IAAK1uD,IAAO,CAChE,GAAGA,EACH,MAAO2uD,EAAkB3uD,EAAE,KAAK,EAChC,IAAK2uD,EAAkB3uD,EAAE,GAAG,CAC7B,EAAC,EACF8uD,GAAoBD,CAAW,EAC/BL,EAAI,IAAIE,EAAM,KAAM,CAClB,YAAAG,EACA,UAAAD,EACA,OAAQF,EAAM,MACtB,CAAO,CACF,CACD,OAAOF,EAAI,IAAIE,EAAM,IAAI,CAC1B,CACD,MAAO,CACL,KAAM,oBACN,OAAOhC,EAAQ,OACb,GAAI,GAACxiC,EAAA,KAAK,QAAQ,cAAb,MAAAA,EAA0B,QAC7B,OAEF,MAAM0iC,EADM6B,EAAW,IAAI,EACH,YAAY,QAASzuD,GAAM,CAACA,EAAE,MAAM,OAAQA,EAAE,IAAI,MAAM,CAAC,EAEjF,OADiB2sD,GAAYD,EAAQE,CAAW,CAEjD,EACD,KAAKmC,EAAQ,OACX,GAAI,GAAC7kC,EAAA,KAAK,QAAQ,cAAb,MAAAA,EAA0B,QAC7B,OACF,MAAM8kC,EAAMP,EAAW,IAAI,EACrB5C,EAAQ,MAAM,KAAKkD,EAAO,QAAQ,EAAE,OAAQ1kD,GAAMA,EAAE,OAAS,WAAaA,EAAE,UAAY,MAAM,EACpG,GAAIwhD,EAAM,SAAWmD,EAAI,UAAU,MAAM,OACvC,MAAM,IAAIznB,GAAW,oCAAoCskB,EAAM,MAAM,uDAAuDmD,EAAI,UAAU,MAAM,MAAM,iCAAiC,EACzL,SAASC,EAAiBnD,EAAMoD,EAAOllB,EAAKmlB,EAAY,CACtD,MAAMC,EAASvD,EAAMC,CAAI,EACzB,IAAIhB,EAAO,GACPuE,EAAa,GACb3N,EAAW,GAOf,GANIwN,IAAU,IACZG,EAAa,GACXrlB,IAAQ,IACV0X,EAAW,GACT1X,IAAQ,OAAO,oBACjB0X,EAAW0N,EAAO,SAAS,QACzBC,IAAe,IAAM3N,IAAa,GACpC,QAASr3C,EAAI,EAAGA,EAAI+kD,EAAO,SAAS,OAAQ/kD,IAC1CygD,GAAQtC,GAAU4G,EAAO,SAAS/kD,CAAC,CAAC,EAChCglD,IAAe,IAAMvE,EAAK,SAAWoE,IACvCG,EAAahlD,EAAI,GACfq3C,IAAa,IAAMoJ,EAAK,SAAW9gB,IACrC0X,EAAWr3C,EAAI,GAGrB,GAAIglD,IAAe,GACjB,MAAM,IAAI9nB,GAAW,6CAA6C,KAAK,UAAU4nB,EAAW,KAAK,CAAC,EAAE,EACtG,GAAIzN,IAAa,GACf,MAAM,IAAIna,GAAW,2CAA2C,KAAK,UAAU4nB,EAAW,GAAG,CAAC,EAAE,EAClG,MAAM1rB,EAAW2rB,EAAO,SAAS,MAAMC,EAAY3N,CAAQ,EAC3D,GAAI,CAACyN,EAAW,YAAc1rB,EAAS,SAAW2rB,EAAO,SAAS,OAChEE,EAAgBF,EAAQD,EAAY,MAAM,UACjC,CAACA,EAAW,YAAc1rB,EAAS,SAAW,GAAKA,EAAS,CAAC,EAAE,OAAS,UACjF6rB,EAAgB7rB,EAAS,CAAC,EAAG0rB,EAAY,OAAO,MAC3C,CACL,MAAMI,EAAU,CACd,KAAM,UACN,QAAS,OACT,WAAY,CAAE,EACd,SAAA9rB,CACZ,EACU6rB,EAAgBC,EAASJ,EAAY,SAAS,EAC9CC,EAAO,SAAS,OAAOC,EAAY5rB,EAAS,OAAQ8rB,CAAO,CAC5D,CACF,CACD,SAASC,EAAU1D,EAAMqD,EAAY,CACnCtD,EAAMC,CAAI,EAAIwD,EAAgBzD,EAAMC,CAAI,EAAGqD,EAAY,MAAM,CAC9D,CACD,SAASG,EAAgBxjC,EAAIqjC,EAAYprB,EAAM,OAC7C,MAAMymB,EAAa2E,EAAW,YAAc,GACtCM,EAAYN,EAAW,YAAe9kD,GAAMA,GAClD,OAAAyhB,EAAG,QAAUqjC,EAAW,SAAW,OACnCrjC,EAAG,WAAa,CACd,GAAGA,EAAG,WACN,GAAG0+B,EACH,MAAO1+B,EAAG,WAAW,KAC/B,GACY5B,EAAAilC,EAAW,aAAX,MAAAjlC,EAAuB,OACzBkiC,GAAetgC,EAAIqjC,EAAW,WAAW,KAAK,EAChDrjC,EAAK2jC,EAAU3jC,EAAIiY,CAAI,GAAKjY,EACrBA,CACR,CACD,MAAM4jC,EAAc,CAAA,EACd7C,EAASmC,EAAI,YAAY,KAAK,CAAC/yD,EAAG8L,IAAMA,EAAE,MAAM,OAAS9L,EAAE,MAAM,MAAM,EAC7E,UAAWkzD,KAActC,EAAQ,CAC/B,KAAM,CAAE,MAAAqC,EAAO,IAAAllB,CAAK,EAAGmlB,EACvB,GAAID,EAAM,OAASllB,EAAI,KACrBilB,EAAiBC,EAAM,KAAMA,EAAM,UAAWllB,EAAI,UAAWmlB,CAAU,UAC9DD,EAAM,KAAOllB,EAAI,KAAM,CAChCilB,EAAiBC,EAAM,KAAMA,EAAM,UAAW,OAAO,kBAAmBC,CAAU,EAClF,QAAS9kD,EAAI6kD,EAAM,KAAO,EAAG7kD,EAAI2/B,EAAI,KAAM3/B,IACzCqlD,EAAY,QAAQ,IAAMF,EAAUnlD,EAAG8kD,CAAU,CAAC,EACpDF,EAAiBjlB,EAAI,KAAM,EAAGA,EAAI,UAAWmlB,CAAU,CACxD,CACF,CACDO,EAAY,QAASrlD,GAAMA,EAAG,CAAA,CAC/B,CACL,CACA,CACA,SAASykD,GAAoBa,EAAO,CAClC,QAAStlD,EAAI,EAAGA,EAAIslD,EAAM,OAAQtlD,IAAK,CACrC,MAAMulD,EAAMD,EAAMtlD,CAAC,EACnB,GAAIulD,EAAI,MAAM,OAASA,EAAI,IAAI,OAC7B,MAAM,IAAIroB,GAAW,6BAA6B,KAAK,UAAUqoB,EAAI,KAAK,CAAC,MAAM,KAAK,UAAUA,EAAI,GAAG,CAAC,EAAE,EAC5G,QAAS9jD,EAAIzB,EAAI,EAAGyB,EAAI6jD,EAAM,OAAQ7jD,IAAK,CACzC,MAAM+jD,EAAMF,EAAM7jD,CAAC,EACbgkD,EAAmBF,EAAI,MAAM,OAASC,EAAI,MAAM,QAAUA,EAAI,MAAM,OAASD,EAAI,IAAI,OACrFG,EAAiBH,EAAI,MAAM,OAASC,EAAI,IAAI,QAAUA,EAAI,IAAI,OAASD,EAAI,IAAI,OAC/EI,EAAmBH,EAAI,MAAM,OAASD,EAAI,MAAM,QAAUA,EAAI,MAAM,OAASC,EAAI,IAAI,OACrFI,EAAiBJ,EAAI,MAAM,OAASD,EAAI,IAAI,QAAUA,EAAI,IAAI,OAASC,EAAI,IAAI,OACrF,GAAIC,GAAoBC,GAAkBC,GAAoBC,EAAgB,CAG5E,GAFIF,GAAkBA,GAElBC,GAAoBC,EACtB,SACF,MAAM,IAAI1oB,GAAW,eAAe,KAAK,UAAUqoB,EAAI,KAAK,CAAC,QAAQ,KAAK,UAAUC,EAAI,KAAK,CAAC,aAAa,CAC5G,CACF,CACF,CACH,CACA,SAASrH,GAAU18B,EAAI,CACrB,OAAIA,EAAG,OAAS,OACPA,EAAG,MACRA,EAAG,OAAS,UACPA,EAAG,SAAS,IAAI08B,EAAS,EAAE,KAAK,EAAE,EACpC,EACT,CAEA,MAAM0H,GAAsB,CACV3B,GAAwB,CAC1C,EACA,SAAS4B,GAAgB5mB,EAAS,CAChC,MAAO,CACL,GAAGA,EAAQ,cAAgB,CAAE,EAC7B,GAAG2mB,EACP,CACA,CAGA,IAAIE,GAAc,CAChB,QACA,MACA,QACA,SACA,OACA,UACA,OACA,QACA,cACA,YACA,cACA,eACA,aACA,gBACA,aACA,aACF,EAGIvB,GAAc,CAChB,EAAG,OACH,EAAG,MACH,EAAG,SACH,EAAG,YACH,EAAG,UACH,EAAG,eACL,EAGA,SAASwB,GAAanpB,EAAOopB,EAAU,CACrC,MAAMC,EAAarpB,EAAM,QAAQ,QAASopB,CAAQ,EAClD,GAAIC,IAAe,GAAI,CACrB,MAAMC,EAAYtpB,EAAM,QAAQ,IAAKqpB,CAAU,EAC/C,MAAO,CACL,SAAUrpB,EAAM,UAAUqpB,EAAa,EAAGC,CAAS,EAAE,MAAM,GAAG,EAC9D,cAAeD,EACf,SAAUC,EAAY,CAC5B,CACG,CACD,MAAO,CACL,SAAUtpB,EAAM,MACpB,CACA,CACA,SAASupB,GAAWC,EAAU9mB,EAAO,CACnC,IAAID,EAAS,EACb,MAAMgnB,EAAYD,EAAS9mB,EAAQD,GAAQ,EAC3C,IAAI0G,EACJ,GAAIsgB,IAAc,IAAK,CACrB,MAAMC,EAAM,CACVF,EAAS9mB,EAAQD,GAAQ,EACzB+mB,EAAS9mB,EAAQD,GAAQ,EACzB+mB,EAAS9mB,EAAQD,CAAM,CAC7B,EAAM,IAAKt+B,GAAM,OAAO,SAASA,CAAC,CAAC,EAC3BulD,EAAI,SAAW,GAAK,CAACA,EAAI,KAAMvlD,GAAM,OAAO,MAAMA,CAAC,CAAC,IACtDglC,EAAQ,CACN,KAAM,MACN,IAAAugB,CACR,EAEA,SAAaD,IAAc,IAAK,CAC5B,MAAME,EAAa,OAAO,SAASH,EAAS9mB,EAAQD,CAAM,CAAC,EACtD,OAAO,MAAMknB,CAAU,IAC1BxgB,EAAQ,CAAE,KAAM,QAAS,MAAO,OAAOwgB,CAAU,GAEpD,CACD,MAAO,CAAClnB,EAAQ0G,CAAK,CACvB,CACA,SAASygB,GAAcJ,EAAU,CAC/B,MAAMK,EAAW,CAAA,EACjB,QAAS1mD,EAAI,EAAGA,EAAIqmD,EAAS,OAAQrmD,IAAK,CACxC,MAAMy8C,EAAO4J,EAASrmD,CAAC,EACjB2mD,EAAU,OAAO,SAASlK,CAAI,EACpC,GAAI,QAAO,MAAMkK,CAAO,EAExB,GAAIA,IAAY,EACdD,EAAS,KAAK,CAAE,KAAM,UAAY,CAAA,UACzBC,GAAW,EACDnC,GAAYmC,CAAO,GAEpCD,EAAS,KAAK,CACZ,KAAM,gBACN,MAAOlC,GAAYmC,CAAO,CACpC,CAAS,UAEMA,GAAW,GAAI,CACxB,MAAM7B,EAAaN,GAAYmC,EAAU,EAAE,EACvC7B,GACF4B,EAAS,KAAK,CACZ,KAAM,kBACN,MAAO5B,CACjB,CAAS,CAET,SAAe6B,GAAW,GACpBD,EAAS,KAAK,CACZ,KAAM,qBACN,MAAO,CAAE,KAAM,QAAS,KAAMX,GAAYY,EAAU,EAAE,CAAG,CACjE,CAAO,UACQA,IAAY,GAAI,CACzB,KAAM,CAACrnB,EAAQ0G,CAAK,EAAIogB,GAAWC,EAAUrmD,CAAC,EAC1CgmC,GACF0gB,EAAS,KAAK,CACZ,KAAM,qBACN,MAAO1gB,CACjB,CAAS,EAEHhmC,GAAKs/B,CACX,SAAeqnB,IAAY,GACrBD,EAAS,KAAK,CACZ,KAAM,sBACd,CAAO,UACQC,GAAW,GACpBD,EAAS,KAAK,CACZ,KAAM,qBACN,MAAO,CAAE,KAAM,QAAS,KAAMX,GAAYY,EAAU,EAAE,CAAG,CACjE,CAAO,UACQA,IAAY,GAAI,CACzB,KAAM,CAACrnB,EAAQ0G,CAAK,EAAIogB,GAAWC,EAAUrmD,CAAC,EAC1CgmC,GACF0gB,EAAS,KAAK,CACZ,KAAM,qBACN,MAAO1gB,CACjB,CAAS,EAEHhmC,GAAKs/B,CACX,MAAeqnB,IAAY,GACrBD,EAAS,KAAK,CACZ,KAAM,sBACd,CAAO,EACQC,GAAW,IAAMA,GAAW,GACrCD,EAAS,KAAK,CACZ,KAAM,qBACN,MAAO,CAAE,KAAM,QAAS,KAAMX,GAAYY,EAAU,GAAK,CAAC,CAAG,CACrE,CAAO,EACQA,GAAW,KAAOA,GAAW,KACtCD,EAAS,KAAK,CACZ,KAAM,qBACN,MAAO,CAAE,KAAM,QAAS,KAAMX,GAAYY,EAAU,IAAM,CAAC,CAAG,CACtE,CAAO,CAEJ,CACD,OAAOD,CACT,CACA,SAASE,IAA2B,CAClC,IAAI7hB,EAAa,KACbC,EAAa,KACb6hB,EAA+B,IAAI,IACvC,MAAO,CACL,MAAMhqB,EAAO,CACX,MAAMwlB,EAAS,CAAA,EACf,IAAI4D,EAAW,EACf,EAAG,CACD,MAAMa,EAAad,GAAanpB,EAAOopB,CAAQ,EACzCxF,EAAOqG,EAAW,SAAWjqB,EAAM,UAAUopB,EAAUa,EAAW,aAAa,EAAIjqB,EAAM,UAAUopB,CAAQ,EASjH,GARIxF,EAAK,OAAS,GAChB4B,EAAO,KAAK,CACV,MAAO5B,EACP,WAAA1b,EACA,WAAAC,EACA,YAAa,IAAI,IAAI6hB,CAAY,CAC7C,CAAW,EAECC,EAAW,SAAU,CACvB,MAAMJ,EAAWD,GAAcK,EAAW,QAAQ,EAClD,UAAWC,KAAcL,EACnBK,EAAW,OAAS,YACtBhiB,EAAa,KACbC,EAAa,KACb6hB,EAAa,MAAK,GACTE,EAAW,OAAS,uBAC7BhiB,EAAa,KACJgiB,EAAW,OAAS,uBAC7B/hB,EAAa,KACJ+hB,EAAW,OAAS,mBAC7BF,EAAa,OAAOE,EAAW,KAAK,EAGxC,UAAWA,KAAcL,EACnBK,EAAW,OAAS,qBACtBhiB,EAAagiB,EAAW,MACfA,EAAW,OAAS,qBAC7B/hB,EAAa+hB,EAAW,MACfA,EAAW,OAAS,iBAC7BF,EAAa,IAAIE,EAAW,KAAK,CAGtC,CACDd,EAAWa,EAAW,QAC9B,OAAeb,EAAWppB,EAAM,QAC1B,OAAOwlB,CACR,CACL,CACA,CAGA,IAAI2E,GAAwB,CAC1B,MAAO,UACP,IAAK,UACL,MAAO,UACP,OAAQ,UACR,KAAM,UACN,QAAS,UACT,KAAM,UACN,MAAO,UACP,YAAa,UACb,UAAW,UACX,YAAa,UACb,aAAc,UACd,WAAY,UACZ,cAAe,UACf,WAAY,UACZ,YAAa,SACf,EACA,SAASC,GAAmBC,EAAiBF,GAAuB,CAClE,SAASG,EAAWtjB,EAAM,CACxB,OAAOqjB,EAAerjB,CAAI,CAC3B,CACD,SAASujB,EAASb,EAAK,CACrB,MAAO,IAAIA,EAAI,IAAKvlD,GAAM,KAAK,IAAI,EAAG,KAAK,IAAIA,EAAG,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAChG,CACD,IAAIqmD,EACJ,SAASC,GAAgB,CACvB,GAAID,EACF,OAAOA,EAETA,EAAa,CAAA,EACb,QAASrnD,EAAI,EAAGA,EAAI+lD,GAAY,OAAQ/lD,IACtCqnD,EAAW,KAAKF,EAAWpB,GAAY/lD,CAAC,CAAC,CAAC,EAE5C,IAAIunD,EAAS,CAAC,EAAG,GAAI,IAAK,IAAK,IAAK,GAAG,EACvC,QAASz2D,EAAI,EAAGA,EAAI,EAAGA,IACrB,QAASoK,EAAI,EAAGA,EAAI,EAAGA,IACrB,QAASwC,EAAI,EAAGA,EAAI,EAAGA,IACrB2pD,EAAW,KAAKD,EAAS,CAACG,EAAOz2D,CAAC,EAAGy2D,EAAOrsD,CAAC,EAAGqsD,EAAO7pD,CAAC,CAAC,CAAC,CAAC,EAIjE,IAAI8pD,EAAQ,EACZ,QAASxnD,EAAI,EAAGA,EAAI,GAAIA,IAAKwnD,GAAS,GACpCH,EAAW,KAAKD,EAAS,CAACI,EAAOA,EAAOA,CAAK,CAAC,CAAC,EAEjD,OAAOH,CACR,CACD,SAASI,EAAWloB,EAAO,CACzB,OAAO+nB,EAAa,EAAG/nB,CAAK,CAC7B,CACD,SAAS1C,EAAMmJ,EAAO,CACpB,OAAQA,EAAM,KAAI,CAChB,IAAK,QACH,OAAOmhB,EAAWnhB,EAAM,IAAI,EAC9B,IAAK,MACH,OAAOohB,EAASphB,EAAM,GAAG,EAC3B,IAAK,QACH,OAAOyhB,EAAWzhB,EAAM,KAAK,CAChC,CACF,CACD,MAAO,CACL,MAAAnJ,CACJ,CACA,CAEA,SAAS6qB,GAAsBjQ,EAAOkQ,EAAczoB,EAAS,CAC3D,MAAM0oB,EAAoBjF,GAAyBlL,EAAOvY,CAAO,EAC3DsiB,EAAQF,GAAWqG,CAAY,EAC/BE,EAAeZ,GACnB,OAAO,YACLlB,GAAY,IAAKliB,GAAS,OAAA,OACxBA,GACAhkB,EAAA43B,EAAM,SAAN,YAAA53B,EAAe,gBAAgBgkB,EAAK,CAAC,EAAE,YAAa,CAAA,GAAGA,EAAK,UAAU,CAAC,CAAC,GAChF,EAAO,CACF,CACL,EACQikB,EAASlB,KACf,OAAOpF,EAAM,IACVC,GAASqG,EAAO,MAAMrG,EAAK,CAAC,CAAC,EAAE,IAAKpZ,GAAU,CAC7C,IAAIrC,EACA+hB,EACA1f,EAAM,YAAY,IAAI,SAAS,GACjCrC,EAAQqC,EAAM,WAAawf,EAAa,MAAMxf,EAAM,UAAU,EAAIoP,EAAM,GACxEsQ,EAAU1f,EAAM,WAAawf,EAAa,MAAMxf,EAAM,UAAU,EAAIoP,EAAM,KAE1EzR,EAAQqC,EAAM,WAAawf,EAAa,MAAMxf,EAAM,UAAU,EAAIoP,EAAM,GACxEsQ,EAAU1f,EAAM,WAAawf,EAAa,MAAMxf,EAAM,UAAU,EAAI,QAEtErC,EAAQ8c,GAAuB9c,EAAO4hB,CAAiB,EACvDG,EAAUjF,GAAuBiF,EAASH,CAAiB,EACvDvf,EAAM,YAAY,IAAI,KAAK,IAC7BrC,EAAQgiB,GAAShiB,CAAK,GACxB,IAAI1B,EAAYa,GAAU,KAC1B,OAAIkD,EAAM,YAAY,IAAI,MAAM,IAC9B/D,GAAaa,GAAU,MACrBkD,EAAM,YAAY,IAAI,QAAQ,IAChC/D,GAAaa,GAAU,QACrBkD,EAAM,YAAY,IAAI,WAAW,IACnC/D,GAAaa,GAAU,WAClB,CACL,QAASkD,EAAM,MACf,OAAQoZ,EAAK,CAAC,EAEd,MAAAzb,EACA,QAAA+hB,EACA,UAAAzjB,CACR,CACA,CAAK,CACL,CACA,CACA,SAAS0jB,GAAShiB,EAAO,CACvB,MAAMiiB,EAAWjiB,EAAM,MAAM,4CAA4C,EACzE,GAAIiiB,EACF,GAAIA,EAAS,CAAC,EAAG,CACf,MAAMC,EAAQ,KAAK,MAAM,OAAO,SAASD,EAAS,CAAC,EAAG,EAAE,EAAI,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,EAC3F,MAAO,IAAIA,EAAS,CAAC,CAAC,GAAGA,EAAS,CAAC,CAAC,GAAGC,CAAK,EAClD,KAAW,QAAID,EAAS,CAAC,EACZ,IAAIA,EAAS,CAAC,CAAC,GAAGA,EAAS,CAAC,CAAC,KAE7B,IAAI,MAAM,KAAKA,EAAS,CAAC,CAAC,EAAE,IAAKjnD,GAAM,GAAGA,CAAC,GAAGA,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,KAGtE,MAAMmnD,EAAcniB,EAAM,MAAM,+BAA+B,EAC/D,OAAImiB,EACK,OAAOA,EAAY,CAAC,CAAC,QACvBniB,CACT,CAEA,SAASoiB,GAAiBC,EAAU5L,EAAMvd,EAAU,CAAA,EAAI,CACtD,KAAM,CACJ,KAAAyiB,EAAO,OACP,MAAOkB,EAAYwF,EAAS,gBAAe,EAAG,CAAC,CAChD,EAAGnpB,EACJ,GAAIwiB,GAAYC,CAAI,GAAKE,GAAYgB,CAAS,EAC5C,OAAOvB,GAAW7E,CAAI,EAAE,IAAKgF,GAAS,CAAC,CAAE,QAASA,EAAK,CAAC,EAAG,OAAQA,EAAK,CAAC,CAAG,CAAA,CAAC,EAC/E,KAAM,CAAE,MAAAhK,EAAO,SAAAvU,CAAQ,EAAKmlB,EAAS,SAASxF,CAAS,EACvD,GAAIlB,IAAS,OACX,OAAO+F,GAAsBjQ,EAAOgF,EAAMvd,CAAO,EACnD,MAAMopB,EAAWD,EAAS,YAAY1G,CAAI,EAC1C,GAAIziB,EAAQ,aAAc,CACxB,GAAIA,EAAQ,aAAa,OAASopB,EAAS,KACzC,MAAM,IAAIC,GAAa,2BAA2BrpB,EAAQ,aAAa,IAAI,wCAAwCopB,EAAS,IAAI,GAAG,EAErI,GAAI,CAACppB,EAAQ,aAAa,OAAO,SAASuY,EAAM,IAAI,EAClD,MAAM,IAAI8Q,GAAa,yBAAyBrpB,EAAQ,aAAa,MAAM,qCAAqCuY,EAAM,IAAI,GAAG,CAEhI,CACD,OAAO+Q,GAAkB/L,EAAM6L,EAAU7Q,EAAOvU,EAAUhE,CAAO,CACnE,CACA,SAASupB,MAAuB/E,EAAM,CACpC,GAAIA,EAAK,SAAW,EAClB,OAAOF,GAA2BE,EAAK,CAAC,CAAC,EAE3C,KAAM,CAAC2E,EAAU5L,EAAMvd,EAAU,CAAE,CAAA,EAAIwkB,EACjC,CACJ,KAAA/B,EAAO,OACP,MAAOkB,EAAYwF,EAAS,gBAAe,EAAG,CAAC,CAChD,EAAGnpB,EACJ,GAAIwiB,GAAYC,CAAI,GAAKE,GAAYgB,CAAS,EAC5C,MAAM,IAAI0F,GAAa,4CAA4C,EACrE,GAAI5G,IAAS,OACX,MAAM,IAAI4G,GAAa,2CAA2C,EACpE,KAAM,CAAE,MAAA9Q,EAAO,SAAAvU,CAAQ,EAAKmlB,EAAS,SAASxF,CAAS,EACjDyF,EAAWD,EAAS,YAAY1G,CAAI,EAC1C,OAAO,IAAI8B,GACTiF,GAAmBjM,EAAM6L,EAAU7Q,EAAOvU,EAAUhE,CAAO,EAAE,WAC7DopB,EAAS,KACT7Q,EAAM,IACV,CACA,CACA,SAAS+Q,GAAkB/L,EAAMzQ,EAASyL,EAAOvU,EAAUhE,EAAS,CAClE,MAAMlB,EAAS0qB,GAAmBjM,EAAMzQ,EAASyL,EAAOvU,EAAUhE,CAAO,EACnEypB,EAAe,IAAIlF,GACvBiF,GAAmBjM,EAAMzQ,EAASyL,EAAOvU,EAAUhE,CAAO,EAAE,WAC5D8M,EAAQ,KACRyL,EAAM,IACV,EACE,OAAA6L,GAAyBtlB,EAAO,OAAQ2qB,CAAY,EAC7C3qB,EAAO,MAChB,CACA,SAAS0qB,GAAmBjM,EAAMzQ,EAASyL,EAAOvU,EAAUhE,EAAS,CACnE,MAAM0oB,EAAoBjF,GAAyBlL,EAAOvY,CAAO,EAC3D,CACJ,sBAAA0pB,EAAwB,EACxB,kBAAAC,EAAoB,GACrB,EAAG3pB,EACEsiB,EAAQF,GAAW7E,CAAI,EAC7B,IAAIqM,EAAa5pB,EAAQ,aAAe+kB,GAAgB/kB,EAAQ,aAAcuY,EAAM,IAAI,GAAKO,GAAU9Y,EAAQ,oBAAsB,KAAOwpB,GAC1IxpB,EAAQ,mBACR8M,EACAyL,EACAvU,EACA,CACE,GAAGhE,EACH,aAAc,OACd,mBAAoB,MACrB,CACL,EAAI,WAAa8Y,GACX+Q,EAAS,CAAA,EACb,MAAMC,EAAQ,CAAA,EACd,QAAShpD,EAAI,EAAGi+B,EAAMujB,EAAM,OAAQxhD,EAAIi+B,EAAKj+B,IAAK,CAChD,KAAM,CAACyhD,EAAMwH,CAAU,EAAIzH,EAAMxhD,CAAC,EAClC,GAAIyhD,IAAS,GAAI,CACfsH,EAAS,CAAA,EACTC,EAAM,KAAK,CAAA,CAAE,EACb,QACD,CACD,GAAIJ,EAAwB,GAAKnH,EAAK,QAAUmH,EAAuB,CACrEG,EAAS,CAAA,EACTC,EAAM,KAAK,CAAC,CACV,QAASvH,EACT,OAAQwH,EACR,MAAO,GACP,UAAW,CACZ,CAAA,CAAC,EACF,QACD,CACD,IAAIC,EACAC,EACAC,EACAlqB,EAAQ,qBACVgqB,EAAmBld,EAAQ,aAAayV,EAAMqH,CAAU,EACxDK,EAAmBD,EAAiB,OACpCE,EAAwB,GAE1B,MAAMprB,EAASgO,EAAQ,cAAcyV,EAAMqH,EAAYD,CAAiB,EAClEQ,EAAerrB,EAAO,OAAO,OAAS,EAC5C,QAASv8B,EAAI,EAAGA,EAAI4nD,EAAc5nD,IAAK,CACrC,MAAMujD,EAAahnB,EAAO,OAAO,EAAIv8B,CAAC,EAChC6nD,EAAiB7nD,EAAI,EAAI4nD,EAAerrB,EAAO,OAAO,EAAIv8B,EAAI,CAAC,EAAIggD,EAAK,OAC9E,GAAIuD,IAAesE,EACjB,SACF,MAAM/S,EAAWvY,EAAO,OAAO,EAAIv8B,EAAI,CAAC,EAClCukC,EAAQ8c,GACZ5f,EAAS8D,GAAqB,cAAcuP,CAAQ,CAAC,EACrDqR,CACR,EACYtjB,EAAY0C,GAAqB,aAAauP,CAAQ,EACtDlO,EAAQ,CACZ,QAASoZ,EAAK,UAAUuD,EAAYsE,CAAc,EAClD,OAAQL,EAAajE,EACrB,MAAAhf,EACA,UAAA1B,CACR,EACM,GAAIpF,EAAQ,mBAAoB,CAC9B,MAAMqqB,EAAyB,CAAA,EAC/B,GAAIrqB,EAAQ,qBAAuB,YACjC,UAAWsqB,KAAW/R,EAAM,SAAU,CACpC,IAAIgS,GACJ,OAAQ,OAAOD,EAAQ,MAAK,CAC1B,IAAK,SACHC,GAAYD,EAAQ,MAAM,MAAM,GAAG,EAAE,IAAKvkB,IAAUA,GAAM,KAAM,CAAA,EAChE,MACF,IAAK,SACHwkB,GAAYD,EAAQ,MACpB,MACF,QACE,QACH,CACDD,EAAuB,KAAK,CAC1B,SAAUC,EACV,UAAWC,GAAU,IAAKzhB,IAAaA,GAAS,MAAM,GAAG,CAAC,CACxE,CAAa,CACF,CAEHK,EAAM,YAAc,GACpB,IAAI/I,EAAS,EACb,KAAO0lB,EAAa1lB,EAASgqB,GAAgB,CAC3C,MAAMI,EAAkBP,EAAiBC,CAAqB,EACxDO,GAAsBlI,EAAK,UAC/BiI,EAAgB,WAChBA,EAAgB,QAC5B,EACUpqB,GAAUqqB,GAAoB,OAC9BthB,EAAM,YAAY,KAAK,CACrB,QAASshB,GACT,OAAQzqB,EAAQ,qBAAuB,YAAc0qB,GACnDF,EAAgB,MAC9B,EAAgBG,GACFN,EACAG,EAAgB,MACjB,CACb,CAAW,EACDN,GAAyB,CAC1B,CACF,CACDL,EAAO,KAAK1gB,CAAK,CAClB,CACD2gB,EAAM,KAAKD,CAAM,EACjBA,EAAS,CAAA,EACTD,EAAa9qB,EAAO,SACrB,CACD,MAAO,CACL,OAAQgrB,EACR,WAAAF,CACJ,CACA,CACA,SAASc,GAA2BhlB,EAAQ,CAC1C,OAAOA,EAAO,IAAKK,IAAW,CAAE,UAAWA,CAAO,EAAC,CACrD,CACA,SAAS4kB,GAAuBC,EAAgBllB,EAAQ,CACtD,MAAM5G,EAAS,CAAA,EACf,QAASh+B,EAAI,EAAGi+B,EAAM2G,EAAO,OAAQ5kC,EAAIi+B,EAAKj+B,IAAK,CACjD,MAAMilC,EAAQL,EAAO5kC,CAAC,EACtBg+B,EAAOh+B,CAAC,EAAI,CACV,UAAWilC,EACX,aAAc8kB,GAAkBD,EAAgB7kB,EAAOL,EAAO,MAAM,EAAG5kC,CAAC,CAAC,CAC/E,CACG,CACD,OAAOg+B,CACT,CACA,SAASgsB,GAAWhiB,EAAU/C,EAAO,CACnC,OAAO+C,IAAa/C,GAASA,EAAM,UAAU,EAAG+C,EAAS,MAAM,IAAMA,GAAY/C,EAAM+C,EAAS,MAAM,IAAM,GAC9G,CACA,SAASiiB,GAAQR,EAAWxkB,EAAOf,EAAc,CAC/C,GAAI,CAAC8lB,GAAWP,EAAUA,EAAU,OAAS,CAAC,EAAGxkB,CAAK,EACpD,MAAO,GACT,IAAIilB,EAAsBT,EAAU,OAAS,EACzCU,EAAcjmB,EAAa,OAAS,EACxC,KAAOgmB,GAAuB,GAAKC,GAAe,GAC5CH,GAAWP,EAAUS,CAAmB,EAAGhmB,EAAaimB,CAAW,CAAC,IACtED,GAAuB,GACzBC,GAAe,EAEjB,OAAID,IAAwB,EAG9B,CACA,SAASH,GAAkBR,EAAwBtkB,EAAOf,EAAc,CACtE,MAAMlG,EAAS,CAAA,EACf,SAAW,CAAE,UAAAyrB,EAAW,SAAAhlB,CAAQ,IAAM8kB,EACpC,UAAWa,KAAkBX,EAC3B,GAAIQ,GAAQG,EAAgBnlB,EAAOf,CAAY,EAAG,CAChDlG,EAAO,KAAKyG,CAAQ,EACpB,KACD,CAGL,OAAOzG,CACT,CAEA,SAASqsB,GAAuBhC,EAAU5L,EAAMvd,EAAS,CACvD,MAAM0kB,EAAS,OAAO,QAAQ1kB,EAAQ,MAAM,EAAE,OAAQl/B,GAAMA,EAAE,CAAC,CAAC,EAAE,IAAKA,IAAO,CAAE,MAAOA,EAAE,CAAC,EAAG,MAAOA,EAAE,CAAC,CAAC,EAAG,EACrGsqD,EAAe1G,EAAO,IAAKtzD,GAAM,CACrC,MAAMi6D,EAAUnC,GAAiBC,EAAU5L,EAAM,CAC/C,GAAGvd,EACH,MAAO5uC,EAAE,KACf,CAAK,EACKwtD,EAAQ0F,GAA2B+G,CAAO,EAC1C9S,EAAQ,OAAOnnD,EAAE,OAAU,SAAWA,EAAE,MAAQA,EAAE,MAAM,KAC9D,MAAO,CACL,OAAQi6D,EACR,MAAAzM,EACA,MAAArG,CACN,CACA,CAAG,EACK4K,EAASmI,GACb,GAAGF,EAAa,IAAKtqD,GAAMA,EAAE,MAAM,CACvC,EACQyqD,EAAepI,EAAO,CAAC,EAAE,IAC7B,CAACZ,EAAMiJ,IAAYjJ,EAAK,IAAI,CAACkJ,EAAQC,IAAa,CAChD,MAAMC,EAAc,CAClB,QAASF,EAAO,QAChB,SAAU,CAAE,EACZ,OAAQA,EAAO,MACvB,EACM,MAAI,uBAAwBzrB,GAAWA,EAAQ,qBAC7C2rB,EAAY,YAAcF,EAAO,aAEnCtI,EAAO,QAAQ,CAAC/xD,EAAGw6D,IAAa,CAC9B,KAAM,CACJ,QAASxlD,EACT,YAAaylD,EACb,OAAQC,EACR,GAAGhI,CACJ,EAAG1yD,EAAEo6D,CAAO,EAAEE,CAAQ,EACvBC,EAAY,SAASjH,EAAOkH,CAAQ,EAAE,KAAK,EAAI9H,CACvD,CAAO,EACM6H,CACb,CAAK,CACL,EACQI,EAAqBX,EAAa,CAAC,EAAE,MAAQ,IAAI7G,GACrD,OAAO,YAAY6G,EAAa,IAAKz5D,GAAM,OAAA,OAACA,EAAE,OAAOgvB,EAAAhvB,EAAE,QAAF,YAAAgvB,EAAS,iBAAiBhvB,EAAE,MAAM,EAAC,CAAC,EACzFy5D,EAAa,CAAC,EAAE,MAAM,IACvB,EAAG,OACJ,OAAIW,GACF3H,GAAyBmH,EAAcQ,CAAkB,EACpDR,CACT,CACA,SAASD,MAA0B5G,EAAQ,CACzC,MAAMsH,EAAYtH,EAAO,IAAI,IAAM,CAAE,CAAA,EAC/BpkB,EAAQokB,EAAO,OACrB,QAAS5jD,EAAI,EAAGA,EAAI4jD,EAAO,CAAC,EAAE,OAAQ5jD,IAAK,CACzC,MAAMwhD,EAAQoC,EAAO,IAAKtzD,GAAMA,EAAE0P,CAAC,CAAC,EAC9BmrD,EAAWD,EAAU,IAAI,IAAM,CAAE,CAAA,EACvCA,EAAU,QAAQ,CAAC56D,EAAG4gC,IAAO5gC,EAAE,KAAK66D,EAASj6B,CAAE,CAAC,CAAC,EACjD,MAAMk6B,EAAU5J,EAAM,IAAI,IAAM,CAAC,EAC3B5L,EAAU4L,EAAM,IAAK/vD,GAAMA,EAAE,CAAC,CAAC,EACrC,KAAOmkD,EAAQ,MAAOtlD,GAAMA,CAAC,GAAG,CAC9B,MAAM+6D,EAAY,KAAK,IAAI,GAAGzV,EAAQ,IAAKtlD,GAAMA,EAAE,QAAQ,MAAM,CAAC,EAClE,QAASC,EAAI,EAAGA,EAAIivC,EAAOjvC,IAAK,CAC9B,MAAM83C,EAAQuN,EAAQrlD,CAAC,EACnB83C,EAAM,QAAQ,SAAWgjB,GAC3BF,EAAS56D,CAAC,EAAE,KAAK83C,CAAK,EACtB+iB,EAAQ76D,CAAC,GAAK,EACdqlD,EAAQrlD,CAAC,EAAIixD,EAAMjxD,CAAC,EAAE66D,EAAQ76D,CAAC,CAAC,IAEhC46D,EAAS56D,CAAC,EAAE,KAAK,CACf,GAAG83C,EACH,QAASA,EAAM,QAAQ,MAAM,EAAGgjB,CAAS,CACrD,CAAW,EACDzV,EAAQrlD,CAAC,EAAI,CACX,GAAG83C,EACH,QAASA,EAAM,QAAQ,MAAMgjB,CAAS,EACtC,OAAQhjB,EAAM,OAASgjB,CACnC,EAEO,CACF,CACF,CACD,OAAOH,CACT,CAEA,SAASI,GAAajD,EAAU5L,EAAMvd,EAAS,CAC7C,IAAIzqB,EACAN,EACAkuC,EACAQ,EACA9M,EACA4S,EACJ,GAAI,WAAYzpB,EAAS,CACvB,KAAM,CACJ,aAAAqsB,EAAe,QACf,kBAAAC,EAAoB,UACrB,EAAGtsB,EACE0kB,EAAS,OAAO,QAAQ1kB,EAAQ,MAAM,EAAE,OAAQl/B,GAAMA,EAAE,CAAC,CAAC,EAAE,IAAKA,IAAO,CAAE,MAAOA,EAAE,CAAC,EAAG,MAAOA,EAAE,CAAC,GAAI,EAAE,KAAK,CAACpO,EAAG8L,IAAM9L,EAAE,QAAU25D,EAAe,GAAK7tD,EAAE,QAAU6tD,EAAe,EAAI,CAAC,EAC5L,GAAI3H,EAAO,SAAW,EACpB,MAAM,IAAI2E,GAAa,mCAAmC,EAC5D,MAAMkD,EAAcpB,GAClBhC,EACA5L,EACAvd,CACN,EAEI,GADAypB,EAAenF,GAA2BiI,CAAW,EACjDF,GAAgB,CAAC3H,EAAO,KAAMtzD,GAAMA,EAAE,QAAUi7D,CAAY,EAC9D,MAAM,IAAIhD,GAAa,yDAAyDgD,CAAY,IAAI,EAClG,MAAMG,EAAY9H,EAAO,IAAKtzD,GAAM+3D,EAAS,SAAS/3D,EAAE,KAAK,CAAC,EACxDq7D,EAAc/H,EAAO,IAAKtzD,GAAMA,EAAE,KAAK,EAC7C+xD,EAASoJ,EAAY,IAAKhK,GAASA,EAAK,IAAKpZ,GAAUujB,GAAWvjB,EAAOsjB,EAAaH,EAAmBD,CAAY,CAAC,CAAC,EACnH5C,GACFrF,GAAyBjB,EAAQsG,CAAY,EAC/C,MAAMkD,EAAyBjI,EAAO,IAAKtzD,GAAMqyD,GAAyBryD,EAAE,MAAO4uC,CAAO,CAAC,EAC3F/qB,EAAKyvC,EAAO,IAAI,CAACtzD,EAAGwrC,KAASA,IAAQ,GAAKyvB,EAAe,GAAK,GAAGC,EAAoBl7D,EAAE,KAAK,MAAQwyD,GAAuB4I,EAAU5vB,CAAG,EAAE,GAAI+vB,EAAuB/vB,CAAG,CAAC,GAAK,UAAU,EAAE,KAAK,GAAG,EAClMrnB,EAAKmvC,EAAO,IAAI,CAACtzD,EAAGwrC,KAASA,IAAQ,GAAKyvB,EAAe,GAAK,GAAGC,EAAoBl7D,EAAE,KAAK,SAAWwyD,GAAuB4I,EAAU5vB,CAAG,EAAE,GAAI+vB,EAAuB/vB,CAAG,CAAC,GAAK,UAAU,EAAE,KAAK,GAAG,EACrM+mB,EAAY,gBAAgB6I,EAAU,IAAKp7D,GAAMA,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,GAClEylD,EAAYwV,EAAe,OAAS,CAACp3C,EAAIM,CAAE,EAAE,KAAK,GAAG,CACzD,SAAa,UAAWyqB,EAAS,CAC7B,MAAM0oB,EAAoBjF,GAAyBzjB,EAAQ,MAAOA,CAAO,EACzEmjB,EAAS+F,GACPC,EACA5L,EACAvd,CACN,EACI,MAAM4sB,EAASzD,EAAS,SAASnpB,EAAQ,KAAK,EAC9CzqB,EAAKquC,GAAuBgJ,EAAO,GAAIlE,CAAiB,EACxDzzC,EAAK2uC,GAAuBgJ,EAAO,GAAIlE,CAAiB,EACxD/E,EAAYiJ,EAAO,KACnBnD,EAAenF,GAA2BnB,CAAM,CACpD,KACI,OAAM,IAAIkG,GAAa,8DAA8D,EAEvF,MAAO,CACL,OAAAlG,EACA,GAAAluC,EACA,GAAAM,EACA,UAAAouC,EACA,UAAA9M,EACA,aAAA4S,CACJ,CACA,CACA,SAASiD,GAAWG,EAAQC,EAAeR,EAAmBD,EAAc,CAC1E,MAAMljB,EAAQ,CACZ,QAAS0jB,EAAO,QAChB,YAAaA,EAAO,YACpB,OAAQA,EAAO,MACnB,EACQ/I,EAASgJ,EAAc,IAAK17D,GAAMyyD,GAAoBgJ,EAAO,SAASz7D,CAAC,CAAC,CAAC,EACzE27D,EAAY,IAAI,IAAIjJ,EAAO,QAAS1yD,GAAM,OAAO,KAAKA,CAAC,CAAC,CAAC,EACzD47D,EAAe,CAAA,EACrB,OAAAlJ,EAAO,QAAQ,CAACmJ,EAAKrwB,IAAQ,CAC3B,UAAWc,KAAOqvB,EAAW,CAC3B,MAAMpvB,EAAQsvB,EAAIvvB,CAAG,GAAK,UAC1B,GAAId,IAAQ,GAAKyvB,EACfW,EAAatvB,CAAG,EAAIC,MACf,CACL,MAAMuvB,EAAUxvB,IAAQ,QAAU,GAAKA,IAAQ,mBAAqB,MAAQ,IAAIA,CAAG,GAC7EyvB,EAASb,EAAoBQ,EAAclwB,CAAG,GAAKc,IAAQ,QAAU,GAAKwvB,GAChFF,EAAaG,CAAM,EAAIxvB,CACxB,CACF,CACL,CAAG,EACDwL,EAAM,UAAY6jB,EACX7jB,CACT,CAEA,SAASikB,GAAWjE,EAAU5L,EAAMvd,EAASqtB,EAAqB,CAChE,KAAM,CAAE,EACR,QAAArtB,EACA,WAAY,CAACstB,EAAOC,IAAaH,GAAWjE,EAAUmE,EAAOC,CAAQ,EACrE,aAAc,CAACD,EAAOC,IAAanB,GAAajD,EAAUmE,EAAOC,CAAQ,CAC3E,EAAG,SACD,IAAIvjB,EAAQuT,EACZ,UAAWiQ,KAAe5G,GAAgB5mB,CAAO,EAC/CgK,IAAQrpB,EAAA6sC,EAAY,aAAZ,YAAA7sC,EAAwB,KAAK0sC,EAAoBrjB,EAAOhK,KAAYgK,EAC9E,GAAI,CACF,OAAAmZ,EACA,GAAAluC,EACA,GAAAM,EACA,UAAAouC,EACA,UAAA9M,EACA,aAAA4S,CACD,EAAG2C,GAAajD,EAAUnf,EAAOhK,CAAO,EACzC,KAAM,CACJ,iBAAAytB,EAAmB,EACpB,EAAGztB,EACAytB,IAAqB,GACvBtK,EAASuK,GAAsBvK,CAAM,EAC9BsK,IAAqB,UAC5BtK,EAASwK,GAAsBxK,CAAM,GACvC,MAAMyK,EAAgB,CACpB,GAAGP,EACH,IAAI,QAAS,CACX,OAAOrjB,CACR,CACL,EACE,UAAWwjB,KAAe5G,GAAgB5mB,CAAO,EAC/CmjB,IAASv5B,EAAA4jC,EAAY,SAAZ,YAAA5jC,EAAoB,KAAKgkC,EAAezK,KAAWA,EAC9D,OAAO0K,GACL1K,EACA,CACE,GAAGnjB,EACH,GAAA/qB,EACA,GAAAM,EACA,UAAAouC,EACA,UAAA9M,CACD,EACD+W,EACAnE,CACJ,CACA,CACA,SAASoE,GAAa1K,EAAQnjB,EAASqtB,EAAoB5D,EAAenF,GAA2BnB,CAAM,EAAG,WAC5G,MAAM2K,EAAelH,GAAgB5mB,CAAO,EACtCsiB,EAAQ,CAAA,EACR5b,EAAO,CACX,KAAM,OACN,SAAU,CAAE,CAChB,EACQ,CACJ,UAAAqnB,EAAY,UACZ,SAAAC,EAAW,GACZ,EAAGhuB,EACJ,IAAIiuB,EAAU,CACZ,KAAM,UACN,QAAS,MACT,WAAY,CACV,MAAO,SAASjuB,EAAQ,WAAa,EAAE,GACvC,MAAOA,EAAQ,WAAa,oBAAoBA,EAAQ,EAAE,UAAUA,EAAQ,EAAE,GAC9E,GAAGguB,IAAa,IAASA,GAAY,KAAO,CAC1C,SAAUA,EAAS,SAAU,CACrC,EAAU,CAAE,EACN,GAAG,OAAO,YACR,MAAM,KACJ,OAAO,QAAQhuB,EAAQ,MAAQ,CAAA,CAAE,CAC3C,EAAU,OAAO,CAAC,CAACtC,CAAG,IAAM,CAACA,EAAI,WAAW,GAAG,CAAC,CACzC,CACF,EACD,SAAU,CAAE,CAChB,EACMwwB,EAAW,CACb,KAAM,UACN,QAAS,OACT,WAAY,CAAE,EACd,SAAU5L,CACd,EACE,MAAM6L,EAAY,CAAA,EACZ9iB,EAAU,CACd,GAAGgiB,EACH,UAAAU,EACA,eAAAlL,GACA,IAAI,QAAS,CACX,OAAOwK,EAAmB,MAC3B,EACD,IAAI,QAAS,CACX,OAAOlK,CACR,EACD,IAAI,SAAU,CACZ,OAAOnjB,CACR,EACD,IAAI,MAAO,CACT,OAAO0G,CACR,EACD,IAAI,KAAM,CACR,OAAOunB,CACR,EACD,IAAI,MAAO,CACT,OAAOC,CACR,EACD,IAAI,OAAQ,CACV,OAAOC,CACR,CACL,EA4CE,GA3CAhL,EAAO,QAAQ,CAACZ,EAAM3lB,IAAQ,SACxBA,IACEmxB,IAAc,SAChBrnB,EAAK,SAAS,KAAK,CAAE,KAAM,UAAW,QAAS,KAAM,WAAY,CAAE,EAAE,SAAU,CAAA,CAAI,CAAA,EAC5EqnB,IAAc,WACrBzL,EAAM,KAAK,CAAE,KAAM,OAAQ,MAAO;AAAA,CAAI,CAAE,GAE5C,IAAI8L,EAAW,CACb,KAAM,UACN,QAAS,OACT,WAAY,CAAE,MAAO,MAAQ,EAC7B,SAAU,CAAE,CAClB,EACQC,EAAM,EACV,UAAWllB,KAASoZ,EAAM,CACxB,IAAI+L,EAAY,CACd,KAAM,UACN,QAAS,OACT,WAAY,CACV,GAAGnlB,EAAM,SACV,EACD,SAAU,CAAC,CAAE,KAAM,OAAQ,MAAOA,EAAM,QAAS,CACzD,EACiBA,EAAM,UAEjB,MAAMolB,EAAQxK,GAAoB5a,EAAM,WAAa0a,GAAoB1a,CAAK,CAAC,EAC3EolB,IACFD,EAAU,WAAW,MAAQC,GAC/B,UAAWf,KAAeM,EACxBQ,IAAY3tC,EAAA6sC,GAAA,YAAAA,EAAa,OAAb,YAAA7sC,EAAmB,KAAK0qB,EAASijB,EAAW1xB,EAAM,EAAGyxB,EAAKD,EAAUjlB,KAAUmlB,EACxFP,IAAc,SAChBrnB,EAAK,SAAS,KAAK4nB,CAAS,EACrBP,IAAc,WACrBK,EAAS,SAAS,KAAKE,CAAS,EAClCD,GAAOllB,EAAM,QAAQ,MACtB,CACD,GAAI4kB,IAAc,UAAW,CAC3B,UAAWP,KAAeM,EACxBM,IAAWxkC,EAAA4jC,GAAA,YAAAA,EAAa,OAAb,YAAA5jC,EAAmB,KAAKyhB,EAAS+iB,EAAUxxB,EAAM,KAAMwxB,EACpED,EAAU,KAAKC,CAAQ,EACvB9L,EAAM,KAAK8L,CAAQ,CACpB,CACL,CAAG,EACGL,IAAc,UAAW,CAC3B,UAAWP,KAAeM,EACxBI,IAAWvtC,EAAA6sC,GAAA,YAAAA,EAAa,OAAb,YAAA7sC,EAAmB,KAAK0qB,EAAS6iB,KAAaA,EAC3DD,EAAQ,SAAS,KAAKC,CAAQ,EAC9B,UAAWV,KAAeM,EACxBG,IAAUrkC,EAAA4jC,GAAA,YAAAA,EAAa,MAAb,YAAA5jC,EAAkB,KAAKyhB,EAAS4iB,KAAYA,EACxDvnB,EAAK,SAAS,KAAKunB,CAAO,CAC3B,CACD,IAAInvB,EAAS4H,EACb,UAAW8mB,KAAeM,EACxBhvB,IAAS7nC,EAAAu2D,GAAA,YAAAA,EAAa,OAAb,YAAAv2D,EAAmB,KAAKo0C,EAASvM,KAAWA,EACvD,OAAI2qB,GACFrF,GAAyBtlB,EAAQ2qB,CAAY,EACxC3qB,CACT,CACA,SAAS4uB,GAAsBvK,EAAQ,CACrC,OAAOA,EAAO,IAAKZ,GAAS,CAC1B,MAAMiM,EAAU,CAAA,EAChB,IAAIC,EAAiB,GACjBC,EAAc,EAClB,OAAAnM,EAAK,QAAQ,CAACpZ,EAAOvM,IAAQ,CAE3B,MAAM+xB,EAAa,EADCxlB,EAAM,WAAaA,EAAM,UAAYlD,GAAU,WAE/D0oB,GAAcxlB,EAAM,QAAQ,MAAM,OAAO,GAAKoZ,EAAK3lB,EAAM,CAAC,GACvD8xB,IACHA,EAAcvlB,EAAM,QACtBslB,GAAkBtlB,EAAM,SAEpBslB,GACEE,EACFH,EAAQ,KAAK,CACX,GAAGrlB,EACH,OAAQulB,EACR,QAASD,EAAiBtlB,EAAM,OAC9C,CAAa,EAEDqlB,EAAQ,KACN,CACE,QAASC,EACT,OAAQC,CACT,EACDvlB,CACd,EAEUulB,EAAc,EACdD,EAAiB,IAEjBD,EAAQ,KAAKrlB,CAAK,CAG5B,CAAK,EACMqlB,CACX,CAAG,CACH,CACA,SAASb,GAAsBxK,EAAQ,CACrC,OAAOA,EAAO,IAAKZ,GACVA,EAAK,QAASpZ,GAAU,CAC7B,GAAIA,EAAM,QAAQ,MAAM,OAAO,EAC7B,OAAOA,EACT,MAAMrG,EAAQqG,EAAM,QAAQ,MAAM,mBAAmB,EACrD,GAAI,CAACrG,EACH,OAAOqG,EACT,KAAM,CAAG,CAAAylB,EAAS5N,EAAS6N,CAAQ,EAAI/rB,EACvC,GAAI,CAAC8rB,GAAW,CAACC,EACf,OAAO1lB,EACT,MAAM2lB,EAAW,CAAC,CAChB,GAAG3lB,EACH,OAAQA,EAAM,OAASylB,EAAQ,OAC/B,QAAA5N,CACR,CAAO,EACD,OAAI4N,GACFE,EAAS,QAAQ,CACf,QAASF,EACT,OAAQzlB,EAAM,MACxB,CAAS,EAEC0lB,GACFC,EAAS,KAAK,CACZ,QAASD,EACT,OAAQ1lB,EAAM,OAASylB,EAAQ,OAAS5N,EAAQ,MAC1D,CAAS,EAEI8N,CACb,CAAK,CACF,CACH,CAEA,SAASC,GAAW5F,EAAU5L,EAAMvd,EAAS,OAC3C,MAAMqL,EAAU,CACd,KAAM,CAAE,EACR,QAAArL,EACA,WAAY,CAACstB,EAAOC,IAAaH,GAAWjE,EAAUmE,EAAOC,CAAQ,EACrE,aAAc,CAACD,EAAOC,IAAanB,GAAajD,EAAUmE,EAAOC,CAAQ,CAC7E,EACE,IAAIzuB,EAASijB,GAAOqL,GAAWjE,EAAU5L,EAAMvd,EAASqL,CAAO,CAAC,EAChE,UAAWmiB,KAAe5G,GAAgB5mB,CAAO,EAC/ClB,IAASne,EAAA6sC,EAAY,cAAZ,YAAA7sC,EAAyB,KAAK0qB,EAASvM,EAAQkB,KAAYlB,EACtE,OAAOA,CACT,CAEA,MAAMkwB,GAA4B,CAAE,MAAO,UAAW,KAAM,SAAS,EAC/DC,GAA4B,CAAE,MAAO,UAAW,KAAM,SAAS,EAC/DC,GAAe,mBACrB,SAASC,GAAeC,EAAU,eAChC,GAAIA,GAAA,MAAAA,EAAWF,IACb,OAAOE,EACT,MAAM7W,EAAQ,CACZ,GAAG6W,CACP,EACM7W,EAAM,aAAe,CAACA,EAAM,WAC9BA,EAAM,SAAWA,EAAM,YACvB,OAAOA,EAAM,aAEfA,EAAM,OAANA,EAAM,KAAS,QACfA,EAAM,kBAAoB,CAAE,GAAGA,EAAM,iBAAiB,EACtDA,EAAM,WAANA,EAAM,SAAa,IACnB,GAAI,CAAE,GAAAhjC,EAAI,GAAAN,CAAI,EAAGsjC,EACjB,GAAI,CAAChjC,GAAM,CAACN,EAAI,CACd,MAAMo6C,EAAgB9W,EAAM,SAAWA,EAAM,SAAS,KAAM5mD,GAAM,CAACA,EAAE,MAAQ,CAACA,EAAE,KAAK,EAAI,QACrFgvB,EAAA0uC,GAAA,YAAAA,EAAe,WAAf,MAAA1uC,EAAyB,aAC3B1L,EAAKo6C,EAAc,SAAS,aAC1BzlC,EAAAylC,GAAA,YAAAA,EAAe,WAAf,MAAAzlC,EAAyB,aAC3BrU,EAAK85C,EAAc,SAAS,YAC1B,CAACp6C,KAAMhe,EAAAshD,GAAA,YAAAA,EAAO,SAAP,MAAAthD,EAAgB,wBACzBge,EAAKsjC,EAAM,OAAO,mBAAmB,GACnC,CAAChjC,KAAM+5C,EAAA/W,GAAA,YAAAA,EAAO,SAAP,MAAA+W,EAAgB,wBACzB/5C,EAAKgjC,EAAM,OAAO,mBAAmB,GAClCtjC,IACHA,EAAKsjC,EAAM,OAAS,QAAUyW,GAA0B,MAAQA,GAA0B,MACvFz5C,IACHA,EAAKgjC,EAAM,OAAS,QAAU0W,GAA0B,MAAQA,GAA0B,MAC5F1W,EAAM,GAAKtjC,EACXsjC,EAAM,GAAKhjC,CACZ,CACKgjC,EAAM,SAAS,CAAC,GAAKA,EAAM,SAAS,CAAC,EAAE,UAAY,CAACA,EAAM,SAAS,CAAC,EAAE,OAC1EA,EAAM,SAAS,QAAQ,CACrB,SAAU,CACR,WAAYA,EAAM,GAClB,WAAYA,EAAM,EACnB,CACP,CAAK,EAEH,IAAIgX,EAAmB,EACvB,MAAMC,EAAiC,IAAI,IAC3C,SAASC,EAAoB9xB,EAAO,OAClC,GAAI6xB,EAAe,IAAI7xB,CAAK,EAC1B,OAAO6xB,EAAe,IAAI7xB,CAAK,EACjC4xB,GAAoB,EACpB,MAAM/rB,EAAM,IAAI+rB,EAAiB,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,EAAE,YAAW,CAAE,GAC5E,OAAI5uC,EAAA43B,EAAM,oBAAN,MAAA53B,EAA0B,IAAI6iB,CAAG,IAC5BisB,EAAoB9xB,CAAK,GAClC6xB,EAAe,IAAI7xB,EAAO6F,CAAG,EACtBA,EACR,CACD+U,EAAM,SAAWA,EAAM,SAAS,IAAK+R,GAAY,SAC/C,MAAMoF,IAAY/uC,EAAA2pC,EAAQ,WAAR,YAAA3pC,EAAkB,aAAc,CAAC2pC,EAAQ,SAAS,WAAW,WAAW,GAAG,EACvFqF,IAAY/lC,EAAA0gC,EAAQ,WAAR,YAAA1gC,EAAkB,aAAc,CAAC0gC,EAAQ,SAAS,WAAW,WAAW,GAAG,EAC7F,GAAI,CAACoF,GAAa,CAACC,EACjB,OAAOrF,EACT,MAAMxoB,EAAQ,CACZ,GAAGwoB,EACH,SAAU,CACR,GAAGA,EAAQ,QACZ,CACP,EACI,GAAIoF,EAAW,CACb,MAAME,EAAcH,EAAoBnF,EAAQ,SAAS,UAAU,EACnE/R,EAAM,kBAAkBqX,CAAW,EAAItF,EAAQ,SAAS,WACxDxoB,EAAM,SAAS,WAAa8tB,CAC7B,CACD,GAAID,EAAW,CACb,MAAMC,EAAcH,EAAoBnF,EAAQ,SAAS,UAAU,EACnE/R,EAAM,kBAAkBqX,CAAW,EAAItF,EAAQ,SAAS,WACxDxoB,EAAM,SAAS,WAAa8tB,CAC7B,CACD,OAAO9tB,CACX,CAAG,EACD,UAAWpE,KAAO,OAAO,KAAK6a,EAAM,QAAU,CAAA,CAAE,EAC9C,IAAI7a,IAAQ,qBAAuBA,IAAQ,qBAAuBA,EAAI,WAAW,eAAe,IAC1F,GAAClpC,EAAA+jD,EAAM,OAAO7a,CAAG,IAAhB,MAAAlpC,EAAmB,WAAW,MAAM,CACvC,MAAMo7D,EAAcH,EAAoBlX,EAAM,OAAO7a,CAAG,CAAC,EACzD6a,EAAM,kBAAkBqX,CAAW,EAAIrX,EAAM,OAAO7a,CAAG,EACvD6a,EAAM,OAAO7a,CAAG,EAAIkyB,CACrB,CAGL,cAAO,eAAerX,EAAO2W,GAAc,CACzC,WAAY,GACZ,SAAU,GACV,MAAO,EACX,CAAG,EACM3W,CACT,CAEA,eAAesX,GAAaC,EAAO,CACjC,OAAO,MAAM,KAAK,IAAI,KAAK,MAAM,QAAQ,IACvCA,EAAM,OAAQv9D,GAAM,CAACmwD,GAAcnwD,CAAC,CAAC,EAAE,IAAI,MAAOkwD,GAAS,MAAMe,GAAgBf,CAAI,EAAE,KAAM7wD,GAAM,MAAM,QAAQA,CAAC,EAAIA,EAAI,CAACA,CAAC,CAAC,CAAC,CAClI,GAAK,KAAM,CAAA,CAAC,CACZ,CACA,eAAem+D,GAAcrL,EAAQ,CAMnC,OALiB,MAAM,QAAQ,IAC7BA,EAAO,IACL,MAAOnM,GAAUqK,GAAerK,CAAK,EAAI,KAAO4W,GAAe,MAAM3L,GAAgBjL,CAAK,CAAC,CAC5F,CACL,GACkB,OAAQz3C,GAAM,CAAC,CAACA,CAAC,CACnC,CAEA,MAAM43C,WAAiBsX,EAAW,CAChC,YAAYC,EAAWC,EAASC,EAAQC,EAAS,CAAA,EAAI,CACnD,MAAMH,CAAS,EAQjBryB,EAAA,uBAAkC,IAAI,KACtCA,EAAA,yBAAoC,IAAI,KACxCA,EAAA,gBAA2B,IAAI,KAC/BA,EAAA,kBAA6B,IAAI,KACjCA,EAAA,2BAAsC,IAAI,SAC1CA,EAAA,0BAAqB,MACrBA,EAAA,6BAAwB,MAbtB,KAAK,UAAYqyB,EACjB,KAAK,QAAUC,EACf,KAAK,OAASC,EACd,KAAK,OAASC,EACd,KAAK,QAAQ,IAAKh/D,GAAM,KAAK,UAAUA,CAAC,CAAC,EACzC,KAAK,cAAc,KAAK,MAAM,CAC/B,CAQD,SAASmnD,EAAO,CACd,OAAI,OAAOA,GAAU,SACZ,KAAK,gBAAgB,IAAIA,CAAK,EAE9B,KAAK,UAAUA,CAAK,CAC9B,CACD,UAAUA,EAAO,CACf,MAAMqU,EAASuC,GAAe5W,CAAK,EACnC,OAAIqU,EAAO,OACT,KAAK,gBAAgB,IAAIA,EAAO,KAAMA,CAAM,EAC5C,KAAK,mBAAqB,MAErBA,CACR,CACD,iBAAkB,CAChB,OAAK,KAAK,qBACR,KAAK,mBAAqB,CAAC,GAAG,KAAK,gBAAgB,KAAI,CAAE,GACpD,KAAK,kBACb,CAMD,SAASrU,EAAO,CACd,IAAI8X,EAAgB,KAAK,oBAAoB,IAAI9X,CAAK,EACjD8X,IACHA,EAAgB1sB,GAAM,mBAAmB4U,CAAK,EAC9C,KAAK,oBAAoB,IAAIA,EAAO8X,CAAa,GAEnD,KAAK,cAAc,SAASA,CAAa,CAC1C,CACD,WAAW1rB,EAAM,CACf,GAAI,KAAK,OAAOA,CAAI,EAAG,CACrB,MAAM2rB,EAA2B,IAAI,IAAI,CAAC3rB,CAAI,CAAC,EAC/C,KAAO,KAAK,OAAOA,CAAI,GAAG,CAExB,GADAA,EAAO,KAAK,OAAOA,CAAI,EACnB2rB,EAAS,IAAI3rB,CAAI,EACnB,MAAM,IAAI3G,GAAW,oBAAoB,MAAM,KAAKsyB,CAAQ,EAAE,KAAK,MAAM,CAAC,OAAO3rB,CAAI,IAAI,EAC3F2rB,EAAS,IAAI3rB,CAAI,CAClB,CACF,CACD,OAAO,KAAK,kBAAkB,IAAIA,CAAI,CACvC,CACD,aAAa8d,EAAM,aACjB,GAAI,KAAK,WAAWA,EAAK,IAAI,EAC3B,OACF,MAAM8N,EAAmB,IAAI,IAC3B,CAAC,GAAG,KAAK,SAAS,OAAM,CAAE,EAAE,OAAQzvD,GAAC,OAAK,OAAA6f,EAAA7f,EAAE,oBAAF,YAAA6f,EAAqB,SAAS8hC,EAAK,MAAK,CACxF,EACI,KAAK,UAAU,YAAYA,CAAI,EAC/B,MAAM+N,EAAgB,CACpB,yBAA0B/N,EAAK,0BAA4B,CAAC,GAAG,EAC/D,2BAA4BA,EAAK,4BAA8B,CAAE,CACvE,EACI,KAAK,cAAc,aAAa,IAAIA,EAAK,UAAWA,CAAI,EACxD,MAAMzmD,EAAI,KAAK,6BAA6BymD,EAAK,UAAW,EAAG+N,CAAa,EAS5E,GARAx0D,EAAE,KAAOymD,EAAK,KACd,KAAK,kBAAkB,IAAIA,EAAK,KAAMzmD,CAAC,EACnCymD,EAAK,SACPA,EAAK,QAAQ,QAASgO,GAAU,CAC9B,KAAK,OAAOA,CAAK,EAAIhO,EAAK,IAClC,CAAO,EAEH,KAAK,sBAAwB,KACzB8N,EAAiB,KACnB,UAAWp/D,KAAKo/D,EACd,KAAK,kBAAkB,OAAOp/D,EAAE,IAAI,EACpC,KAAK,sBAAwB,MAC7By4B,GAAAjJ,EAAA,KAAK,gBAAL,YAAAA,EAAoB,qBAApB,MAAAiJ,EAAwC,OAAOz4B,EAAE,YACjDm+D,GAAAr4D,EAAA,KAAK,gBAAL,YAAAA,EAAoB,YAApB,MAAAq4D,EAA+B,OAAOn+D,EAAE,WACxC,KAAK,aAAa,KAAK,SAAS,IAAIA,EAAE,IAAI,CAAC,CAGhD,CACD,SAAU,CACR,MAAM,QAAO,EACb,KAAK,gBAAgB,QACrB,KAAK,kBAAkB,QACvB,KAAK,SAAS,QACd,KAAK,WAAW,QAChB,KAAK,mBAAqB,IAC3B,CACD,cAAc2+D,EAAO,CACnB,UAAWrN,KAAQqN,EACjB,KAAK,yBAAyBrN,CAAI,EACpC,MAAMiO,EAAkB,MAAM,KAAK,KAAK,WAAW,QAAO,CAAE,EACtDC,EAAeD,EAAgB,OAAO,CAAC,CAACtqD,EAAGq8C,CAAI,IAAM,CAACA,CAAI,EAChE,GAAIkO,EAAa,OAAQ,CACvB,MAAMC,EAAaF,EAAgB,OAAO,CAAC,CAACtqD,EAAGq8C,CAAI,WAAM,OAAAA,KAAQ9hC,EAAA8hC,EAAK,gBAAL,YAAA9hC,EAAoB,KAAMpuB,GAAMo+D,EAAa,IAAI,CAAC,CAAChsB,CAAI,IAAMA,CAAI,EAAE,SAASpyC,CAAC,IAAE,EAAE,OAAQkwD,GAAS,CAACkO,EAAa,SAASlO,CAAI,CAAC,EAC/L,MAAM,IAAIzkB,GAAW,qBAAqB2yB,EAAa,IAAI,CAAC,CAAChsB,CAAI,IAAM,KAAKA,CAAI,IAAI,EAAE,KAAK,IAAI,CAAC,iBAAiBisB,EAAW,IAAI,CAAC,CAACjsB,CAAI,IAAM,KAAKA,CAAI,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,CACxK,CACD,SAAW,CAACv+B,EAAGq8C,CAAI,IAAKiO,EACtB,KAAK,UAAU,YAAYjO,CAAI,EACjC,SAAW,CAACr8C,EAAGq8C,CAAI,IAAKiO,EACtB,KAAK,aAAajO,CAAI,CACzB,CACD,oBAAqB,CACnB,OAAK,KAAK,wBACR,KAAK,sBAAwB,CAC3B,GAAmB,IAAI,IAAI,CAAC,GAAG,KAAK,kBAAkB,OAAQ,GAAG,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAClG,GAEW,KAAK,qBACb,CACD,yBAAyBA,EAAM,CAG7B,GAFA,KAAK,SAAS,IAAIA,EAAK,KAAMA,CAAI,EACjC,KAAK,WAAW,IAAIA,EAAK,KAAMA,CAAI,EAC/BA,EAAK,cACP,UAAWoO,KAAgBpO,EAAK,cAC9B,KAAK,WAAW,IAAIoO,EAAc,KAAK,SAAS,IAAIA,CAAY,CAAC,CAEtE,CACH,CAEA,MAAMC,EAAS,CAKb,YAAYC,EAAQjB,EAAO,CAJ3BlyB,EAAA,cAAyB,IAAI,KAC7BA,EAAA,oBAA+B,IAAI,KACnCA,EAAA,mBAA8B,IAAI,KAClCA,EAAA,iBAEE,KAAK,SAAW,CACd,kBAAoB2B,GAAawxB,EAAO,cAAcxxB,CAAQ,EAC9D,iBAAmB5tC,GAAMo/D,EAAO,aAAap/D,CAAC,CACpD,EACIm+D,EAAM,QAAShvD,GAAM,KAAK,YAAYA,CAAC,CAAC,CACzC,CACD,IAAI,SAAU,CACZ,OAAO,KAAK,QACb,CACD,oBAAoBkwD,EAAe,CACjC,OAAO,KAAK,OAAO,IAAIA,CAAa,CACrC,CACD,YAAYjtB,EAAW,CACrB,OAAO,KAAK,aAAa,IAAIA,CAAS,CACvC,CACD,YAAYxxC,EAAG,CACb,KAAK,OAAO,IAAIA,EAAE,KAAMA,CAAC,EACrBA,EAAE,SACJA,EAAE,QAAQ,QAASG,GAAM,CACvB,KAAK,OAAO,IAAIA,EAAGH,CAAC,CAC5B,CAAO,EAEH,KAAK,aAAa,IAAIA,EAAE,UAAWA,CAAC,EAChCA,EAAE,UACJA,EAAE,SAAS,QAASuO,GAAM,CACnB,KAAK,YAAY,IAAIA,CAAC,GACzB,KAAK,YAAY,IAAIA,EAAG,CAAE,CAAA,EAC5B,KAAK,YAAY,IAAIA,CAAC,EAAE,KAAKvO,EAAE,SAAS,CAChD,CAAO,CAEJ,CACD,cAAcwxC,EAAW,CACvB,MAAMktB,EAAaltB,EAAU,MAAM,GAAG,EACtC,IAAIoH,EAAa,CAAA,EACjB,QAASrqC,EAAI,EAAGA,GAAKmwD,EAAW,OAAQnwD,IAAK,CAC3C,MAAMowD,EAAeD,EAAW,MAAM,EAAGnwD,CAAC,EAAE,KAAK,GAAG,EACpDqqC,EAAa,CAAC,GAAGA,EAAY,GAAG,KAAK,YAAY,IAAI+lB,CAAY,GAAK,CAAA,CAAE,CACzE,CACD,OAAO/lB,CACR,CACH,CAEA,IAAIgmB,GAAiB,EACrB,SAASC,GAAwBpxB,EAAS,CACxCmxB,IAAkB,EACdnxB,EAAQ,WAAa,IAASmxB,IAAkB,IAAMA,GAAiB,KAAO,GAChF,QAAQ,KAAK,WAAWA,EAAc,8MAA8M,EACtP,IAAIE,EAAa,GACjB,GAAI,CAACrxB,EAAQ,OACX,MAAM,IAAIhC,GAAW,kDAAkD,EACzE,MAAM8xB,GAAS9vB,EAAQ,OAAS,CAAA,GAAI,KAAK,CAAC,EACpC0kB,GAAU1kB,EAAQ,QAAU,CAAA,GAAI,KAAK,CAAC,EAAE,IAAImvB,EAAc,EAC1DmC,EAAW,IAAIR,GAAS9wB,EAAQ,OAAQ8vB,CAAK,EAC7CyB,EAAY,IAAI7Y,GAAS4Y,EAAU5M,EAAQoL,EAAO9vB,EAAQ,SAAS,EACzE,IAAIwxB,EACJ,SAASC,EAAY9sB,EAAM,CACzB+sB,IACA,MAAMC,EAAQJ,EAAU,WAAW,OAAO5sB,GAAS,SAAWA,EAAOA,EAAK,IAAI,EAC9E,GAAI,CAACgtB,EACH,MAAM,IAAI3zB,GAAW,cAAc2G,CAAI,6CAA6C,EACtF,OAAOgtB,CACR,CACD,SAASC,EAASjtB,EAAM,CACtB,GAAIA,IAAS,OACX,MAAO,CAAE,GAAI,GAAI,GAAI,GAAI,KAAM,OAAQ,SAAU,CAAA,EAAI,KAAM,MAAM,EACnE+sB,IACA,MAAM9E,EAAS2E,EAAU,SAAS5sB,CAAI,EACtC,GAAI,CAACioB,EACH,MAAM,IAAI5uB,GAAW,WAAW2G,CAAI,6CAA6C,EACnF,OAAOioB,CACR,CACD,SAASiF,EAASltB,EAAM,CACtB+sB,IACA,MAAMnZ,EAAQqZ,EAASjtB,CAAI,EACvB6sB,IAAe7sB,IACjB4sB,EAAU,SAAShZ,CAAK,EACxBiZ,EAAa7sB,GAEf,MAAMX,EAAWutB,EAAU,cAC3B,MAAO,CACL,MAAAhZ,EACA,SAAAvU,CACN,CACG,CACD,SAAS8tB,GAAkB,CACzB,OAAAJ,IACOH,EAAU,iBAClB,CACD,SAASQ,GAAqB,CAC5B,OAAAL,IACOH,EAAU,oBAClB,CACD,SAASS,KAAoBC,EAAQ,CACnCP,IACAH,EAAU,cAAcU,EAAO,KAAK,CAAC,CAAC,CACvC,CACD,eAAeC,KAAgBD,EAAQ,CACrC,OAAOD,EAAiB,MAAMnC,GAAaoC,CAAM,CAAC,CACnD,CACD,SAASE,KAAiBC,EAAS,CACjCV,IACA,UAAWnZ,KAAS6Z,EAAQ,KAAK,CAAC,EAChCb,EAAU,UAAUhZ,CAAK,CAE5B,CACD,eAAe8Z,KAAaD,EAAS,CACnC,OAAAV,IACOS,EAAc,MAAMpC,GAAcqC,CAAO,CAAC,CAClD,CACD,SAASV,GAAoB,CAC3B,GAAIL,EACF,MAAM,IAAIrzB,GAAW,kCAAkC,CAC1D,CACD,SAASs0B,GAAU,CACbjB,IAEJA,EAAa,GACbE,EAAU,QAAO,EACjBJ,IAAkB,EACnB,CACD,MAAO,CACL,SAAAU,EACA,SAAAD,EACA,YAAAH,EACA,gBAAAK,EACA,mBAAAC,EACA,aAAAG,EACA,iBAAAF,EACA,UAAAK,EACA,cAAAF,EACA,QAAAG,EACA,CAAC,OAAO,OAAO,EAAGA,CACtB,CACA,CAEA,eAAeC,GAAoBvyB,EAAU,GAAI,CAC3CA,EAAQ,SAGZ,KAAM,CACJ0kB,EACAoL,EACAiB,CACJ,EAAM,MAAM,QAAQ,IAAI,CACpBhB,GAAc/vB,EAAQ,QAAU,EAAE,EAClC6vB,GAAa7vB,EAAQ,OAAS,EAAE,EAChCA,EAAQ,QAAUwyB,GAAwBxyB,EAAQ,UAAY4B,GAAoB,CAAE,CACxF,CAAG,EACD,OAAOwvB,GAAwB,CAC7B,GAAGpxB,EACH,SAAU,OACV,OAAA0kB,EACA,MAAAoL,EACA,OAAAiB,CACJ,CAAG,CACH,CAMA,eAAe0B,GAAsBzyB,EAAU,GAAI,CACjD,MAAMmpB,EAAW,MAAMoJ,GAAoBvyB,CAAO,EAClD,MAAO,CACL,oBAAqB,IAAIwkB,IAAS+E,GAAoBJ,EAAU,GAAG3E,CAAI,EACvE,iBAAkB,CAACjH,EAAMmV,IAAaxJ,GAAiBC,EAAU5L,EAAMmV,CAAQ,EAC/E,uBAAwB,CAACnV,EAAMmV,IAAavH,GAAuBhC,EAAU5L,EAAMmV,CAAQ,EAC3F,aAAc,CAACnV,EAAMmV,IAAatG,GAAajD,EAAU5L,EAAMmV,CAAQ,EACvE,WAAY,CAACnV,EAAMmV,IAAatF,GAAWjE,EAAU5L,EAAMmV,CAAQ,EACnE,WAAY,CAACnV,EAAMmV,IAAa3D,GAAW5F,EAAU5L,EAAMmV,CAAQ,EACnE,GAAGvJ,EACH,mBAAoB,IAAMA,CAC9B,CACA,CAoCA,SAASwJ,GAAmB3yB,EAAU,GAAI,CAExC,OAAOyyB,GAAsBzyB,CAAO,CACtC,CA6IA,SAAS4yB,GAAwB5yB,EAAU,GAAI,OAC7C,KAAM,CACJ,KAAA2E,EAAO,gBACP,eAAAkuB,EAAiB,WACjB,UAAAztB,EAAY,EACb,EAAGpF,EACE8yB,EAAYC,GAAU,OAC1B,OAAIpyC,EAAAqf,EAAQ,mBAAR,MAAArf,EAA2BoyC,GACtB,OAAOF,CAAc,GAAGE,CAAK,KAAK/yB,EAAQ,iBAAiB+yB,CAAK,CAAC,IACnE,OAAOF,CAAc,GAAGE,CAAK,GACxC,EACQxa,EAAQ,CACZ,KAAA5T,EACA,KAAM,OACN,OAAQ,CACN,oBAAqBmuB,EAAS,YAAY,EAC1C,oBAAqBA,EAAS,YAAY,EAC1C,qBAAsBA,EAAS,YAAY,EAC3C,mBAAoBA,EAAS,UAAU,EACvC,qBAAsBA,EAAS,YAAY,EAC3C,sBAAuBA,EAAS,aAAa,EAC7C,oBAAqBA,EAAS,WAAW,EACzC,uBAAwBA,EAAS,cAAc,EAC/C,oBAAqBA,EAAS,WAAW,EACzC,qBAAsBA,EAAS,YAAY,EAC3C,2BAA4BA,EAAS,mBAAmB,EACxD,yBAA0BA,EAAS,iBAAiB,EACpD,2BAA4BA,EAAS,mBAAmB,EACxD,4BAA6BA,EAAS,oBAAoB,EAC1D,0BAA2BA,EAAS,kBAAkB,EACtD,6BAA8BA,EAAS,qBAAqB,EAC5D,0BAA2BA,EAAS,kBAAkB,EACtD,2BAA4BA,EAAS,mBAAmB,CACzD,EACD,YAAa,CACX,CACE,MAAO,CACL,4BACA,6CACA,2BACA,wCACD,EACD,SAAU,CACR,WAAYA,EAAS,YAAY,CAClC,CACF,EACD,CACE,MAAO,WACP,SAAU,CACR,UAAW,QACZ,CACF,EACD,CACE,MAAO,CAAC,SAAU,0BAA2B,sBAAsB,EACnE,SAAU,CACR,UAAW,MACZ,CACF,EACD,CACE,MAAO,CAAC,wBAAwB,EAChC,SAAU,CACR,UAAW,QACZ,CACF,EACD,CACE,MAAO,4BACP,SAAU,CACR,UAAW,YACX,WAAYA,EAAS,YAAY,CAClC,CACF,EACD,CACE,MAAO,CAAC,SAAU,qBAAsB,eAAe,EACvD,SAAU,CACR,WAAYA,EAAS,cAAc,CACpC,CACF,EACD,CACE,MAAO,CAAC,UAAW,+BAA+B,EAClD,SAAU,CACR,WAAYA,EAAS,eAAe,CACrC,CACF,EACD,CACE,MAAO,CACL,mBACA,oBACA,6BACA,wCACA,yBACA,wBACA,uBACA,0BACA,qBACA,sBACA,SACD,EACD,SAAU,CACR,WAAYA,EAAS,gBAAgB,CACtC,CACF,EACD,CACE,MAAO,CACL,UACA,mBACA,eACA,0BACA,+BACA,uBACA,wBACA,kCACA,kCACA,4CACD,EACD,SAAU,CACR,WAAYA,EAAS,eAAe,CACrC,CACF,EACD,CACE,MAAO,8BACP,SAAU,CACR,WAAYA,EAAS,iBAAiB,CACvC,CACF,EACD,CACE,MAAO,CACL,mBACA,mBACA,+BACA,qBACA,4BACA,8BACA,uBACA,0BACD,EACD,SAAU,CACR,WAAYA,EAAS,gBAAgB,CACtC,CACF,EACD,CACE,MAAO,CACL,kBACA,gBACA,gBACA,sBACA,kBACA,iCACA,wBACD,EACD,SAAU,CACR,WAAYA,EAAS,yBAAyB,CAC/C,CACF,EACD,CACE,MAAO,CACL,mCACA,8BACA,wBACA,8BACD,EACD,SAAU,CACR,WAAYA,EAAS,mBAAmB,CACzC,CACF,EACD,CAEE,MAAO,CACL,wBACA,0CACD,EACD,SAAU,CACR,WAAYA,EAAS,YAAY,CAClC,CACF,EACD,CAEE,MAAO,CAAC,gDAAgD,EACxD,SAAU,CACR,WAAYA,EAAS,cAAc,CACpC,CACF,EACD,CAEE,MAAO,CACL,+CACA,6CACA,mCACA,wCACD,EACD,SAAU,CACR,WAAYA,EAAS,eAAe,CACrC,CACF,EACD,CAEE,MAAO,CACL,kBACA,2BACA,iCACD,EACD,SAAU,CACR,WAAYA,EAAS,gBAAgB,CACtC,CACF,EACD,CACE,MAAO,CACL,iBACA,6BACA,gCACD,EACD,SAAU,CACR,WAAYA,EAAS,eAAe,CACrC,CACF,EACD,CACE,MAAO,CACL,iBACA,gCACD,EACD,SAAU,CACR,WAAYA,EAAS,eAAe,CACrC,CACF,CACF,CACL,EACE,OAAK1tB,IACHmT,EAAM,aAAc53B,EAAA43B,EAAM,cAAN,YAAA53B,EAAmB,IAAKqyC,GAAe,OACzD,OAAIryC,EAAAqyC,EAAW,WAAX,MAAAryC,EAAqB,WACvB,OAAOqyC,EAAW,SAAS,UACtBA,CACb,IAESza,CACT,CCxlEA,SAAS0a,GAAiCtuB,EAAMsF,EAAOipB,EAASC,EAAmB,GAAO,CACxF,MAAO,CACL,KAAAxuB,EACA,KAAK4Y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","x_google_ignoreList":[0,1,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,59,60,61,71,72,73,127,132,133,134,135,136,137,138,139,140,141,142,143]}